2008-11-07 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-07  Dan Williams  <dcbw@redhat.com>
2
3         * libnm-util/nm-setting-wireless.c
4                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
5                         that cased this function to return garbage, breaking hidden AP
6                         detection
7
8 2008-11-07  Dan Williams  <dcbw@redhat.com>
9
10         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
11
12         * src/NetworkManagerSystem.c
13           src/NetworkManagerSystem.h
14                 - (nm_system_device_set_ip4_route): return the route that was added
15                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
16                         public, clean up, and return the route that was added
17                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
18                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
19                         flags to allow only certain attributes of the NMIP4Config to be
20                         applied
21
22         * src/nm-device.c
23                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
24                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
25                         what's really changed between the old and new configs; don't export
26                         the new IP4 config on failure; always send the DNS info to the
27                         named manager
28
29         * src/vpn-manager/nm-vpn-connection.c
30                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
31                         parent device's IP4Config and re-add the VPN gateway route when it
32                         changes
33                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
34                         nm_system_apply_ip4_config() no longer does) and cache it for later
35                 - (connection_state_changed): move cleanup code to its own function
36                 - (vpn_cleanup): delete any previously added VPN gateway route; and
37                         re-apply the parent device's addresses and routes using
38                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
39
40 2008-11-07  Dan Williams  <dcbw@redhat.com>
41
42         * src/nm-ip4-config.c
43           src/nm-ip4-config.h
44                 - (nm_ip4_config_diff): new function; return the difference between two
45                         IP4 configs
46                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
47
48 2008-11-05  Dan Williams  <dcbw@redhat.com>
49
50         * nm-ip4-config.c
51           nm-ip4-config.h
52                 - (nm_ip4_config_compare): compare two IP4 configs
53
54 2008-11-05  Dan Williams  <dcbw@redhat.com>
55
56         * src/NetworkManagerPolicy.c
57                 - (update_etc_hosts): only add newline if not the last line of the file
58                         (Jonathan Miner)
59
60 2008-11-05  Dan Williams  <dcbw@redhat.com>
61
62         * src/dhcp-manager/nm-dhcp-dhclient.c
63                 - (get_leasefile_for_iface): move lease files back to where dhclient
64                         puts them
65
66 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
67
68         * initscripts/Debian/NetworkManager
69                 - Update to what Debian is actually using
70
71 2008-11-05  Tambet Ingo  <tambet@gmail.com>
72
73         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
74
75 2008-11-03  Dan Williams  <dcbw@redhat.com>
76
77         * system-settings/src/main.c
78                 - (add_default_dhcp_connection): make the fallback connection read-only
79
80         * libnm-glib/nm-settings.c
81           libnm-glib/nm-settings.h
82                 - Add detailed errors
83                 - (impl_exported_connection_update, impl_exported_connection_delete):
84                         return an error if the connection is read-only
85
86         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
87           system-settings/plugins/keyfile/nm-keyfile-connection.c
88           system-settings/src/main.c
89                 - Use more detailed errors
90
91         * system-settings/src/nm-system-config-error.c
92           system-settings/src/nm-system-config-error.h
93           system-settings/src/dbus-settings.c
94                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
95                         NM_SETTINGS_ERROR_INVALID_CONNECTION
96
97 2008-11-02  Dan Williams  <dcbw@redhat.com>
98
99         * Add license headers to everything in src/
100
101 2008-11-02  Dan Williams  <dcbw@redhat.com>
102
103         * Tag 0.7.0-rc1
104
105 2008-11-02  Dan Williams  <dcbw@redhat.com>
106
107         * src/NetworkManagerAP.c
108                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
109                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
110                         secrets when connecting to an encrypted network failed
111
112 2008-10-30  Dan Williams  <dcbw@redhat.com>
113
114         * libnm-util/libnm-util.ver
115           libnm-util/nm-setting-ip6-config.c
116           libnm-util/nm-setting-ip6-config.h
117           libnm-util/Makefile.am
118                 - Make properties private and add accessor functions
119                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
120
121         * libnm-util/nm-connection.c
122           libnm-util/nm-utils.c
123           libnm-util/nm-utils.h
124                 - Ignore IPv6 stuff for now
125
126 2008-10-30  Dan Williams  <dcbw@redhat.com>
127
128         * libnm-util/libnm-util.ver
129           libnm-util/nm-setting-8021x.c
130           libnm-util/nm-setting-8021x.h
131                 - Make properties private and add accessor functions
132
133         * src/supplicant-manager/nm-supplicant-config.c
134           system-settings/plugins/ifcfg-suse/parser.c
135                 - Use 802.1x setting accessors
136
137 2008-10-30  Dan Williams  <dcbw@redhat.com>
138
139         * libnm-util/libnm-util.ver
140           libnm-util/nm-setting-wireless-security.c
141           libnm-util/nm-setting-wireless-security.h
142                 - Make properties private and add accessor functions
143
144         * libnm-util/nm-setting-wireless.c
145           src/NetworkManagerAP.c
146           src/nm-device-wifi.c
147           src/supplicant-manager/nm-supplicant-config.c
148           system-settings/plugins/ifcfg-fedora/reader.c
149           system-settings/plugins/ifcfg-suse/parser.c
150                 - Use wireless security accessors
151
152 2008-10-30  Dan Williams  <dcbw@redhat.com>
153
154         * src/nm-device-ethernet.c
155           src/nm-device-wifi.c
156           src/nm-device.c
157           src/ppp-manager/nm-ppp-manager.c
158                 - Harmonize return checking of ioctl
159
160         * system-settings/plugins/ifcfg-fedora/reader.c
161                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
162
163 2008-10-30  Dan Williams  <dcbw@redhat.com>
164
165         * src/ppp-manager/nm-ppp-manager.c
166                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
167                         ppp_generic module to create it (bgo #533064)
168
169 2008-10-30  Dan Williams  <dcbw@redhat.com>
170
171         Patch from Alexander Sack <asac@canonical.com>
172
173         Fix "ppp connections don't honour ip4 connection settings"
174
175         * src/nm-device-ethernet.c
176                 - (real_act_stage4_get_ip4_config): merge ip4config settings
177                         with results from ppp manager
178
179         * src/nm-serial-device.c
180                 - (real_act_stage4_get_ip4_config): merge ip4config settings
181                         with results from ppp manager
182
183 2008-10-29  Dan Williams  <dcbw@redhat.com>
184
185         * libnm-util/libnm-util.ver
186           libnm-util/nm-setting-ip4-config.c
187           libnm-util/nm-setting-ip4-config.h
188                 - Make properties private and add accessor functions
189
190         * callouts/nm-dispatcher-action.c
191           libnm-glib/libnm-glib-test.c
192           libnm-util/nm-utils.c
193           src/NetworkManagerPolicy.c
194           src/NetworkManagerSystem.c
195           src/NetworkManagerUtils.c
196           src/dhcp-manager/nm-dhcp-dhclient.c
197           src/dhcp-manager/nm-dhcp-manager.c
198           src/dnsmasq-manager/nm-dnsmasq-manager.c
199           src/nm-device-wifi.c
200           src/nm-device.c
201           src/nm-hso-gsm-device.c
202           src/nm-ip4-config.c
203           src/nm-ip4-config.h
204           src/ppp-manager/nm-ppp-manager.c
205           src/vpn-manager/nm-vpn-connection.c
206           system-settings/plugins/ifcfg-fedora/reader.c
207           system-settings/plugins/ifcfg-suse/parser.c
208           system-settings/plugins/ifcfg-suse/plugin.c
209           system-settings/plugins/ifupdown/parser.c
210           test/nm-tool.c
211           vpn-daemons/vpnc/properties/nm-vpnc.c
212                 - Use IP4 accessor functions
213
214 2008-10-29  Tambet Ingo  <tambet@gmail.com>
215
216         Half of it by Dan Williams <dcbw@redhat.com>
217
218         * libnm-util/libnm-util.ver
219         libnm-util/nm-setting-vpn.c
220         libnm-util/nm-setting-vpn.h
221                 - Make properties private and add accessor functions.
222
223         * src/vpn-manager/nm-vpn-connection.c
224         src/vpn-manager/nm-vpn-manager.c
225         system-settings/plugins/keyfile/reader.c
226         vpn-daemons/openvpn/properties/auth-helpers.c
227         vpn-daemons/openvpn/properties/import-export.c
228         vpn-daemons/openvpn/properties/nm-openvpn.c
229         vpn-daemons/openvpn/src/nm-openvpn-service.c
230         vpn-daemons/pptp/auth-dialog/main.c
231         vpn-daemons/pptp/properties/advanced-dialog.c
232         vpn-daemons/pptp/properties/nm-pptp.c
233         vpn-daemons/pptp/src/nm-pptp-service.c
234         vpn-daemons/vpnc/properties/nm-vpnc.c
235         vpn-daemons/vpnc/src/nm-vpnc-service.c
236                 - Use VPN setting accessors.
237
238 2008-10-28  Dan Williams  <dcbw@redhat.com>
239
240         Patch from Tambet Ingo <tambet@gmail.com>
241
242         * libnm-util/libnm-util.ver
243           libnm-util/nm-setting-wireless.c
244           libnm-util/nm-setting-wireless.h
245                 - Make properties private and add accessor functions
246
247         * src/NetworkManagerAP.c
248           src/nm-device-wifi.c
249           src/nm-manager.c
250           src/supplicant-manager/nm-supplicant-config.c
251           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
252           system-settings/plugins/ifcfg-fedora/reader.c
253           system-settings/plugins/ifcfg-suse/parser.c
254           system-settings/plugins/ifupdown/parser.c
255                 - Use wireless setting accessors
256
257 2008-10-27  Dan Williams  <dcbw@redhat.com>
258
259         Patch from Tambet Ingo <tambet@gmail.com>
260
261         * libnm-util/libnm-util.ver
262           libnm-util/nm-setting-ppp.c
263           libnm-util/nm-setting-ppp.h
264                 - Make properties private and add accessor functions
265
266         * src/ppp-manager/nm-ppp-manager.c
267                 - Use ppp setting accessors
268
269 2008-10-27  Dan Williams  <dcbw@redhat.com>
270
271         Patch from Tambet Ingo <tambet@gmail.com>
272
273         * libnm-util/nm-setting.h
274           libnm-util/nm-setting.c
275                 - Make properties private and add accessor functions
276
277         * libnm-util/nm-connection.c
278           libnm-util/nm-setting-8021x.c
279           libnm-util/nm-setting-cdma.c
280           libnm-util/nm-setting-connection.c
281           libnm-util/nm-setting-gsm.c
282           libnm-util/nm-setting-ip4-config.c
283           libnm-util/nm-setting-ip6-config.c
284           libnm-util/nm-setting-ppp.c
285           libnm-util/nm-setting-pppoe.c
286           libnm-util/nm-setting-serial.c
287           libnm-util/nm-setting-template.c
288           libnm-util/nm-setting-vpn.c
289           libnm-util/nm-setting-wired.c
290           libnm-util/nm-setting-wireless-security.c
291           libnm-util/nm-setting-wireless.c
292           system-settings/plugins/keyfile/reader.c
293           system-settings/plugins/keyfile/writer.c
294                 - Use setting accessors
295
296 2008-10-27  Dan Williams  <dcbw@redhat.com>
297
298         * libnm-util/libnm-util.ver
299           libnm-util/nm-setting-connection.c
300           libnm-util/nm-setting-connection.h
301                 - Add a 'read-only' property that indicates the connection cannot be
302                         modified
303
304         * system-settings/plugins/ifcfg-fedora/reader.c
305           system-settings/plugins/ifcfg-suse/parser.c
306           system-settings/plugins/ifupdown/parser.c
307                 - These plugins are read-only at the moment
308
309         * system-settings/plugins/keyfile/reader.c
310           system-settings/plugins/keyfile/writer.c
311                 - Read-only shouldn't get saved out to files or read in from them
312
313 2008-10-27  Tambet Ingo  <tambet@gmail.com>
314
315         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
316         correct speed reporting for fast devices (kernel >= 2.6.27).
317
318 2008-10-26  Dan Williams  <dcbw@redhat.com>
319
320         Attempt to compensate for modems that don't enable full AT parsing before
321         the PIN has been entered.
322
323         * src/nm-gsm-device.c
324                 - (init_modem): accept different init strings
325                 - (init_done): try different init strings on failure
326                 - (check_pin_done): on PIN success, do full modem init
327
328 2008-10-26  Dan Williams  <dcbw@redhat.com>
329
330         Patch from Tambet Ingo <tambet@gmail.com>
331
332         * libnm-util/libnm-util.ver
333           libnm-util/nm-setting-connection.c
334           libnm-util/nm-setting-connection.h
335                 - Make properties private and add accessor functions
336
337         * src/NetworkManagerPolicy.c
338           src/nm-cdma-device.c
339           src/nm-device-ethernet.c
340           src/nm-device-interface.c
341           src/nm-device-wifi.c
342           src/nm-gsm-device.c
343           src/nm-manager.c
344           src/ppp-manager/nm-ppp-manager.c
345           src/vpn-manager/nm-vpn-connection.c
346           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
347           system-settings/plugins/ifcfg-fedora/plugin.c
348           system-settings/plugins/ifcfg-fedora/reader.c
349           system-settings/plugins/ifcfg-suse/parser.c
350           system-settings/plugins/ifupdown/parser.c
351           system-settings/plugins/keyfile/nm-keyfile-connection.c
352           system-settings/plugins/keyfile/plugin.c
353           system-settings/plugins/keyfile/writer.c
354           system-settings/src/main.c
355                 - Use those accessors
356
357 2008-10-26  Dan Williams  <dcbw@redhat.com>
358
359         Patch from Tambet Ingo <tambet@gmail.com>
360
361         * libnm-util/libnm-util.ver
362           libnm-util/nm-setting-gsm.c
363           libnm-util/nm-setting-gsm.h
364                 - Make properties private and add accessor functions
365
366         * src/nm-gsm-device.c
367           src/nm-hso-gsm-device.c
368           src/ppp-manager/nm-ppp-manager.c
369                 - Use those accessors
370
371 2008-10-26  Dan Williams  <dcbw@redhat.com>
372
373         Patch from Tambet Ingo <tambet@gmail.com>
374
375         * libnm-util/libnm-util.ver
376           libnm-util/nm-setting-cdma.c
377           libnm-util/nm-setting-cdma.h
378                 - Make properties private and add accessor functions
379
380         * src/nm-cdma-device.c
381           src/ppp-manager/nm-ppp-manager.c
382                 - Use those accessors
383
384 2008-10-26  Dan Williams  <dcbw@redhat.com>
385
386         Patch from Tambet Ingo <tambet@gmail.com>
387
388         * libnm-util/libnm-util.ver
389           libnm-util/nm-setting-pppoe.c
390           libnm-util/nm-setting-pppoe.h
391                 - Make properties private and add accessor functions
392
393         * src/nm-device-ethernet.c
394           src/ppp-manager/nm-ppp-manager.c
395                 - Use those accessors
396
397 2008-10-26  Dan Williams  <dcbw@redhat.com>
398
399         Patch from Tambet Ingo <tambet@gmail.com>
400
401         * libnm-util/libnm-util.ver
402           libnm-util/nm-setting-wired.c
403           libnm-util/nm-setting-wired.h
404                 - Make properties private and add accessor functions
405
406         * src/nm-device-ethernet.c
407           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
408           system-settings/plugins/ifcfg-suse/parser.c
409           system-settings/src/main.c
410                 - Use those accessors
411
412 2008-10-26  Dan Williams  <dcbw@redhat.com>
413
414         Patch from Tambet Ingo <tambet@gmail.com>
415
416         * libnm-util/libnm-util.ver
417           libnm-util/nm-setting-serial.c
418           libnm-util/nm-setting-serial.h
419           src/nm-serial-device.c
420                 - Make properties private and use accessors instead
421
422 2008-10-26  Dan Williams  <dcbw@redhat.com>
423
424         * src/supplicant-manager/nm-supplicant-interface.c
425           src/supplicant-manager/nm-supplicant-interface.h
426           src/supplicant-manager/nm-supplicant-manager.c
427           src/supplicant-manager/nm-supplicant-manager.h
428                 - Add state-to-string conversion functions
429
430         * src/nm-device-wifi.c
431           src/nm-device-ethernet.c
432                 - Normalize state info logging and use strings instead of numbers
433
434 2008-10-26  Dan Williams  <dcbw@redhat.com>
435
436         * src/NetworkManagerPolicy.c
437                 - (update_routing_and_dns): ignore host routes when determining whether
438                         a VPN connection should own the default route (bgo #552594)
439
440 2008-10-24  Dan Williams  <dcbw@redhat.com>
441
442         * src/nm-gsm-device.c
443                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
444
445 2008-10-23  Dan Williams  <dcbw@redhat.com>
446
447         * src/ppp-manager/nm-ppp-manager.c
448                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
449                         add really important stuff to the command line to ensure that NM
450                         overrides /etc/ppp/options (bgo #556781)
451
452 2008-10-22  Dan Williams  <dcbw@redhat.com>
453
454         * src/NetworkManagerSystem.c
455           src/nm-device.c
456                 - Use the device's IP interface where appropriate (Per Hallsmark)
457
458 2008-10-22  Dan Williams  <dcbw@redhat.com>
459
460         * src/nm-gsm-device.c
461                 - (schedule_automatic_registration_again): use a short timeout here
462                         instead of an idle handler to avoid using too much CPU polling for
463                         something we should be waiting a bit for anyway
464
465 2008-10-22  Dan Williams  <dcbw@redhat.com>
466
467         * include/NetworkManager.h
468           introspection/nm-device.xml
469                 - Add device state change reason for carrier changes
470
471         * src/nm-device-ethernet.c
472                 - (set_carrier): use the carrier change reason when changing device
473                         state in response to carrier changes
474
475 2008-10-21  Dan Williams  <dcbw@redhat.com>
476
477         * src/NetworkManagerPolicy.c
478                 - (update_etc_hosts): don't leak errors, and ensure that
479                         g_file_set_contents() gets a valid error placeholder (rh #461933)
480
481 2008-10-21  Dan Williams  <dcbw@redhat.com>
482
483         * src/nm-manager.c
484                 - (free_get_settings_info): don't use the DBusGProxy which could be
485                         disposed of by the time the function is called
486                 - (internal_new_connection_cb): save connection scope
487                 - (connection_get_settings_cb): don't replace a connection unless it's
488                         actually different from the existing one; fixes an issue where
489                         killing the settings service wouldn't deactivate an active connection
490                         provided by that settings service, because it was using a connection
491                         that had already been replaced in the system or user hash
492
493 2008-10-21  Dan Williams  <dcbw@redhat.com>
494
495         * src/NetworkManager.c
496                 - (main): keep the DHCP manager around since it's a singleton; fixes
497                         a use-after-free exposed by r4196 since the DHCP manager singleton
498                         variable isn't cleared when the DHCP manager object is finalized
499
500 2008-10-20  Dan Williams  <dcbw@redhat.com>
501
502         * libnm-util/nm-setting-wireless-security.c
503                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
504
505 2008-10-20  Dan Williams  <dcbw@redhat.com>
506
507         * src/supplicant-manager/nm-supplicant-config.c
508                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
509
510 2008-10-20  Dan Williams  <dcbw@redhat.com>
511
512         * src/dhcp-manager/nm-dhcp-manager.c
513                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
514                         manager object already refs it once
515                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
516                         also get cleaned up by nm_dhcp_device_destroy() to prevent
517                         double-frees
518
519 2008-10-20  Dan Williams  <dcbw@redhat.com>
520
521         * src/nm-manager.c
522                 - (initial_get_connections): use private dbus manager, don't keep
523                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
524                         manager object.
525
526 2008-10-18  Dan Williams  <dcbw@redhat.com>
527
528         * libnm-glib/nm-settings.c
529           libnm-glib/nm-settings.h
530                 - Rename the "get_secrets" virtual function "service_get_secrets" to
531                         clarify when it's used; NMExportedConnetion is a base-class for both
532                         the client and service side, which is sort of confusing, and
533                         get_secrets only makes sense on the service side.
534
535         * libnm-glib/nm-dbus-connection.c
536                 - (get_secrets): remove, unused, and clients need to do extra work to
537                         get secrets anyway since the call can block on the remote side
538
539         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
540           system-settings/plugins/keyfile/nm-keyfile-connection.c
541                 - Fix up for get_secrets -> service_get_secrets
542
543 2008-10-16  Dan Williams  <dcbw@redhat.com>
544
545         * src/nm-device-wifi.c
546                 - (constructor): correctly determine encryption capabilities
547
548 2008-10-15  Dan Williams  <dcbw@redhat.com>
549
550         * src/nm-device-wifi.c
551                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
552                         (Johannes Berg)
553
554 2008-10-15  Dan Williams  <dcbw@redhat.com>
555
556         * src/NetworkManagerSystem.c
557                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
558                         if the ip4_dest is in a smaller subnet contained within a subnet
559                         the machine is currently on, the destination is in the same subnet
560                 - (nm_system_device_set_ip4_route): move subnet checks to callers
561                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
562                         subnet as the parent device, and if so, don't add the direct
563                         host route via the parent device's gateway (bgo #481620)
564                 - (nm_system_apply_ip4_config): check whether the route to be added
565                         is contained within a subnet the device is already on
566
567 2008-10-11  Dan Williams  <dcbw@redhat.com>
568
569         * include/NetworkManager.h
570           introspection/nm-device.xml
571           include/NetworkManagerVPN.h
572                 - Add a few more state reasons for the device deactivated state
573
574         * src/nm-device-interface.c
575           src/nm-device-interface.h
576                 - (nm_device_interface_deactivate): add a 'reason' argument
577
578         * src/nm-device.c
579           src/nm-device.h
580                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
581                 - (nm_device_state_changed): pass the state change reason to
582                         nm_device_take_down()
583                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
584                         to the state change function
585
586         * src/nm-manager.c
587           src/nm-manager.h
588                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
589                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
590                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
591                         something reasonable along to VPN deactivation
592
593         * src/vpn-manager/nm-vpn-manager.c
594           src/vpn-manager/nm-vpn-manager.h
595                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
596                         pass that along to nm_vpn_connection_disconnect()
597
598 2008-10-11  Dan Williams  <dcbw@redhat.com>
599
600         * src/nm-device-wifi.c
601                 - (can_scan): remove old madwifi hack for not scanning while connected
602
603 2008-10-11  Dan Williams  <dcbw@redhat.com>
604
605         Add support for VPN subnet gateways (bgo #549196)
606
607         * include/NetworkManager.h
608                 - Add key for internal VPN subnet gateway
609
610         * src/vpn-manager/nm-vpn-connection.c
611                 - (ip_address_to_string): return a const from a static buffer so we
612                         don't leak a lot of strings
613                 - (print_vpn_config): print internal VPN gateway as well
614                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
615                         VPN service too
616                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
617
618         * src/NetworkManagerSystem.c
619           src/NetworkManagerSystem.h
620                 - (nm_system_device_replace_default_ip4_route): split into two, one for
621                         VPN connections and one for normal devices
622                 - (replace_default_ip4_route): break out route stuff into its own function
623                 - (nm_system_replace_default_ip4_route_vpn,
624                    nm_system_replace_default_ip4_route): simplify by having two cases,
625                         one for VPNs and one for normal devices
626
627         * src/NetworkManagerPolicy.c
628                 - (update_routing_and_dns): simplify, use split default route replacement
629                         functions
630
631 2008-10-10  Dan Williams  <dcbw@redhat.com>
632
633         Rework default route handling to consolidate decisions in the policy,
634         and to take active VPN connections into account when changing the default
635         route (bgo #545912)
636
637         * src/NetworkManager.c
638                 - (main): pass the vpn_manager to the policy so it knows about active
639                         VPN connections; clean up the named manager which wasn't done before
640
641         * src/NetworkManagerPolicy.c
642           src/NetworkManagerPolicy.h
643                 - (nm_policy_new): get a clue about the vpn_manager
644                 - (update_default_route): remove, fold into update_routing_and_dns()
645                 - (update_routing_and_dns): handle active VPN connections too; an
646                         active VPN connection becomes the default route if it does not have
647                         server-specified or user-specified custom routes.  Otherwise, the
648                         best active device gets the default route
649                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
650                    nm_policy_destroy): track VPN connection activation and deactivation
651                         and update the default route when appropriate
652
653         * src/NetworkManagerSystem.c
654           src/NetworkManagerSystem.h
655                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
656                         in the VPN connection itself
657                 - (nm_system_vpn_device_set_from_ip4_config,
658                    nm_system_device_set_from_ip4_config): merge together to make
659                         nm_system_apply_ip4_config()
660                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
661                         via the parent device
662                 - (nm_system_apply_ip4_config): simplify
663                 - (add_ip4_route_to_gateway): new function; add a direct route to the
664                         gateway if needed
665                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
666                         route stuff out into add_ip4_route_to_gateway() for clarity
667
668         * src/nm-device.c
669                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
670
671         * src/vpn-manager/nm-vpn-connection.c
672           src/vpn-manager/nm-vpn-connection.h
673                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
674                    nm_vpn_connection_get_parent_device): add
675                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
676                         device explicit
677                 - (connection_state_changed): update the named manager now that
678                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
679                         useful on errors
680
681         * src/vpn-manager/nm-vpn-manager.c
682           src/vpn-manager/nm-vpn-manager.h
683                 - Add a 'connection-activated' signal
684                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
685                         policy to find out about active VPN connections
686
687 2008-10-10  Tambet Ingo  <tambet@gmail.com>
688
689         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
690         a daemon to prevent NM logging spew on console on startup and shutdown (due
691         to dependency loop between NM and syslog).
692
693 2008-10-10  Alexander Sack  <asac@ubuntu.com>
694
695         Implement managed mode. We bind devices configured in /etc/network/interfaces
696         to their connections by updating wired/wireless setting with the
697         mac address of the device.
698
699         * system-settings/plugins/ifupdown/plugin.c
700                 - (get_net_address_for_udi): implement function to retrieve MAC
701                         address of udi from hal in GByteArray format
702                 - (bind_device_to_connection): bind mac address of device to
703                         wired/wireless system connection
704                 - (hal_device_added_cb): call bind_device_to_connection for
705                         system connections with a matching interface.name
706                 - (hal_device_added_cb): ensure that all code paths
707                         properly free the "iface" string.
708
709 2008-10-10  Alexander Sack  <asac@ubuntu.com>
710
711         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
712         mode of the ifupdown system config plugin.
713
714         * system-settings/plugins/ifupdown/plugin.c
715                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
716                         private unmanage_well_known state field accordingly
717
718 2008-10-10  Alexander Sack  <asac@ubuntu.com>
719
720         Implement unmanaged mode that will prevent all devices in the
721         well_known_udis set from being touched by NetworkManager
722
723         * system-settings/plugins/ifupdown/plugin.c
724                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
725                         unmanage_well_known field used to turn on/off unmanaged
726                         mode
727                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
728                         signal when well_known_udis get added/removed
729                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
730                         if we are in unmanaged mode
731
732 2008-10-10  Alexander Sack  <asac@ubuntu.com>
733
734         Add support to track network devices that have a configuration
735         with a matching interface.name in /etc/network/interfaces
736
737         * system-settings/plugins/ifupdown/plugin.c
738                 - (typedef struct SCPluginIfupdownPrivate): add hash table
739                         to track |well_known_udis|
740                 - (get_iface_for_udi): helper function to get interface.name
741                         for a udi
742                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
743                         that add and remove devices to and from the well_known_udis
744                         set depending on whether their |interface.name| matches
745                         any interface definition in /etc/network/interfaces
746                 - (SCPluginIfupdown_init): connect callbacks from above with
747                         hal_mgr and setup well_known_udis hashtable
748                 - (GObject__dispose): destroy well_known_udis hashtable
749                 - (hal_device_added_cb2): implement wrapper callback with GFunc
750                         signature. user_data is supposed to be a triple (hal_mgr,
751                         config and devtype)
752                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
753                         startup and call hal_device_added_cb2
754
755 2008-10-10  Alexander Sack  <asac@ubuntu.com>
756
757         Remove implementation for not used NMSystemConfigInterface callback functions
758         in ifupdown plugin
759
760         * system-settings/plugins/ifupdown/plugin.c
761                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
762                 - (SCPluginIfupdown_connection_added): removed
763
764 2008-10-08  Dan Williams  <dcbw@redhat.com>
765
766         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
767
768         * src/NetworkManagerUtils.c
769                 - (nm_utils_call_dispatcher): add a 'hostname' action
770
771         * src/NetworkManagerPolicy.c
772                 - (set_system_hostname): dispatch hostname changes
773
774         * callouts/nm-dispatcher-action.c
775                 - (nm_dispatcher_action): handle 'hostname' actions
776
777 2008-10-08  Dan Williams  <dcbw@redhat.com>
778
779         * src/NetworkManagerSystem.c
780                 - (find_route): ref the route so it doesn't get destroyed when the cache
781                         is cleared
782                 - (nm_system_device_set_priority): unref the route here after it's done
783                         being used
784
785 2008-10-08  Dan Williams  <dcbw@redhat.com>
786
787         * src/nm-serial-device.c
788                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
789
790 2008-10-08  Tambet Ingo  <tambet@gmail.com>
791
792         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
793         connection with new settings before saving it.
794
795 2008-10-06  Dan Williams  <dcbw@redhat.com>
796
797         * src/nm-ip4-config.c
798           src/nm-ip4-config.h
799                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
800
801         * src/nm-device-interface.c
802                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
803                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
804                         by using '/' for the object path
805
806         * src/nm-device.c
807                 - (src/nm-device.c): marshal missing/unexported ip4-config through
808                         dbus as '/' since dbus-glib can't handle NULL objects nor can
809                         dbus handle NULL object paths
810
811 2008-10-03  Alexander Sack  <asac@ubuntu.com>
812
813         Implement system hostname support for debian/ubuntu
814
815         * system-settings/plugins/ifupdown/plugin.c
816                 - (GObject__get_property): extend announced capabilities; add
817                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
818                 - (GObject__set_property,write_system_hostname): implement
819                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
820                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
821                    update_system_hostname, get_hostname):
822                         implement hostname property that watches and
823                         parses /etc/hostname
824
825 2008-10-03  Alexander Sack  <asac@ubuntu.com>
826
827         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
828           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
829           system-settings/plugins/ifcfg-fedora/Makefile.am
830           system-settings/src/nm-inotify-helper.c
831           system-settings/src/nm-inotify-helper.h
832           src/Makefile.am
833                 - Move ifcfg-fedora inotify helpers to the system settings service so
834                         they are available to all plugins
835
836 2008-10-03  Alexander Sack  <asac@ubuntu.com>
837
838         Implement support for wep-tx-keyidx in ifupdown system
839         config plugin.
840
841         * system-settings/plugins/ifupdown/parser.c
842                 - (update_wireless_security_setting_from_if_block): introduce
843                         free_type_mapping func table; rename a few local
844                         variables to improve readability; add wpa security mapping
845                         for wep-tx-keyidx property
846                 - (string_to_gpointerint): new function used for the auto_type_mapping
847                         of new wep-tx-keyidx property
848                 - (slist_free_all): free func used for mapped slist types
849
850 2008-10-03  Alexander Sack  <asac@ubuntu.com>
851
852         * system-settings/src/main.c:
853                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
854                         always used as the hash key; fixes a crash when removing wired
855                         devices
856
857 2008-10-02  Dan Williams  <dcbw@redhat.com>
858
859         * src/nm-gsm-device.c
860                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
861                         pass the required GSM secret along via user_data rather than keeping
862                         it around in the private data where it sometimes didn't get cleared
863                 - (real_get_ppp_name): implement using the GSM username
864
865 2008-10-02  Dan Williams  <dcbw@redhat.com>
866
867         * src/ppp-manager/nm-ppp-manager.c
868           src/ppp-manager/nm-ppp-manager.h
869                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
870                         the settings daemon for completely new ones
871                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
872                         local PPP peer name; allow PPP debuging by launching NM with
873                         the environment variable NM_PPP_DEBUG defined
874                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
875                         create_pppd_cmd_line()
876
877         * src/nm-serial-device.c
878           src/nm-serial-device.h
879                 - New 'get_ppp_name' function for subclasses to implement to return the
880                         local PPP peer name
881                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
882                         and pass that name to the PPP manager
883
884         * src/nm-device-ethernet.c
885                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
886                         the local peer name
887
888         * src/nm-cdma-device.c
889                 - (real_get_ppp_name): implement using the CDMA username
890
891 2008-10-02  Dan Williams  <dcbw@redhat.com>
892
893         Patch from Alexander Sack <asac ubuntu com>
894
895         * system-settings/plugins/ifupdown/parser.c
896                 - Implement more graceful ip4 config parsing for cases where
897                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
898                   by using default values
899
900 2008-10-02  Dan Williams  <dcbw@redhat.com>
901
902         * src/NetworkManagerPolicy.c
903                 - (device_state_changed): when marking a connection invalid, clear its
904                         secrets too so that fresh secrets get requested the next time
905
906 2008-10-01  Dan Williams  <dcbw@redhat.com>
907
908         * system-settings/src/dbus-settings.c
909                 - (nm_sysconfig_settings_init): cache system hostname on startup as
910                         a fallback if no plugin provides a hostname
911                 - (get_property): fall back to cached hostname if no plugin provides
912                         a hostname
913
914 2008-10-01  Dan Williams  <dcbw@redhat.com>
915
916         Fix setting value comparison issue that caused some settings to look the
917         same when they were really different (rh #464417)
918
919         * libnm-util/nm-param-spec-specialized.c
920                 - (type_is_fixed_size): return fundamental size of the fixed type too
921                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
922                         in the comparison so that the _entire_ fixed type collection gets
923                         compared rather than just the first 'len1' bytes
924
925 2008-09-30  Dan Williams  <dcbw@redhat.com>
926
927         * src/NetworkManagerPolicy.c
928                 - (lookup_thread_worker): don't store the idle handler ID becuase the
929                         idle handler could have already run and freed the LookupThread
930                         structure
931
932 2008-09-30  Tambet Ingo  <tambet@gmail.com>
933
934         * src/nm-device.c (nm_device_get_priority): Implement.
935         (nm_device_set_ip4_config): Send the device priority to system ip4 
936         config setter.
937
938         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
939         Add priority argument and if it's >= 0, set the priority of the network
940         route added automatically by netlink (or kernel?).
941         (nm_system_device_set_priority): Implement.
942
943         * src/NetworkManagerPolicy.c (get_best_device): Use 
944         nm_device_get_priority() instead of home-grown version. Revert the
945         meaning, best priority is the lowest one.
946
947 2008-09-29  Dan Williams  <dcbw@redhat.com>
948
949         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
950         when it returns EAGAIN (rh #362421)
951
952         * src/nm-device-wifi.c
953                 - (wireless_get_range): try GIWRANGE a few times until the card responds
954                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
955
956 2008-09-28  Dan Williams  <dcbw@redhat.com>
957
958         * src/nm-serial-device.c
959           src/nm-serial-device.h
960                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
961                         cleaned at the right times when subclasses close the serial port too
962                 - (nm_serial_device_send_command): use a default send delay; don't
963                         spin forever on EAGAIN
964                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
965                         remove, no longer used
966                 - (find_response): return the matched response if any
967                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
968                         while doing so
969                 - (wait_for_reply_done): pass the matched response to the callback
970                 - (wait_for_reply_got_data): save the matched response; simplify timeout
971                         handling
972                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
973                         const since they never get modified
974                 - (cleanup_device): split out common cleanup stuff to a new function
975                 - (real_deactivate_quickly, finalize): use cleanup_device()
976
977         * src/nm-gsm-device.c
978                 - (modem_get_reply): remove, unused
979                 - (set_apn): give the card a bit more time to respond
980                 - (manual_registration_again, schedule_manual_registration_again,
981                    manual_registration_response, manual_registration): handle manual
982                         registration timeouts better by retrying registration a few times
983                         because cards are a bit slow after CFUN=1
984                 - (automatic_registration_get_network, get_network_response): use
985                         modem_wait_for_reply() because it interacts better with the serial
986                         buffer and does more intelligent matching; need to wait for 'OK'
987                         rather than just matching terminators
988                 - (schedule_automatic_registration_again,
989                    automatic_registration_response, automatic_registration): retry
990                         registration a few times on timeout or "searching" because cards
991                         take a bit to find a network after being powered up with CFUN=1
992                 - (power_up_response, power_up, init_full_done, enter_pin,
993                    check_pin_done): power up the card with CFUN=1 before trying to
994                         register with the network
995                 - (init_modem_full, init_modem): use more standard 3G init strings
996
997         * src/nm-hso-gsm-device.c
998                 - (modem_get_reply): remove, unused
999                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1000                         modem_wait_for_reply() to match actual responses instead of single
1001                         termination characters; it doesn't leave stuff in the serial buffer
1002                         that might confuse later calls
1003                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1004                         to ensure that the call is really disconnected and not leave extra
1005                         stuff in the serial buffer
1006
1007         * src/nm-cdma-device.c
1008                 - (power_up_response, power_up, init_done): try Sierra-style modem
1009                         power up before attempting to connect
1010
1011 2008-09-27  Dan Williams  <dcbw@redhat.com>
1012
1013         * libnm-util/nm-setting-gsm.c
1014                 - (verify): verify GSM network ID
1015
1016 2008-09-25  Dan Williams  <dcbw@redhat.com>
1017
1018         * libnm-util/nm-setting-gsm.c
1019           libnm-util/nm-setting-gsm.h
1020                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1021                         technology terms (bgo #551361)
1022
1023 2008-09-25  Dan Williams  <dcbw@redhat.com>
1024
1025         Fix bgo #549401 (inspired by patch from Alexander Sack)
1026
1027         * src/nm-device-ethernet.c
1028                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1029                 - (remove_supplicant_interface_error_handler): remove the supplicant
1030                         error idle callback too
1031                 - (supplicant_interface_release): rename from supplicant_interface_clean
1032                         to match nm-device-wifi.c; clean up supplicant interface-related
1033                         state tasks when the supplicant interface is disposed of
1034                 - (schedule_state_handler): add scheduled tasks to a list so they can
1035                         be cleaned up later
1036                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1037                    supplicant_iface_connection_state_cb_handler): use
1038                         finish_supplicant_task() to clean up each completed task
1039                 - (supplicant_iface_connection_error_cb_handler,
1040                    supplicant_connection_timeout_cb): clear source id when the task is
1041                         complete
1042                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1043                         later cleanup
1044                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1045                         tasks
1046
1047         * src/nm-device-wifi.c
1048                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1049                 - (remove_supplicant_interface_error_handler): remove the supplicant
1050                         error idle callback too
1051                 - (supplicant_interface_release): clean up supplicant interface-related
1052                         state tasks when the supplicant interface is disposed of
1053                 - (schedule_state_handler): add scheduled tasks to a list so they can
1054                         be cleaned up later
1055                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1056                    supplicant_iface_connection_state_cb_handler): use
1057                         finish_supplicant_task() to clean up each completed task
1058                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1059                         the task is complete
1060                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1061                         later cleanup
1062                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1063
1064 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1065
1066         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1067         method and get/set hostname property.
1068
1069 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1070
1071         * src/supplicant-manager/nm-supplicant-interface.c
1072         (nm_supplicant_interface_disconnect): Don't increment the reference 
1073         count when disconnecting. The problem is on shutdown, when the replies
1074         to these commands do not arrive before NM exits, resulting on never
1075         calling supplicant interface's dispose(), which removes the interface
1076         from supplicant.
1077
1078 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1079
1080         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1081         all the public function arguments.
1082
1083 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1084
1085         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1086         "Failure" signal from VPN plugins, store the failure reason, and
1087         use it when the state is changed to failure.
1088
1089         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1090         description.
1091
1092         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1093         reason to the end of the list to not break the API.
1094         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1095         so it can be shared by plugins and daemon.
1096
1097 2008-09-18  Dan Williams  <dcbw@redhat.com>
1098
1099         Patch from Alexander Sack <asac@ubuntu.com>
1100
1101         * configure.in
1102           system-settings/plugins/Makefile.am
1103           system-settings/plugins/ifupdown/Makefile.am
1104           system-settings/plugins/ifupdown/interface_parser.c
1105           system-settings/plugins/ifupdown/interface_parser.h
1106           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1107           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1108           system-settings/plugins/ifupdown/parser.c
1109           system-settings/plugins/ifupdown/parser.h
1110           system-settings/plugins/ifupdown/plugin.c
1111           system-settings/plugins/ifupdown/plugin.h
1112                 - Implement a Debian/Ubuntu legacy network configuration plugin
1113                         (gnome.org #551941)
1114
1115 2008-09-18  Dan Williams  <dcbw@redhat.com>
1116
1117         Implement support for honoring configured and automatic hostnames, and for
1118         setting the configured hostname.
1119
1120         * introspection/nm-ip4-config.xml
1121           src/nm-ip4-config.c
1122           src/nm-ip4-config.h
1123           src/dhcp-manager/nm-dhcp-manager.c
1124                 - Remove useless hostname property; it's not really part of the IPv4
1125                         config
1126
1127         * introspection/nm-settings-system.xml
1128           libnm-glib/nm-dbus-settings-system.c
1129           libnm-glib/nm-dbus-settings-system.h
1130                 - Add SetHostname() call to system settings D-Bus interface
1131                 - Add Hostname property to system settings D-Bus interface
1132                 - (nm_dbus_settings_system_save_hostname,
1133                    nm_dbus_settings_system_get_hostname): implement
1134
1135         * src/nm-device.c
1136           src/nm-device.h
1137                 - (nm_device_get_dhcp4_config): implement
1138
1139         * src/nm-manager.c
1140           src/nm-manager.h
1141                 - Fetch and track system settings service hostname changes, and proxy
1142                         the changes via a GObject property of the manager
1143
1144         * system-settings/src/nm-system-config-interface.c
1145           system-settings/src/nm-system-config-interface.h
1146                 - Replace nm_system_config_interface_supports_add() with a capabilities
1147                         bitfield
1148
1149         * system-settings/src/nm-system-config-error.c
1150           system-settings/src/nm-system-config-error.h
1151                 - Add additional errors
1152
1153         * system-settings/src/dbus-settings.c
1154           system-settings/src/dbus-settings.h
1155                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1156                         property; first plugin returning a hostname wins
1157                 - (impl_settings_add_connection): use plugin capabilities instead of
1158                         nm_system_config_interface_supports_add()
1159                 - (impl_settings_save_hostname): implement hostname saving
1160
1161         * src/NetworkManagerPolicy.c
1162                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1163                    lookup_thread_die): implement an asynchronous hostname lookup thread
1164                         which given an IPv4 address tries to look up the hostname for that
1165                         address with reverse DNS
1166                 - (get_best_device): split out best device code from
1167                         update_routing_and_dns()
1168                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1169                         to preserve the 127.0.0.1 reverse mapping that so many things require
1170                 - (set_system_hostname): set a given hostname
1171                 - (update_system_hostname): implement hostname policy; a configured
1172                         hostname (from the system settings service) is used if available,
1173                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1174                         If there was no automatically determined hostname, reverse DNS of
1175                         the best device's IP address will be used, and as a last resort the
1176                         hostname 'localhost.localdomain' is set.
1177                 - (update_routing_and_dns): use get_best_device(); update the system
1178                         hostname when the network config changes
1179                 - (hostname_changed): update system hostname if the system settings
1180                         service signals a hostname change
1181                 - (nm_policy_new): list for system settings service hostname changes
1182                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1183                         gets told to die
1184
1185         * system-settings/plugins/keyfile/plugin.c
1186           system-settings/plugins/ifcfg-suse/plugin.c
1187                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1188                         capabilities properties
1189
1190         * system-settings/plugins/ifcfg-fedora/shvar.c
1191                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1192                         writes out /etc/sysconfig/network now
1193
1194         * system-settings/plugins/ifcfg-fedora/plugin.c
1195                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1196                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1197                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1198                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1199                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1200                         hostname get/set and capabilities get
1201
1202 2008-09-18  Dan Williams  <dcbw@redhat.com>
1203
1204         * libnm-util/nm-setting-wireless.c
1205                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1206                         group ciphers if the wireless-security setting explicitly specified
1207                         them, effectively making the default be "all ciphers"  (idea from
1208                         Alexander Sack)
1209
1210 2008-09-15  Dan Williams  <dcbw@redhat.com>
1211
1212         Patch from Alexander Sack <asac@ubuntu.com>
1213
1214         * src/named-manager/nm-named-manager.c
1215                 - (dispatch_resolvconf): respect resolvconf exit code
1216
1217 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1218
1219         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1220         again. Add some debugging.
1221
1222 2008-09-11  Dan Williams  <dcbw@redhat.com>
1223
1224         * system-settings/plugins/keyfile/plugin.c
1225                 - (update_connection_settings): update connection manually, since
1226                         nm_exported_connection_update() does authentication
1227                 - (dir_changed): update_connection_settings() doesn't need to return
1228                         an error
1229
1230 2008-09-09  Dan Williams  <dcbw@redhat.com>
1231
1232         * libnm-glib/nm-vpn-plugin-ui-interface.c
1233           libnm-glib/nm-vpn-plugin-ui-interface.h
1234           libnm-glib/libnm_glib_vpn.ver
1235                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1236                         should clean up resources related to the connection (like keyring
1237                         secrets)
1238                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1239                         should save user-scope secrets (like to the keyring)
1240
1241 2008-09-08  Dan Williams  <dcbw@redhat.com>
1242
1243         Patch from Alexander Sack <asac@ubuntu.com>
1244
1245         * libnm-util/crypto_gnutls.c
1246           libnm-util/crypto_nss.c
1247                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1248
1249         * libnm-util/nm-utils.c
1250           libnm-util/nm-utils.h
1251           libnm-util/libnm-util.ver
1252                 - (nm_utils_init): initialize libnm-util
1253                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1254
1255         * libnm-util/nm-setting-8021x.c
1256                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1257
1258 2008-09-05  Dan Williams  <dcbw@redhat.com>
1259
1260         Patch from Roy Marples <roy@marples.name> and others
1261
1262         * configure.in
1263           src/named-manager/nm-named-manager.c
1264                 - Add support for resolvconf; use --with-resolvconf at configure time
1265                         to enable it
1266
1267 2008-09-05  Dan Williams  <dcbw@redhat.com>
1268
1269         * libnm-util/crypto_nss.c
1270           libnm-util/crypto_gnutls.c
1271           libnm-util/crypto.h
1272                 - (crypto_init): return error when init fails
1273
1274 2008-09-05  Dan Williams  <dcbw@redhat.com>
1275
1276         * libnm-glib/nm-device-wifi.c
1277                 - (access_point_removed_proxy): clean up the active access point too
1278                         just in case the active ap changed signal didn't come through yet
1279                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1280
1281 2008-09-05  Dan Williams  <dcbw@redhat.com>
1282
1283         * libnm-glib/nm-client.c
1284                 - (constructor): get initial state after we know whether NM is running
1285                         or not
1286
1287 2008-09-05  Dan Williams  <dcbw@redhat.com>
1288
1289         * libnm-glib/nm-ip4-config.c
1290           libnm-glib/nm-dhcp4-config.c
1291                 - (finalize): clean up the DBusGProxy
1292
1293 2008-09-04  Dan Williams  <dcbw@redhat.com>
1294
1295         * src/nm-ip4-config.c
1296           src/nm-ip4-config.h
1297                 - (nm_ip4_config_new): don't export over D-Bus here
1298                 - (nm_ip4_config_export): new function; export the config over D-Bus
1299                 - (nm_ip4_config_is_exported): new function
1300
1301         * src/nm-device.c
1302                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1303                         objects by balancing the IP4Config constructor; the device holds
1304                         a reference to the IP4Config already
1305                 - (nm_device_set_ip4_config): export the IP4Config when needed
1306
1307 2008-09-04  Dan Williams  <dcbw@redhat.com>
1308
1309         * src/supplicant-manager/nm-supplicant-settings-verify.c
1310                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1311
1312 2008-09-04  Dan Williams  <dcbw@redhat.com>
1313
1314         * libnm-util/nm-setting-vpn.c
1315           libnm-util/nm-setting-vpn.h
1316                 - Split VPN secrets from VPN data so that settings services can actually
1317                         figure out that they are secrets and store them accordingly
1318
1319         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1320           system-settings/plugins/keyfile/reader.c
1321           system-settings/plugins/keyfile/reader.h
1322           system-settings/plugins/keyfile/writer.c
1323                 - Store VPN secrets separately from VPN data so that they can be fetched
1324                         on demand
1325                 - Implement the get_secrets() call so that (a) secrets don't leak out
1326                         to unprivileged callers, and (b) secrets can be sent to privileged
1327                         callers when needed
1328
1329         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1330                 - Handle split VPN secrets
1331
1332 2008-08-27  Dan Williams  <dcbw@redhat.com>
1333
1334         * system-settings/plugins/ifcfg-fedora/reader.c
1335                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1336
1337 2008-08-27  Dan Williams  <dcbw@redhat.com>
1338
1339         Ensure zombie children get cleaned up.  To get notifications when children
1340         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1341         that requires calling waitpid() yourself if you've removed the child watch
1342         handler before the process has actually died, which NM needs to do in a few
1343         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1344         cleans up after the child when required.  Should fix problems trying to
1345         activate mobile broadband connections after a previous failure.
1346
1347         * src/dhcp-manager/nm-dhcp-dhclient.c
1348           src/dhcp-manager/nm-dhcp-dhcpcd.c
1349                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1350
1351         * src/dhcp-manager/nm-dhcp-manager.c
1352                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1353                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1354                         block on child quitting, since the non-blocking functionality was
1355                         never actually used
1356
1357         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1358                 - (dm_watch_cb): child is already reaped here
1359                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1360
1361         * src/nm-device.c
1362                 - (aipd_cleanup): block until child is dead
1363
1364         * src/named-manager/nm-named-manager.c
1365                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1366                         event bothering to watch the child
1367
1368         * src/ppp-manager/nm-ppp-manager.c
1369                 - (ppp_watch_cb): child is already reaped here
1370                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1371
1372         * src/vpn-manager/nm-vpn-service.c
1373                 - (vpn_service_watch_cb): child is already reaped here
1374                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1375                         status of the child is actually tracked
1376                 - (ensure_killed, finalize): block until child is dead
1377
1378 2008-08-26  Dan Williams  <dcbw@redhat.com>
1379
1380         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1381                 - (update): Update filename of the connection if the connection id
1382                         was changed
1383
1384         * system-settings/plugins/keyfile/plugin.c
1385                 - (dir_changed): first pass at handling connection renames correctly
1386
1387         * system-settings/plugins/keyfile/writer.c
1388           system-settings/plugins/keyfile/writer.h
1389                 - (write_connection): replace '/' with '*' when writing out the filename
1390                         from the connection id
1391
1392 2008-08-26  Dan Williams  <dcbw@redhat.com>
1393
1394         Add connection UUIDs, since connection names can be changed, and since
1395         old-style connection IDs could change over the life of the connection.  The
1396         UUID should be assigned at connection creation time, be stable for a given
1397         connection, and should be unique among all connections for a given settings
1398         service.
1399
1400         * configure.in
1401           libnm-util/Makefile.am
1402                 - Require libuuid
1403
1404         * introspection/nm-exported-connection.xml
1405                 - Remove "GetID" method
1406
1407         * libnm-glib/nm-dbus-connection.c
1408           libnm-glib/nm-settings.c
1409           libnm-glib/nm-settings.h
1410                 - Remove id-related stuff
1411
1412         * libnm-util/nm-utils.c
1413           libnm-util/nm-utils.h
1414           libnm-util/libnm-util.ver
1415                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1416                         utility functions to generate UUIDs
1417
1418         * libnm-util/nm-setting-connection.c
1419           libnm-util/nm-setting-connection.h
1420                 - Add 'uuid' member to the connection setting
1421                 - (verify): require valid 'uuid' for a valid connection
1422
1423         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1424           system-settings/plugins/ifcfg-fedora/reader.c
1425           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1426           system-settings/plugins/ifcfg-suse/parser.c
1427           system-settings/plugins/keyfile/nm-keyfile-connection.c
1428           system-settings/src/main.c
1429                 - Remove id-related stuff
1430                 - Give connections UUIDs where needed
1431
1432 2008-08-25  Dan Williams  <dcbw@redhat.com>
1433
1434         * libnm-util/crypto_gnutls.c
1435           libnm-util/crypto_nss.c
1436                 - (crypto_init, crypto_deinit): refcount init/deinit
1437                 - (crypto_md5_hash): allow NULL salt
1438
1439 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1440
1441         * libnm-glib/Makefile.am
1442           libnm-util/Makefile.am
1443           libnm-glib/libnm_glib.ver
1444           libnm-glib/libnm_glib_vpn.ver
1445           libnm-util/libnm-util.ver
1446                 - Use linker version scripts to control the list of exported 
1447                 symbols. List each exported symbol explicitely.
1448         * libnm-util/Makefile.am
1449                 - Fix compilation of the test-crypto binary. The crypto
1450                 functions are no longer part of the libnm-util API. Add 
1451                 crypto_*.c to test_crypto_SOURCES and link against the correct
1452                 crypto libraries.
1453
1454 2008-08-19  Dan Williams  <dcbw@redhat.com>
1455
1456         * configure.in
1457           test/Makefile.am
1458                 - Don't build test/test-common
1459                 - Remove unused stuff
1460
1461         * test/nm-set-fallback
1462           test/nmtestdevices.c
1463           test/test-common/.cvsignore
1464           test/test-common/Makefile.am
1465           test/test-common/test-common.c
1466           test/test-common/test-common.h
1467                 - delete
1468
1469 2008-08-18  Dan Williams  <dcbw@redhat.com>
1470
1471         * libnm-util/nm-utils.c
1472           libnm-util/nm-utils.h
1473                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1474                         export anything that needs to be converted with this function
1475
1476         * src/dhcp-manager/nm-dhcp-manager.c
1477                 - (garray_to_string): convert a byte array to a UTF-8 string with
1478                         minimal validation; the DHCP client sends it in ASCII anyway
1479                 - (get_option, copy_option): use garray_to_string()
1480
1481 2008-08-18  Dan Williams  <dcbw@redhat.com>
1482
1483         * include/NetworkManager.h
1484           introspection/nm-device.xml
1485                 - Add a "missing firmware" device state reason
1486
1487         * src/NetworkManagerSystem.c
1488           src/NetworkManagerSystem.h
1489                 - (nm_system_device_set_up_down): add a no_firmware argument
1490                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1491                         IFF_UP is ENOENT, that almost always means missing firmware
1492
1493         * src/backends/NetworkManagerGeneric.c
1494           src/nm-device-ethernet.c
1495           src/nm-device-private.h
1496           src/nm-device-wifi.c
1497           src/nm-device.c
1498           src/nm-device.h
1499           src/nm-hso-gsm-device.c
1500           src/vpn-manager/nm-vpn-connection.c
1501                 - Pass no_firmware along; check it where appropriate
1502
1503 2008-08-18  Dan Williams  <dcbw@redhat.com>
1504
1505         Patch from Robert Buchholz <rbu@gentoo.org>
1506
1507         * autogen.sh
1508           configure.in
1509                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1510                         1003.1-1988, allowing for file names longer than 99 characters
1511
1512 2008-08-17  Dan Williams  <dcbw@redhat.com>
1513
1514         * include/NetworkManager.h
1515           introspection/nm-device.xml
1516           src/nm-gsm-device.c
1517                 - Finer-grained GSM registration failure error codes
1518
1519 2008-08-17  Dan Williams  <dcbw@redhat.com>
1520
1521         * callouts/Makefile.am
1522           src/Makefile.am
1523                 - Move dispatcher directory creation to callouts/Makefile.am
1524
1525         * system-settings/plugins/keyfile/Makefile.am
1526                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1527
1528 2008-08-15  Dan Williams  <dcbw@redhat.com>
1529
1530         Do connection sharing in a cleaner manner; all required iptables rules
1531         are now stored in the activation request and pertain only to the device
1532         which is being shared to other computers. (rh #458625)
1533
1534         * src/nm-activation-request.c
1535           src/nm-activation-request.h
1536                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1537                         the activation request which will get torn down automatically when
1538                         the activation request dies
1539                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1540                         is started, and tear them down when sharing is stopped
1541
1542         * src/nm-device.c
1543                 - (start_sharing): start up sharing by doing the required iptables magic
1544                 - (share_init): poke the right bits of the kernel and load the right
1545                         modules for NAT
1546                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1547                         connection if it's a 'shared' connection
1548
1549         * src/NetworkManagerPolicy.c
1550                 - Remove all sharing stuff; done in the device code itself
1551
1552 2008-08-15  Dan Williams  <dcbw@redhat.com>
1553
1554         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1555                 - (create_dm_cmd_line): send the right router address
1556
1557 2008-08-15  Dan Williams  <dcbw@redhat.com>
1558
1559         * src/ppp-manager/nm-ppp-manager.c
1560                 - (pppd_timed_out): ensure timeouts fail the connection
1561
1562 2008-08-14  Dan Williams  <dcbw@redhat.com>
1563
1564         * src/nm-properties-changed-signal.c
1565           src/nm-properties-changed-signal.h
1566                 - Add a property spec flag for "don't export this property" in
1567                         property changed signals
1568
1569         * src/nm-hso-gsm-device.c
1570           src/nm-gsm-device.c
1571           src/nm-cdma-device.c
1572                 - Don't export monitor interface or netdev interface properties
1573
1574 2008-08-14  Dan Williams  <dcbw@redhat.com>
1575
1576         * src/NetworkManagerPolicy.c
1577                 - (update_routing_and_dns): 'hso' devices can be default even if they
1578                         don't have a gateway
1579
1580 2008-08-14  Dan Williams  <dcbw@redhat.com>
1581
1582         * src/nm-device.c
1583                 - (nm_device_deactivate_quickly): tear down activation request after
1584                         calling device-specific deactivation
1585
1586         * src/nm-hso-gsm-device.c
1587                 - (real_deactivate_quickly): terminate connection when deactivating
1588
1589 2008-08-14  Dan Williams  <dcbw@redhat.com>
1590
1591         * src/nm-activation-request.h
1592                 - Add HSO secrets caller
1593
1594         * src/nm-gsm-device.c
1595           src/nm-gsm-device.h
1596                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1597                         something to the callback function
1598                 - (set_apn, set_apn_done): call class dial function, not a static one
1599                 - (nm_gsm_device_class_init): add a class 'dial' function
1600
1601         * src/nm-hal-manager.c
1602                 - (get_hso_netdev): find the hso-driven hardware's net device
1603                 - (modem_device_creator): recognize hso-driven hardware and create the
1604                         right type of device object for it
1605
1606         * src/Makefile.am
1607           src/nm-hso-gsm-device.c
1608           src/nm-hso-gsm-device.h
1609                 - Implement support for devices driven by the 'hso' driver as a subclass
1610                         of NMGsmDevice
1611
1612 2008-08-14  Dan Williams  <dcbw@redhat.com>
1613
1614         * src/NetworkManagerSystem.c
1615                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1616                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1617                         success if the operation really was successful
1618
1619 2008-08-14  Dan Williams  <dcbw@redhat.com>
1620
1621         * src/nm-netlink-monitor.c
1622           src/nm-netlink-monitor.h
1623           src/nm-device-ethernet.c
1624                 - (nm_netlink_monitor_request_status): return an error on failure
1625                 - (constructor): don't segfault on missing error
1626
1627 2008-08-13  Dan Williams  <dcbw@redhat.com>
1628
1629         * callouts/nm-dispatcher-action.c
1630                 - Add IP4 config info to script environment
1631
1632 2008-08-12  Dan Williams  <dcbw@redhat.com>
1633
1634         * src/nm-device.c
1635                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1636                         that want to use DHCP hostnames should use dispatcher scripts
1637                         for that
1638
1639         * src/NetworkManagerSystem.h
1640           src/backends/NetworkManagerArch.c
1641           src/backends/NetworkManagerDebian.c
1642           src/backends/NetworkManagerFrugalware.c
1643           src/backends/NetworkManagerGeneric.c
1644           src/backends/NetworkManagerGeneric.h
1645           src/backends/NetworkManagerGentoo.c
1646           src/backends/NetworkManagerMandriva.c
1647           src/backends/NetworkManagerPaldo.c
1648           src/backends/NetworkManagerRedHat.c
1649           src/backends/NetworkManagerSlackware.c
1650           src/backends/NetworkManagerSuSE.c
1651                 - Remove nm_system_set_hostname(), no longer used
1652           
1653         * src/backends/Makefile.am
1654           src/backends/shvar.c
1655           src/backends/shvar.h
1656                 - Remove shvar.*; no longer used
1657
1658 2008-08-12  Dan Williams  <dcbw@redhat.com>
1659
1660         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1661         hostname is updated at runtime.  Distros or users who want hostname updates
1662         can use dispatcher scripts to update the hostname if they need it.
1663
1664 2008-08-12  Dan Williams  <dcbw@redhat.com>
1665
1666         * introspection/nm-settings-system.xml
1667           system-settings/src/dbus-settings.c
1668           system-settings/src/dbus-settings.h
1669                 - Add a 'Hostname' property (rw) which represents the configured
1670                         hostname and domain of the system, if any
1671
1672         * system-settings/src/nm-system-config-error.c
1673           system-settings/src/nm-system-config-error.h
1674           system-settings/src/nm-system-config-interface.c
1675           system-settings/src/nm-system-config-interface.h
1676                 - Add a 'hostname' property to the plugin interface
1677                 - Add a method to send updated hostname to plugins to save in their
1678                         backing configuration store
1679
1680         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1681           system-settings/plugins/keyfile/plugin.c
1682           system-settings/plugins/keyfile/writer.c
1683           system-settings/plugins/keyfile/writer.h
1684           system-settings/plugins/ifcfg-suse/plugin.c
1685                 - Add minimal hostname support
1686
1687         * system-settings/plugins/ifcfg-fedora/plugin.c
1688                 - Add support for updating system hostname in /etc/sysconfig/network
1689
1690 2008-08-12  Dan Williams  <dcbw@redhat.com>
1691
1692         * system-settings/plugins/ifcfg-fedora/shvar.c
1693           system-settings/plugins/ifcfg-fedora/shvar.c
1694                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1695
1696 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1697
1698         * Makefile.am: Fix distcheck.
1699
1700 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1701
1702         * libnm-glib/*.c. Document some more.
1703
1704 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1705
1706         Start documenting libnm-glib public API using gtk-doc.
1707
1708         * libnm-glib/nm-serial-device.c: 
1709         * libnm-glib/nm-object.c: 
1710         * libnm-glib/nm-gsm-device.c: 
1711         * libnm-glib/nm-device.c: 
1712         * libnm-glib/nm-device-wifi.c: 
1713         * libnm-glib/nm-device-ethernet.c: 
1714         * libnm-glib/nm-client.c: 
1715         * libnm-glib/nm-cdma-device.c: Document the public API.
1716
1717         * docs/libnm-glib/libnm-glib.types: Implement.
1718
1719         * docs/libnm-glib/Makefile.am: Implement.
1720
1721         * autogen.sh: 
1722         * configure.in: 
1723         * Makefile.am: Add gtk-doc support.
1724
1725 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1726
1727         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1728
1729         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1730         the composite result of all the IP4 configurations and call a distro
1731         specific update_resolv_conf().
1732         (update_resolv_conf): Implement one for directly writing to 
1733         /etc/resolv.conf and one for opensuse to call netconfig.
1734
1735 2008-08-11  Dan Williams  <dcbw@redhat.com>
1736
1737         * src/ppp-manager/nm-ppp-manager.c
1738                 - (impl_ppp_manager_need_secrets): pass interface as required
1739
1740 2008-08-11  Dan Williams  <dcbw@redhat.com>
1741
1742         Merge the vpn-properties setting with the vpn setting since it was pointless
1743         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1744         of string:string (instead of string:variant) so that system settings plugins
1745         can have an easier time dealing with the arbitrary key/value pairs.
1746
1747 2008-08-11  Dan Williams  <dcbw@redhat.com>
1748
1749         * libnm-util/nm-utils.c
1750                 - (nm_utils_register_value_transformations): add value transform for
1751                         a hash table of string:string
1752
1753 2008-08-10  Dan Williams  <dcbw@redhat.com>
1754
1755         * libnm-glib/nm-vpn-plugin.c
1756                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1757                         an idle handler so the Connect reply gets delivered before the
1758                         stop StateChanged signal
1759
1760 2008-08-10  Dan Williams  <dcbw@redhat.com>
1761
1762         * src/nm-ip4-config.c
1763                 - (get_property): use common ip4 address/route conversion functions
1764                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1765                         copy the new route here, not take ownership
1766
1767 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1768
1769         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1770         Update the IP4 setting's method name.
1771
1772 2008-08-07  Dan Williams  <dcbw@redhat.com>
1773
1774         * introspection/nm-ip4-config.xml
1775           libnm-glib/libnm-glib-test.c
1776           libnm-glib/nm-ip4-config.c
1777           libnm-glib/nm-ip4-config.h
1778           src/NetworkManagerSystem.h
1779           src/backends/NetworkManagerArch.c
1780           src/backends/NetworkManagerDebian.c
1781           src/backends/NetworkManagerFrugalware.c
1782           src/backends/NetworkManagerGeneric.c
1783           src/backends/NetworkManagerGeneric.h
1784           src/backends/NetworkManagerGentoo.c
1785           src/backends/NetworkManagerMandriva.c
1786           src/backends/NetworkManagerPaldo.c
1787           src/backends/NetworkManagerRedHat.c
1788           src/backends/NetworkManagerSlackware.c
1789           src/backends/NetworkManagerSuSE.c
1790           src/dhcp-manager/nm-dhcp-manager.c
1791           src/nm-device.c
1792           src/nm-ip4-config.c
1793           src/nm-ip4-config.h
1794                 - Remove NIS logic; should be done from dispatcher scripts instead
1795
1796 2008-08-07  Dan Williams  <dcbw@redhat.com>
1797
1798         * src/dhcp-manager/nm-dhcp-manager.c
1799                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1800                         mis-handling of DHCP responses that returned more than one router
1801                         (found by Grant Williamson)
1802
1803 2008-08-07  Dan Williams  <dcbw@redhat.com>
1804
1805         * callouts/nm-dispatcher-action.c
1806                 - (nm_dispatcher_action): grab device path and create the device; pass
1807                         the device's DHCP4 config to script caller
1808                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1809                         scripts
1810
1811         * libnm-glib/nm-dhcp4-config.c
1812           libnm-glib/nm-dhcp4-config.h
1813                 - (nm_dhcp4_config_get_options): expose
1814                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1815
1816 2008-08-07  Dan Williams  <dcbw@redhat.com>
1817
1818         * include/NetworkManager.h
1819                 - Add the DHCP4Config D-Bus interface
1820
1821         * libnm-glib/Makefile.am
1822           libnm-glib/nm-dhcp4-config.c
1823           libnm-glib/nm-dhcp4-config.h
1824                 - Handle DHCP4 config objects exported by NM over D-Bus
1825
1826         * libnm-glib/nm-device.c
1827           libnm-glib/nm-device.h
1828                 - Add a 'dhcp4-config' property
1829
1830         * libnm-glib/libnm-glib-test.c
1831                 - Print out DHCP4 config for devices
1832                 - Fix some crashes when no connections are active
1833
1834         * src/nm-device-interface.c
1835           src/nm-device.c
1836           src/nm-dhcp4-config.c
1837           src/nm-dhcp4-config.h
1838                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1839                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1840                         doesn't let us do when the property type is G_TYPE_OBJECT
1841
1842 2008-08-07  Dan Williams  <dcbw@redhat.com>
1843
1844         * src/NetworkManager.c
1845           src/NetworkManagerSystem.h
1846           src/backends/NetworkManagerArch.c
1847           src/backends/NetworkManagerDebian.c
1848           src/backends/NetworkManagerFrugalware.c
1849           src/backends/NetworkManagerGeneric.c
1850           src/backends/NetworkManagerGeneric.h
1851           src/backends/NetworkManagerGentoo.c
1852           src/backends/NetworkManagerMandriva.c
1853           src/backends/NetworkManagerPaldo.c
1854           src/backends/NetworkManagerRedHat.c
1855           src/backends/NetworkManagerSlackware.c
1856           src/backends/NetworkManagerSuSE.c
1857                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1858
1859 2008-08-06  Dan Williams  <dcbw@redhat.com>
1860
1861         * libnm-glib/nm-ip4-config.c
1862           libnm-glib/nm-ip4-config.h
1863                 - Add 'routes' property
1864
1865         * libnm-util/nm-setting-vpn.c
1866           libnm-util/nm-setting-vpn.h
1867                 - Remove 'routes' property
1868
1869         * libnm-util/nm-setting-ip4-config.c
1870           libnm-util/nm-setting-ip4-config.h
1871                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1872                 - Add 'ignore-auto-routes' property
1873                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1874                         accomodate route metrics
1875                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1876
1877         * libnm-util/nm-utils.c
1878           libnm-util/nm-utils.h
1879                 - Add helpers for marshalling IP4 routes
1880
1881         * src/NetworkManagerUtils.c
1882                 - (nm_utils_merge_ip4_config): handle property renames and new route
1883                         structure
1884
1885         * src/NetworkManagerSystem.c
1886                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1887                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1888
1889         * src/dhcp-manager/nm-dhcp-manager.c
1890                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1891
1892         * system-settings/plugins/ifcfg-fedora/reader.c
1893           system-settings/plugins/ifcfg-fedora/writer.c
1894                 - Handle routes separately from addresses now that routes have a different
1895                         format
1896
1897         * introspection/nm-ip4-config.xml
1898           src/nm-ip4-config.c
1899           src/nm-ip4-config.h
1900                 - Rename internal routing functions
1901                 - 'static-routes' renamed to 'routes'
1902
1903 2008-08-04  Dan Williams  <dcbw@redhat.com>
1904
1905         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1906
1907         * src/NetworkManager.c
1908           src/nm-manager.c
1909           src/nm-manager.h
1910                 - More explicitly make the NMManager a singleton
1911
1912 2008-08-04  Dan Williams  <dcbw@redhat.com>
1913
1914         * libnm-util/nm-connection.c
1915           libnm-util/nm-connection.h
1916                 - (nm_connection_verify): return error on missing 'connection' setting
1917                         (found by Sjoerd Simons)
1918
1919 2008-08-04  Dan Williams  <dcbw@redhat.com>
1920
1921         Handle multiple concurrent PPP connections.
1922
1923         * src/ppp-manager/nm-ppp-manager.c
1924           src/ppp-manager/nm-ppp-manager.h
1925                 - (constructor): only PPP Manager request bus name once; each
1926                         NMPPPManager object gets a unique object path
1927                 - (nm_ppp_manager_class_init, get_property, set_property,
1928                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1929                         at construct time
1930                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1931                         remove timeout until PPP manager gets an IP4 config
1932                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1933                         the plugin can call back to this specific PPP manager instance
1934
1935         * src/nm-device-ethernet.c
1936           src/nm-serial-device.c
1937                 - Pass parent device in nm_ppp_manager_new()
1938
1939         * src/nm-gsm-device.c
1940           src/nm-cdma-device.c
1941                 - (device_state_changed): don't close serial device on NEED_AUTH
1942                         state changed, that's not a failure case like the rest are
1943
1944         * src/ppp-manager/nm-pppd-plugin.c
1945                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1946                         binds one interface to any pppd process, thus the correct index
1947                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1948                         problems; try harder to get a peer address in spite of pppd
1949                 - (plugin_init): use 'ipparam' as the object path back to our specific
1950                         PPP manager instance
1951
1952 2008-08-04  Dan Williams  <dcbw@redhat.com>
1953
1954         * src/ppp-manager/nm-ppp-manager.c
1955                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1956                         since the GSM and CDMA settings now implement need_secrets, we can
1957                         rely on them to do the right thing.  Where secrets are not required,
1958                         just pass empty strings back to the pppd plugin.
1959                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1960                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1961                         on successful IP4 config receipt
1962
1963 2008-08-04  Dan Williams  <dcbw@redhat.com>
1964
1965         * libnm-util/nm-setting-cdma.c
1966           libnm-util/nm-setting-gsm.c
1967                 - (verify): validate username & password if they exist
1968                 - (need_secrets): if username given, require a password too
1969
1970 2008-08-04  Dan Williams  <dcbw@redhat.com>
1971
1972         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1973                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1974                         manpage says about --listen-address without --interface
1975                         (bgo #546033)
1976
1977 2008-08-01  Dan Williams  <dcbw@redhat.com>
1978
1979         * libnm-glib/nm-device.c
1980                 - (proxy_get_string): util function for querying a HAL property
1981                 - (get_ancestor_device): split out from get_product_and_vendor()
1982                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1983                         from PCI devices by querying subsys properties
1984                 - (nm_device_update_description): simplify
1985
1986 2008-08-01  Dan Williams  <dcbw@redhat.com>
1987
1988         * libnm-util/nm-setting-ip4-config.c
1989           libnm-util/nm-setting-ip4-config.h
1990                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1991                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1992                         settings, and they don't necessarily use DHCP.
1993
1994         * src/NetworkManagerPolicy.c
1995           src/nm-device.c
1996           system-settings/plugins/ifcfg-fedora/reader.c
1997           system-settings/plugins/ifcfg-suse/parser.c
1998                 - Fixup for method changes
1999
2000 2008-07-31  Dan Williams  <dcbw@redhat.com>
2001
2002         * src/nm-activation-request.c
2003           src/vpn-manager/nm-vpn-connection.c
2004                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2005                         itself should be attached to the activation request or the VPN
2006                         connection, not the NMConnection object, since the call is not
2007                         expected to live as long as the NMConnection itself
2008
2009 2008-07-31  Dan Williams  <dcbw@redhat.com>
2010
2011         * src/nm-device-wifi.c
2012                 - (real_act_stage2_config): fix issue where association would continue
2013                         even though secrets were needed; 'goto out' was in wrong scope and
2014                         result of handle_auth_or_fail() should have been dumped directly to
2015                         'ret' to ensure that the association was postponed until secrets
2016                         are available
2017
2018 2008-07-31  Dan Williams  <dcbw@redhat.com>
2019
2020         * system-settings/plugins/ifcfg-fedora/plugin.c
2021           system-settings/plugins/ifcfg-fedora/reader.c
2022                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2023                         valid NM connection
2024
2025 2008-07-29  Dan Williams  <dcbw@redhat.com>
2026
2027         * src/nm-gsm-device.c
2028                 - (automatic_registration_response, automatic_registration): recognize
2029                         denied registration and reorder responses
2030
2031 2008-07-29  Dan Williams  <dcbw@redhat.com>
2032
2033         * src/nm-serial-device.c
2034                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2035                         time(2) is used for current time, which returns seconds, we shouldn't
2036                         be multiplying by 1000.
2037
2038 2008-07-28  Dan Williams  <dcbw@redhat.com>
2039
2040         Patch from Fabrice Bellet <fabrice@bellet.info>
2041
2042         * src/NetworkManagerSystem.c
2043                 - (route_in_same_subnet): mask addresses and compare them so that the
2044                         function actually does what it says it's going to do (rh #456685)
2045
2046 2008-07-27  Dan Williams  <dcbw@redhat.com>
2047
2048         * libnm-util/nm-setting-ip6-config.c
2049                 - (set_property): add missing break that caused routes to be overwritten
2050                         with addresses
2051
2052         * libnm-util/nm-setting-ip6-config.c
2053                 - (verify): validate routes and return GError everywhere on invalid setting
2054                 - (finalize): don't leak routes
2055                 - (set_property): add missing break that caused routes to be overwritten
2056                         with addresses
2057
2058 2008-07-27  Dan Williams  <dcbw@redhat.com>
2059
2060         * libnm-util/*
2061                 - Relicense to LGPLv2+
2062
2063 2008-07-27  Dan Williams  <dcbw@redhat.com>
2064
2065         * system-settings/plugins/ifcfg-fedora/reader.c
2066                 - (make_ip4_setting): fix parsing automatic configs
2067
2068 2008-07-27  Dan Williams  <dcbw@redhat.com>
2069
2070         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2071           src/nm-device.c
2072           src/ppp-manager/nm-ppp-manager.c
2073                 - Ensure child process gets reaped.  The child watch function may be
2074                         removed from the mainloop before the child gets killed, so we have
2075                         to make sure the child is reaped when it's told to die intentionally
2076
2077 2008-07-27  Dan Williams  <dcbw@redhat.com>
2078
2079         Patch from Roy Marples <roy@marples.name>
2080
2081         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2082                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2083
2084 2008-07-27  Dan Williams  <dcbw@redhat.com>
2085
2086         * src/nm-gsm-device.c
2087                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2088                         Huawei devices turn echo back on after CPIN (rh #456770)
2089
2090 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2091
2092         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2093         format argument to g_set_error() call.
2094
2095         * src/backends/interface_parser.[ch]: Remove.
2096
2097         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2098
2099 2008-07-21  Dan Williams  <dcbw@redhat.com>
2100
2101         * src/ppp-manager/nm-ppp-manager.c
2102                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2103                         to prevent pppd from picking up some random local address from an
2104                         interface that doesn't have anything to do with the one we're
2105                         interested in (rh #455348)
2106
2107 2008-07-17  Dan Williams  <dcbw@redhat.com>
2108
2109         * libnm-util/nm-utils.c
2110                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2111                         by locale
2112                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2113                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2114
2115 2008-07-17  Dan Williams  <dcbw@redhat.com>
2116
2117         * introspection/Makefile.am
2118           introspection/nm-device.xml
2119           introspection/nm-dhcp4-config.xml
2120                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2121                         itself
2122         * src/nm-device-interface.c
2123           src/nm-device-interface.h
2124                 - Add the DHCP4Config property
2125
2126         * src/nm-device.c
2127                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2128                         D-Bus clients when it changes
2129
2130         * src/nm-dhcp4-config.c
2131           src/nm-dhcp4-config.h
2132                 - Simple object to store DHCP4 options, export them over D-Bus, and
2133                         notify when they change
2134
2135         * src/dhcp-manager/nm-dhcp-manager.c
2136           src/dhcp-manager/nm-dhcp-manager.h
2137                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2138                         filter server-returned DHCP options into an NMDHCP4Config object
2139
2140 2008-07-16  Dan Williams  <dcbw@redhat.com>
2141
2142         * introspection/nm-device.xml
2143                 - Add device state reasons
2144
2145 2008-07-16  Dan Williams  <dcbw@redhat.com>
2146
2147         Patch from Roy Marples <roy@marples.name>
2148
2149         * configure.in
2150                 - Add --with-dhcp-client option
2151
2152         * src/dhcp-manager/Makefile.am
2153                 - pass DHCP_CLIENT_PATH on compile line
2154
2155         * src/dhcp-manager/nm-dhcp-manager.c
2156           src/dhcp-manager/nm-dhcp-manager.h
2157                 - Genericize for both dhcpcd and dhclient
2158
2159         * src/dhcp-manager/nm-dhcp-dhclient.c
2160                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2161
2162         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2163                 - Implement support for dhcpcd too
2164
2165 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2166
2167         * system-settings/src/nm-system-config-interface.c 
2168         (nm_system_config_interface_supports_add): Implement.
2169         (nm_system_config_interface_add_connection): Return a boolean to notify
2170         of errors.
2171
2172         * system-settings/src/nm-polkit-helpers.c: 
2173         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2174         a separate file.
2175
2176         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2177         Return an error when none of the plugins support add or if addition
2178         failed for some reason.
2179
2180         * system-settings/src/nm-system-config-error.h: 
2181         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2182         here from nm-polkit-helpers.[ch].
2183
2184         * system-settings/src/Makefile.am: Build new files.
2185
2186         * system-settings/plugins/keyfile/reader.c 
2187         (read_array_of_array_of_uint): Make it more general so that it would
2188         work for routes as well.
2189
2190         * system-settings/plugins/keyfile/writer.c
2191         (write_array_of_array_of_uint): Ditto.
2192         Fix the netmask/prefix writing.
2193
2194         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2195         boolean to notify errors.
2196
2197         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2198         Return more specific error.
2199         (delete): Ditto.
2200
2201 2008-07-11  Dan Williams  <dcbw@redhat.com>
2202
2203         Modify the NMDevice::state-changed signal to include the previous state
2204         and reason. Enables the applet to provide more information why device
2205         activation failed.
2206
2207 2008-07-09  Dan Williams  <dcbw@redhat.com>
2208
2209         * callouts/Makefile.am
2210           callouts/nm-avahi-autoipd-action.c
2211           callouts/nm-avahi-autoipd.conf
2212                 - avahi-autoipd callout to send options back to NM
2213
2214         * src/autoip.c
2215           src/autoip.h
2216                 - remove
2217
2218         * src/nm-device.c
2219           src/nm-device-private.h
2220           src/nm-manager.c
2221                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2222                         old custom stuff
2223
2224 2008-07-07  Dan Williams  <dcbw@redhat.com>
2225
2226         * system-settings/plugins/ifcfg-fedora/reader.c
2227                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2228                         handle PREFIX too; clean up
2229
2230 2008-07-07  Dan Williams  <dcbw@redhat.com>
2231
2232         Convert to using IPv4 prefixes instead of netmasks.
2233
2234 2008-07-03  Dan Williams  <dcbw@redhat.com>
2235
2236         * libnm-util/nm-setting-ip4-config.c
2237           libnm-util/nm-setting-ip4-config.h
2238                 - Add properties for DHCP Client Identifier and DHCP Hostname
2239
2240         * src/dhcp-manager/nm-dhcp-manager.c
2241           src/dhcp-manager/nm-dhcp-manager.h
2242                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2243                         setting as an argument to pass on to the dhclient config file
2244                         creation function
2245                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2246                         DHCP is torn down
2247                 - (dhclient_run): punt config file handling to create_dhclient_config()
2248                 - (create_dhclient_config): create an interface-specific dhclient
2249                         config file since there may need to be interface-specific options
2250                         passed to dhclient
2251                 - (merge_dhclient_config): merge normal distro dhclient config file and
2252                         add options from the connection
2253                 - (nm_dhcp_device_new): generate the interface specific dhclient
2254                         config file path once
2255                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2256                         dhclient config file path
2257
2258         * src/nm-device.c
2259                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2260                         DHCP manager when starting DHCP
2261
2262 2008-07-02  Dan Williams  <dcbw@redhat.com>
2263
2264         * libnm-util/nm-setting-8021x.c
2265                 - (verify): allow forcing the PEAP label to 0
2266
2267 2008-07-02  Dan Williams  <dcbw@redhat.com>
2268
2269         * introspection/nm-active-connection.xml
2270           introspection/nm-vpn-connection.xml
2271           libnm-glib/nm-active-connection.c
2272           src/nm-activation-request.c
2273           src/nm-active-connection.h
2274           src/vpn-manager/nm-vpn-connection.c
2275                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2276                         and libnm-glib API since sharing didn't get implemented that way
2277
2278 2008-07-02  Dan Williams  <dcbw@redhat.com>
2279
2280         * src/nm-device-wifi.c
2281                 - (can_scan): don't scan when a shared connection is activated since
2282                         that makes drivers mad (causing disconnects); also NM doesn't need
2283                         to hedge against disconnects by keeping up-to-date network topology
2284                         because the connection originates from the local machine, and thus
2285                         there should be no disconnects
2286
2287 2008-07-01  Dan Williams  <dcbw@redhat.com>
2288
2289         Fix mobile broadband username/password issues.  NM was never requesting
2290         mobile broadband secrets, nor was it passing back the username and password
2291         if it had them.
2292
2293         * marshallers/nm-marshal.list
2294                 - Add some new types for activation request objects
2295
2296         * src/nm-activation-request.c
2297           src/nm-activation-request.h
2298                 - (get_secrets_cb): pass the caller type in the signal
2299                 - (nm_act_request_request_connection_secrets): take a caller type, so
2300                         that GetSecrets() reply handlers know who asked for the secrets in
2301                         the first place; use secret hints too so the settings service can
2302                         figure out exactly what NM wants (ie, PIN or the PPP password)
2303
2304         * src/ppp-manager/nm-ppp-manager.c
2305           src/ppp-manager/nm-ppp-manager.h
2306                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2307                         detect needed secrets when the secret could be blank, like GSM/CDMA
2308                         passwords.  So always ask for secrets, and send a hint as to what
2309                         secret we really want.
2310                 - (nm_ppp_manager_update_secrets): make function more generic by making
2311                         the device specific class figure out the username and password, and
2312                         accept an error argument to return back over D-Bus
2313
2314         * src/nm-device-wifi.c
2315                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2316                         nm_act_request_request_connection_secrets()
2317                 - (real_connection_secrets_updated): update for 'caller' changes
2318
2319         * src/nm-device.c
2320           src/nm-device.h
2321                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2322                         for 'caller' changes
2323
2324         * src/nm-device-ethernet.c
2325                 - (real_connection_secrets_updated): update for 'caller' changes and
2326                         move logic for getting PPPoE username and password here before
2327                         calling nm_ppp_manager_update_secrets()
2328                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2329                         nm_act_request_request_connection_secrets()
2330
2331         * src/nm-cdma-device.c
2332                 - (real_connection_secrets_updated): pass username and password back
2333                         to the PPP manager when required
2334
2335         * src/nm-gsm-device.c
2336                 - (enter_pin): send the required secret name to the settings service
2337                 - (real_connection_secrets_updated): pass username and password back
2338                         to the PPP manager when required
2339
2340 2008-06-30  Dan Williams  <dcbw@redhat.com>
2341
2342         * src/nm-device-wifi.c
2343                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2344
2345 2008-06-30  Dan Williams  <dcbw@redhat.com>
2346
2347         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2348         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2349         priv->supplicant.iface.  When either condition is false, the device should
2350         transition back to UNAVAILABLE because it cannot be used.
2351
2352         * src/nm-device-wifi.c
2353                 - (constructor): cleanup; connect to supplicant manager here since the
2354                         supplicant manager is always around
2355                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2356                         ensure the supplicant manager is in the IDLE state
2357                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2358                         cancel any pending scans too
2359                 - (real_bring_up): don't set up the supplicnat interface here, because
2360                         we need the supplicant interface at times when the device may not
2361                         be "up"
2362                 - (real_take_down): just remove the periodic source
2363                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2364                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2365                         do anything if there's no supplicant interface
2366                 - (cleanup_association_attempt): cleanup
2367                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2368                         the interface enters the READY state; transition to UNAVAILABLE
2369                         state when the interface goes down because the device can't be used
2370                         without a supplicant interface
2371                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2372                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2373                         acquire the supplicant interface and transition to DISCONNECTED
2374                         if the radio isn't killed
2375                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2376                 - (state_changed_cb): release any existing supplicant interface; if the
2377                         radio is enabled then try to acquire a new supplicant interface;
2378                         if the radio is enabled and a supplicant interface has been acquired,
2379                         we can transition to DISCONNECTED
2380                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2381                         don't enable the radio, because HAL probably lied to us about the
2382                         killswitch being off.  If bringing the hardware up worked, then
2383                         try to grab a supplicant interface, and if that was successful,
2384                         transition to DISCONNECTED
2385
2386 2008-06-30  Dan Williams  <dcbw@redhat.com>
2387
2388         * src/supplicant-manager/nm-supplicant-interface.c
2389                 - (request_scan_results, nm_supplicant_interface_dispose,
2390                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2391                         the id of the timeout, not a GSource
2392
2393 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2394
2395         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2396         bunch of typoes introduced by "Patch from David Cantrell 
2397         <dcantrell@redhat.com> and me".
2398
2399 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2400
2401         * src/nm-serial-device.c: 
2402         * src/nm-gsm-device.c: 
2403         * src/nm-cdma-device.c: Move the pending call handling to a common location
2404         in serial device. Handle setting device state to failed in one place as well.
2405
2406 2008-06-29  Dan Williams <dcbw@redhat.com>
2407
2408         * src/nm-hal-manager.c
2409                 - Rework killswitch handling to query killswitch status immediately
2410                         when the first killswitch is added, so that rfkill state is
2411                         known as early as possible
2412                 - Also treat failure of GetPower() as rfkill when the dbus method
2413                         call times out (but not when the HAL callout returns an error)
2414
2415 2008-06-26  Dan Williams <dcbw@redhat.com>
2416
2417         Patch from David Cantrell <dcantrell@redhat.com> and me
2418
2419         * include/nm-dbus-glib-types.h
2420                 - Add IP6 address types
2421
2422         * libnm-util/Makefile.am
2423           libnm-util/nm-setting-ip6-config.c
2424           libnm-util/nm-setting-ip6-config.h
2425                 - Add IP6 settings object
2426
2427         * libnm-util/nm-connection.c
2428                 - (register_default_settings): register ip6 settings object
2429
2430         * libnm-util/nm-utils.c
2431           libnm-util/nm-utils.h
2432                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2433                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2434                         ip6 address conversion functions
2435         
2436 2008-06-26  Dan Williams <dcbw@redhat.com>
2437
2438         Patch from David Cantrell <dcantrell@redhat.com>
2439         
2440         * Use inet_ntop() and inet_pton() everwhere and check for errors
2441
2442 2008-06-26  Dan Williams <dcbw@redhat.com>
2443
2444         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2445
2446 2008-06-26  Dan Williams <dcbw@redhat.com>
2447
2448         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2449
2450         * src/nm-device-wifi.c
2451                 - (link_timeout_cb): don't ignore disconnects due to scanning
2452                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2453                         a longer timeout when scanning; avoids case where supplicant can't
2454                         find the AP and just keeps scanning forever but isn't connected
2455
2456 2008-06-26  Dan Williams <dcbw@redhat.com>
2457
2458         Patch from Michael Biebl <biebl@debian.org>
2459
2460         * Clean up build system stuff
2461
2462 2008-06-23  Christian Persch  <chpe@gnome.org>
2463
2464         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2465         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2466         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2467         (impl_get_object):
2468         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2469         (impl_get_object):
2470         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2471         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2472         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2473         (impl_get_object):
2474         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2475         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2476         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2477         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2478         * vpn-daemons/pptp/properties/vpnui_opt.c:
2479         (vpnui_opt_connect_signals):
2480         * vpn-daemons/pptp/properties/vpnui_opt.h:
2481         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2482         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2483         deprecated gtk type macros. Bug #539325.
2484
2485 2008-06-20  Dan Williams  <dcbw@redhat.com>
2486
2487         * libnm-glib/nm-vpn-plugin-ui-interface.c
2488           libnm-glib/nm-vpn-plugin-ui-interface.h
2489                 - 'validity-changed' -> 'changed' to work better with the connection
2490                         editor.  Plugin UI widgets should emit 'changed' whenever their
2491                         UI values change in a meaningful way.
2492                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2493                         update_connection member now returns validity of the UI widget
2494
2495 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2496
2497         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2498
2499 2008-06-17  Dan Williams  <dcbw@redhat.com>
2500
2501         * libnm-glib/nm-vpn-plugin-ui-interface.c
2502           libnm-glib/nm-vpn-plugin-ui-interface.h
2503                 - Add "desc" property for longer descriptions of the VPN plugin
2504
2505 2008-06-16  Dan Williams  <dcbw@redhat.com>
2506
2507         * configure.in
2508           libnm-glib/libnm_glib_vpn.pc.in
2509                 - add a .pc file for libnm_glib_vpn
2510
2511         * libnm-glib/nm-vpn-plugin-ui-interface.c
2512           libnm-glib/nm-vpn-plugin-ui-interface.h
2513                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2514                         rework it substantially
2515
2516 2008-06-12  Dan Williams  <dcbw@redhat.com>
2517
2518         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2519         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2520         returns a descriptive GError when verification fails.
2521
2522 2008-06-11  Dan Williams  <dcbw@redhat.com>
2523
2524         Patch from Tambet Ingo <tambet@gmail.com>
2525
2526         * libnm-util/nm-setting-gsm.c
2527                 - (verify): validate APN
2528
2529         * src/nm-gsm-device.c
2530                 - (manual_registration_done): start setting APN if needed
2531                 - (set_apn, set_apn_done): set the APN
2532                 - (do_dial): use the APN when dialing
2533
2534 2008-06-11  Dan Williams  <dcbw@redhat.com>
2535
2536         * src/NetworkManagerSystem.c
2537                 - (nm_system_device_set_ip4_route,
2538                    nm_system_device_replace_default_ip4_route): check for the right
2539                         return value from rtnl_route_add() to know when to add a gateway
2540                         route (from Tambet)
2541
2542 2008-06-11  Dan Williams  <dcbw@redhat.com>
2543
2544         * src/NetworkManagerPolicy.c
2545                 - do_ipt_cmd -> do_cmd
2546                 - (sharing_init): use do_cmd() instead of system()
2547
2548 2008-06-10  Dan Williams  <dcbw@redhat.com>
2549
2550         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2551         and use "wifi" everwhere instead.
2552
2553 2008-06-10  Dan Williams  <dcbw@redhat.com>
2554
2555         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2556
2557 2008-06-10  Dan Williams  <dcbw@redhat.com>
2558
2559         Patch from Tambet Ingo <tambet@gmail.com>
2560
2561         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2562                 changes.
2563
2564         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2565                 a signal to emit these changes over dbus.
2566
2567         * src/Makefile.am: Genereate nm-serial-device-glue.
2568
2569         * libnm-glib/nm-serial-device.[ch]: Implement.
2570
2571         * libnm-glib/nm-cdma-device.[ch]
2572           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2573
2574         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2575
2576         * introspection/nm-device-serial.xml: Implement.
2577
2578         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2579
2580         * introspection/Makefile.am: Add nm-device-serial.xml.
2581
2582         * include/NetworkManager.h: Add a DBus interface for serial device.
2583
2584 2008-06-10  Dan Williams  <dcbw@redhat.com>
2585
2586         * configure.in
2587                 - Add TARGET_* define to config.h to distinguish distros
2588
2589         * src/dhcp-manager/nm-dhcp-manager.c
2590                 - (dhclient_run): use distro-specific path for dhclient config file
2591
2592 2008-06-09  Dan Williams  <dcbw@redhat.com>
2593
2594         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2595           src/dnsmasq-manager/nm-dnsmasq-manager.h
2596                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2597                         calculate the addresses passed to dnsmasq instead of hard-coding
2598                         them
2599
2600         * src/nm-device.c
2601                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2602                         IP addresses for shared connections to guard against shared
2603                         connection address collisions
2604                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2605                         error conditions
2606                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2607                         the dnsmasq manager
2608
2609 2008-06-09  Dan Williams  <dcbw@redhat.com>
2610
2611         * src/NetworkManagerPolicy.c
2612                 - (update_routing_and_dns): set the default connection _after_ unsetting
2613                         default on all non-default connections so that two connections can
2614                         never be default at the same time
2615                 - (device_state_changed): start and stop connection sharing when
2616                         needed
2617                 - (active_connection_default_changed): restart or stop sharing when
2618                         the default connection changes to keep shared connections always
2619                         NAT-ed through the default connection
2620                 - (check_sharing): handle activation/deactivation of shared connections
2621                 - (sharing_restart): atom-bomb approach to connection sharing until we
2622                         can use libnl; reinit all sharing when the default connection or
2623                         shared connections change
2624                 - (sharing_init, sharing_stop): evil functions that init and deinit
2625                         iptables
2626
2627 2008-06-09  Dan Williams  <dcbw@redhat.com>
2628
2629         * src/nm-activation-request.c
2630           src/nm-activation-request.h
2631                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2632                    nm_act_request_get_device): new functions to facilitate connection
2633                         sharing
2634
2635 2008-06-09  Dan Williams  <dcbw@redhat.com>
2636
2637         * src/nm-device.c
2638                 - (clear_act_request): unset the 'default' property of the activation
2639                         request when clearing it to ensure the property changed signal gets
2640                         delivered and handled
2641
2642 2008-06-09  Dan Williams  <dcbw@redhat.com>
2643
2644         * libnm-glib/nm-device-802-11-wireless.c
2645                 - (access_point_removed_proxy): actually unref the AP after removing
2646                         it from the device's AP list.  Fixes refcounting bug for APs that
2647                         caused them to get mixed up in the applet's menu.
2648
2649 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2650
2651         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2652         (nm_dhcp_device_destroy): Destroy the device options hash table.
2653
2654 2008-06-06  Dan Williams <dcbw@redhat.com>
2655
2656         * system-settings/src/nm-polkit-helpers.c
2657                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2658                         unref the context if the initialization fails; also avoid spew when
2659                         the error isn't set
2660
2661 2008-06-06  Dan Williams <dcbw@redhat.com>
2662
2663         Patch from Tambet Ingo  <tambet@gmail.com>
2664
2665         * src/NetworkManagerSystem.c
2666           src/NetworkManagerSystem.h
2667                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2668                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2669                 - (nm_system_device_set_ip4_route): clean up
2670                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2671
2672         * src/nm-device.c
2673                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2674
2675         * src/vpn-manager/nm-vpn-connection.c
2676                 - (ip_address_to_string): new function
2677                 - (print_vpn_config): use ip_address_to_string
2678                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2679                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2680
2681         * include/NetworkManagerVPN.h
2682                 - Add 'routes' key
2683
2684 2008-06-05  Dan Williams <dcbw@redhat.com>
2685
2686         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2687
2688         * test/nm-tool.c
2689                 - Show which device is the default device
2690
2691 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2692
2693         Fix memory leaks.
2694
2695         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2696         Free data returned from dbus method call.
2697
2698         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2699         dbus_g_method_get_sender() returns a duplicated string, free it 
2700         when done.
2701         (check_polkit_privileges): Looks like policykit sometimes returns
2702         error and non-null return value, don't leak errors in that case.
2703
2704         * system-settings/src/main.c (find_plugin): Don't leak existing 
2705         plugin names.
2706         (load_stuff): Don't leak device list and list items.
2707         (have_connection_for_device): Don't leak connection list.
2708
2709         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2710         Free the data received from g_keyfile_get_*.
2711
2712         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2713         the key when the security object is updated.
2714
2715         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2716         Free data returned from dbus method call.
2717         (iface_state_cb): Ditto.
2718         (add_network_cb): Ditto.
2719         (nm_supplicant_interface_add_cb): Don't make another copy of already
2720         duplicated object path.
2721         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2722         when done.
2723
2724         * src/supplicant-manager/nm-supplicant-config.c 
2725         (ADD_STRING_LIST_VAL): Fix a memory leak.
2726
2727         * src/nm-manager.c (free_get_settings_info): Free the allocated
2728         memory slice.
2729         (list_connections_cb): Free data returned from dbus method call.
2730         (system_settings_get_unmanaged_devices_cb): Ditto.
2731
2732         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2733
2734         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2735         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2736         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2737         of the GList.
2738
2739         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2740         arguments after the object is created.
2741
2742 2008-06-04  Dan Williams <dcbw@redhat.com>
2743
2744         * libnm-util/Makefile.am
2745                 - Don't distribute nm-param-spec-specialized.h
2746
2747 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2748
2749         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2750
2751         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2752         NMIP4Address, update the getters and setters.
2753
2754         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2755         Use the updated NMIP4Config routes api.
2756
2757         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2758         static routes as well.
2759
2760         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2761         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2762         routes api.
2763
2764 2008-05-30  Dan Williams <dcbw@redhat.com>
2765
2766         * src/named-manager/nm-named-manager.c
2767           src/named-manager/nm-named-manager.h
2768                 - Remove stale/obsolete bits for controlling bind over DBus
2769
2770 2008-05-29  Dan Williams <dcbw@redhat.com>
2771
2772         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2773           src/dnsmasq-manager/nm-dnsmasq-manager.h
2774                 - (nm_dnsmasq_manager_new): move iface argument here
2775                 - (constructor): remove, not needed
2776                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2777                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2778
2779         * src/nm-device.c
2780                 - (real_act_stage4_get_ip4_config,
2781                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2782                         changes
2783
2784 2008-05-29  Dan Williams <dcbw@redhat.com>
2785
2786         * src/nm-device.c
2787                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2788                         something happens to dnsmasq
2789                 - (nm_device_new_ip4_shared_config): new function; create a new
2790                         ip4-config for shared connections.  Shared connections always use a
2791                         fixed static IP address.
2792                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2793                         autoip connections by actually using the returned ip4-config and
2794                         not leaking it
2795                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2796                         connections
2797                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2798                         if its active
2799
2800 2008-05-29  Dan Williams <dcbw@redhat.com>
2801
2802         * src/nm-device-802-11-wireless.c
2803                 - (real_get_best_auto_connection): auto-activate 'shared' method
2804                         connections too
2805
2806 2008-05-29  Dan Williams <dcbw@redhat.com>
2807
2808         * libnm-util/nm-setting-ip4-config.c
2809           libnm-util/nm-setting-ip4-config.h
2810                 - Add a 'shared' method to indicate that this connection should be
2811                         brought up with a DHCP and proxy DNS server to facilitate
2812                         connection sharing.
2813                 - (verify): 'shared' method doesn't allow DNS or searches either
2814
2815 2008-05-29  Dan Williams <dcbw@redhat.com>
2816
2817         * configure.in
2818           src/Makefile.am
2819           src/dnsmasq-manager/Makefile.am
2820           src/dnsmasq-manager/nm-dnsmasq-manager.c
2821           src/dnsmasq-manager/nm-dnsmasq-manager.h
2822                 - Add a dnsmasq daemon manager to facilitate connection sharing
2823
2824 2008-05-29  Dan Williams <dcbw@redhat.com>
2825
2826         * src/nm-device-private.h
2827                 - Remove unused prototypes and clean up
2828
2829         * src/nm-device.c
2830                 - Remove anything related to system_config_data, which is no longer used
2831                 - (nm_device_new_ip4_autoip_config): make static
2832
2833 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2834
2835         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2836         (file_changed): Fix a bug where suse system settings plugin didn't
2837         update the connections automatically when the files changed.
2838
2839 2008-05-28  Dan Williams  <dcbw@redhat.com>
2840
2841         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2842
2843 2008-05-28  Dan Williams  <dcbw@redhat.com>
2844
2845         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2846
2847         * src/NetworkManagerSystem.c
2848                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2849                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2850                         was causing -EINVAL errors since the libnl code actually does flush
2851                         the routes on VPN interfaces now
2852
2853         * src/backends/NetworkManagerArch.c
2854           src/backends/NetworkManagerDebian.c
2855           src/backends/NetworkManagerFrugalware.c
2856           src/backends/NetworkManagerGeneric.c
2857           src/backends/NetworkManagerGentoo.c
2858           src/backends/NetworkManagerMandriva.c
2859           src/backends/NetworkManagerPaldo.c
2860           src/backends/NetworkManagerRedHat.c
2861           src/backends/NetworkManagerSlackware.c
2862           src/backends/NetworkManagerSuSE.c
2863                 - (nm_system_device_flush_ip4_routes,
2864                    nm_system_device_flush_ip4_routes_with_iface): remove
2865
2866 2008-05-28  Dan Williams  <dcbw@redhat.com>
2867
2868         * libnm-util/nm-setting-wireless.c
2869           libnm-util/nm-setting-wireless.h
2870                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2871                         'adhoc-create' property, which when TRUE indicates that NM should
2872                         create this connection as an adhoc wifi network if it's not found
2873                         as an adhoc network during scanning.  Can be used to auto-create
2874                         adhoc networks when used in combination with autoconnect.
2875
2876 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2877
2878         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2879
2880         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2881         checked, it doesn't work on some devices.
2882
2883 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2884
2885         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2886         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2887
2888         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2889         Use inet_aton() everywhere to improve error detection.
2890         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2891         provided.
2892
2893 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2894
2895         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2896         Fix a typo.
2897
2898 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2899
2900         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2901         reference counting issue.
2902
2903 2008-05-23  Dan Williams  <dcbw@redhat.com>
2904
2905         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2906
2907         * src/backends/NetworkManagerGeneric.c
2908                 - (nm_generic_enable_loopback): use libnl
2909
2910 2008-05-23  Dan Williams  <dcbw@redhat.com>
2911
2912         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2913
2914         * src/NetworkManagerSystem.h
2915           src/backends/NetworkManagerArch.c
2916           src/backends/NetworkManagerDebian.c
2917           src/backends/NetworkManagerFrugalware.c
2918           src/backends/NetworkManagerGentoo.c
2919           src/backends/NetworkManagerMandriva.c
2920           src/backends/NetworkManagerPaldo.c
2921           src/backends/NetworkManagerRedHat.c
2922           src/backends/NetworkManagerSlackware.c
2923           src/backends/NetworkManagerSuSE.c
2924                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2925                    nm_system_flush_arp_cache): remove, unused
2926
2927         * src/backends/NetworkManagerGeneric.c
2928           src/backends/NetworkManagerGeneric.h
2929                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2930                    nm_generic_flush_arp_cache): remove, unused
2931
2932 2008-05-23  Dan Williams  <dcbw@redhat.com>
2933
2934         * system-settings/plugins/ifcfg-fedora/reader.c
2935                 - (make_ip4_setting): honor PEERDNS setting
2936
2937 2008-05-23  Dan Williams  <dcbw@redhat.com>
2938
2939         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2940
2941         * src/NetworkManagerSystem.c
2942                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2943                         libnl
2944
2945         * src/backends/NetworkManagerArch.c
2946           src/backends/NetworkManagerDebian.c
2947           src/backends/NetworkManagerFrugalware.c
2948           src/backends/NetworkManagerGentoo.c
2949           src/backends/NetworkManagerMandriva.c
2950           src/backends/NetworkManagerPaldo.c
2951           src/backends/NetworkManagerRedHat.c
2952           src/backends/NetworkManagerSlackware.c
2953           src/backends/NetworkManagerSuSE.c
2954                 - (nm_system_device_flush_ip4_addresses,
2955                    nm_system_device_flush_ip4_addresses_with_iface): remove
2956
2957         * src/backends/NetworkManagerGeneric.c
2958                 - (nm_generic_device_flush_ip4_addresses,
2959                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2960
2961 2008-05-23  Dan Williams  <dcbw@redhat.com>
2962
2963         * src/supplicant-manager/nm-supplicant-settings-verify.c
2964                 - Switch 'bssid' from bytes to keyword type
2965                 - (validate_type_keyword): allow NULL keyword lists
2966
2967         * src/supplicant-manager/nm-supplicant-config.c
2968                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2969                         a byte array to string form, which is what the supplicant expects
2970
2971 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2972
2973         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2974         information received from DHCP.
2975
2976         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2977         to make it possible to ignore the DNS information (both servers and 
2978         searches) returned by DHCP server.
2979
2980         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2981         name servers and searches if "ignore_dhcp_dns" is set.
2982
2983         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2984         (nm_ip4_config_reset_searches): Implement.
2985
2986 2008-05-22  Dan Williams  <dcbw@redhat.com>
2987
2988         Remove anything mDNS related.  This is better done from a distro-specific
2989         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2990         avahi, since avahi can handle interface changes just fine using netlink.
2991
2992         * configure.in
2993                 - Remove --with-mdns-provider
2994
2995         * src/NetworkManagerPolicy.c
2996                 - (global_state_changed): don't restart the mdns provider
2997
2998         * src/NetworkManagerSystem.h
2999           src/backends/NetworkManagerArch.c
3000           src/backends/NetworkManagerDebian.c
3001           src/backends/NetworkManagerFrugalware.c
3002           src/backends/NetworkManagerGentoo.c
3003           src/backends/NetworkManagerMandriva.c
3004           src/backends/NetworkManagerPaldo.c
3005           src/backends/NetworkManagerRedHat.c
3006           src/backends/NetworkManagerSlackware.c
3007           src/backends/NetworkManagerSuSE.c
3008                 - (nm_system_restart_mdns_responder): remove
3009
3010         * src/backends/NetworkManagerGeneric.c
3011           src/backends/NetworkManagerGeneric.h
3012                 - (nm_generic_restart_mdns_responder): remove
3013
3014 2008-05-22  Dan Williams  <dcbw@redhat.com>
3015
3016         * configure.in
3017                 - clean up crypto options; just use --with-crypto=nss or
3018                         --with-crypto=gnutls
3019
3020 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3021
3022         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3023         anymore, do it right away.
3024
3025 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3026
3027         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3028         serial device open when we're not connecting or connected.
3029
3030         * src/nm-cdma-device.c (device_state_changed): Ditto.
3031
3032 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3033
3034         Don't remove all devices on waking up, sync with HAL.
3035
3036         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3037         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3038         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3039
3040 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3041
3042         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3043         If the default gateway is unreachable, add a route to gateway and try
3044         again.
3045
3046 2008-05-20  Dan Williams  <dcbw@redhat.com>
3047
3048         * system-settings/plugins/ifcfg-fedora/reader.c
3049                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3050
3051 2008-05-19  Dan Williams  <dcbw@redhat.com>
3052
3053         * system-settings/plugins/ifcfg-fedora/reader.c
3054                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3055                         if the ifcfg doesn't specify one (rh #446527)
3056
3057 2008-05-19  Dan Williams  <dcbw@redhat.com>
3058
3059         Make the system settings service exit when the bus goes away.  Since it's
3060         a bus-activated service, it's lifetime is limited to the bus that activated
3061         it (rh #444976).
3062
3063         * system-settings/src/Makefile.am
3064           system-settings/src/nm-system-config-hal-manager-private.h
3065                 - Remove nm-system-config-hal-manager-private.h
3066
3067         * system-settings/src/nm-system-config-hal-manager.c
3068                 - (nm_system_config_hal_manager_reinit_dbus,
3069                    nm_system_config_hal_manager_deinit_dbus): remove
3070
3071         * system-settings/src/main.c
3072                 - (dbus_reconnect): remove
3073                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3074                 - (destroy_cb): just quit when the bus goes away
3075                 - (start_dbus_service, dbus_init): simplify
3076                 - (main): destroy the wired devices hash table after destroying
3077                         the HAL manager so we don't have to disconnect signals from the
3078                         HAL manager
3079
3080 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3081
3082         Move crypto functions from nm-applet to libnm-util.
3083
3084         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3085         (nm_setting_802_1x_set_client_cert)
3086         (nm_setting_802_1x_set_phase2_ca_cert)
3087         (nm_setting_802_1x_set_phase2_client_cert)
3088         (nm_setting_802_1x_set_private_key)
3089         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3090         file (or private key and it's password), read the certificate data.
3091
3092         * libnm-util/crypto_nss.c: 
3093         * libnm-util/crypto_gnutls.c: 
3094         * libnm-util/crypto.[ch]: Move here from nm-applet.
3095
3096         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3097
3098         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3099         Imlement WPA-EAP configuration reading from sysconfig.
3100
3101 2008-05-16  Dan Williams  <dcbw@redhat.com>
3102
3103         * src/nm-device-802-11-wireless.c
3104                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3105                         wireless
3106
3107 2008-05-14  Dan Williams  <dcbw@redhat.com>
3108
3109         Fix Linus' bug in rh #134886
3110
3111         * src/nm-device-802-3-ethernet.c
3112                 - (constructor): request initial carrier state
3113
3114         * src/nm-netlink-monitor.c
3115                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3116                         signals after refilling the link cache.  Because the refill is a 
3117                         synchronous operation, the normal message hander won't get called
3118                         since libnl has already consumed the messages.
3119                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3120
3121 2008-05-14  Dan Williams  <dcbw@redhat.com>
3122
3123         * src/NetworkManagerSystem.c
3124                 - (nm_system_device_is_up_with_iface): clean up
3125
3126 2008-05-13  Dan Williams  <dcbw@redhat.com>
3127
3128         Fix refcounting issues over sleep/wake when a VPN connection was active that
3129         caused NM to try registering an object path for a device upon wake that was
3130         the same as an already registered object path.
3131
3132         * src/nm-device.c
3133                 - (nm_device_take_down): properly handle cases where the device is
3134                         no longer active but was just active, and therefore must be
3135                         deactivated.  When a device moves to unmanaged mode, this function
3136                         previously would not deactivate the device, because the state was
3137                         already unmanaged by the time this function was called.
3138
3139         * src/vpn-manager/nm-vpn-connection.c
3140                 - (device_state_changed): properly handle multiple devices states in
3141                         which the device is now deactivated.  Code previously didn't handle
3142                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3143                         UNMANAGED states.
3144
3145 2008-05-13  Dan Williams  <dcbw@redhat.com>
3146
3147         * src/nm-device-private.h
3148           src/nm-device.c
3149                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3150
3151         * src/nm-device-802-11-wireless.c
3152                 - (nm_device_802_11_wireless_set_enabled): take devices up
3153                         and down as appropriate for the rfkill state
3154
3155 2008-05-13  Dan Williams  <dcbw@redhat.com>
3156
3157         * marshallers/nm-marshal.list
3158                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3159
3160         * system-settings/plugins/ifcfg-fedora/Makefile.am
3161           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3162           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3163                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3164                         events.  Solely for use watching ifcfg files to pick up changes
3165                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3166
3167         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3168                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3169                         file contents change
3170                 - (finalize): clean up inotify watches
3171                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3172                         and the connection ifcfg for changes on their hardlinks
3173                 - (files_changed_cb): proxy the changed signal back out to listeners
3174
3175         * system-settings/plugins/ifcfg-fedora/plugin.c
3176                 - (dir_changed): 
3177                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3178                         changes
3179                 - (read_one_connection): connect to change signals on the new connection
3180                 - (dir_changed, connection_changed_handler,
3181                    handle_connection_remove_or_new): break out connection change
3182                         handling and connection new/remove handling so it can be used from
3183                         both the GFileMonitor callback and the NMIfcfgConnection changed
3184                         signals
3185
3186         * system-settings/plugins/ifcfg-fedora/reader.c
3187           system-settings/plugins/ifcfg-fedora/reader.h
3188                 - (connection_from_file): return the keyfile path the connection would use
3189
3190 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3191
3192         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3193         single PolKitContext which is shared by all. PolKitContext::unref leaks
3194         just about everything, including all open file descriptiors and results
3195         in 99% cpu usage when data arrives to any of the fds that don't belong
3196         to any context anymore.
3197
3198 2008-05-12  Dan Williams  <dcbw@redhat.com>
3199
3200         * gfilemonitor/glocaldirectorymonitor.c
3201           gfilemonitor/glocaldirectorymonitor.h
3202                 - (g_local_directory_monitor_constructor): actually subscribe to the
3203                         watch
3204                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3205
3206         * gfilemonitor/glocalfilemonitor.c
3207           gfilemonitor/glocalfilemonitor.h
3208                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3209                 - (_g_local_file_monitor_new): ensure that inotify is started up
3210
3211 2008-05-11  Dan Williams  <dcbw@redhat.com>
3212
3213         * configure.in
3214                 - record PolicyKit version
3215
3216         * system-settings/src/nm-polkit-helpers.c
3217                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3218                         with PolicyKit <= 0.6
3219
3220 2008-05-11  Dan Williams  <dcbw@redhat.com>
3221
3222         Update Fedora system-settings plugin to support latest API and use
3223         GFileMonitor rather than home-rolled inotify code.
3224
3225         * system-settings/plugins/ifcfg-fedora/Makefile.am
3226           system-settings/plugins/ifcfg-fedora/common.h
3227           system-settings/plugins/ifcfg-fedora/plugin.c
3228                 - Update to latest system settings plugin API; use GIO instead of
3229                         custom inotify code; use NMIfcfgConnection objects instead of
3230                         ConnectionData structures tacked onto NMConnection objects
3231
3232         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3233           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3234                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3235                         connections
3236
3237         * system-settings/plugins/ifcfg-fedora/reader.c
3238           system-settings/plugins/ifcfg-fedora/reader.h
3239                 - Move ifcfg parsing bits here from parser.c
3240
3241         * system-settings/plugins/ifcfg-fedora/parser.c
3242           system-settings/plugins/ifcfg-fedora/parser.h
3243                 - Remove; most code moved to reader.c
3244
3245 2008-05-11  Dan Williams  <dcbw@redhat.com>
3246
3247         * configure.in
3248           Makefile.am
3249           gfilemonitor/*
3250                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3251                         implementation, so that the same change monitoring code can be used
3252                         on systems without glib-2.14 (like Fedora 8)
3253
3254         * system-settings/plugins/keyfile/Makefile.am
3255           system-settings/plugins/keyfile/plugin.c
3256           system-settings/plugins/ifcfg-suse/Makefile.am
3257           system-settings/plugins/ifcfg-suse/plugin.c
3258                 - Use private gfilemonitor code if GIO is not present
3259
3260 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3261
3262         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3263         NMExportedConnection's 'update' and 'delete' and return error with
3264         descriptive message.
3265
3266 2008-05-08  Dan Williams  <dcbw@redhat.com>
3267
3268         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3269
3270         * src/nm-gsm-device.c
3271           src/nm-cdma-device.c
3272                 - (real_get_best_auto_connection): implement; allow autoconnection
3273                         to GSM & CDMA devices
3274
3275 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3276
3277         Use PolicyKit to authorize the system settings' AddConnection method
3278         and the system settings connections' Update and Delete methods.
3279         
3280         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3281         (impl_exported_connection_delete, nm_exported_connection_update)
3282         (nm_exported_connection_delete): Return boolean and fill GError
3283         to notify the callers of the reasons why it might have failed.
3284
3285         * libnm-glib/nm-dbus-settings-system.c
3286         (nm_dbus_settings_system_add_connection): Return the error from dbus
3287         call so that the callers can see why it failed.
3288
3289         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3290         signatures.
3291
3292         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3293
3294         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3295         abstract base class that checks PolicyKit permissions.
3296
3297         * system-settings/src/dbus-settings.c:
3298         (impl_settings_add_connection): Check the policy before carring out
3299         the request.
3300
3301         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3302         Inherit from NMSysconfigConnection, check the policies before
3303         allowing updating or removing.
3304
3305         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3306         Inherit from NMSysconfigConnection.
3307
3308         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3309         "Delete" methods with async flag so that the implementations can get
3310         access to DBusGMethodInvocation.
3311
3312         * system-settings/src/dbus-settings.c 
3313         (settings_add_connection_check_privileges): Implement.
3314         (impl_settings_add_connection): Check the privileges before adding a new
3315         connection. Improve error reporting.
3316
3317         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3318         async so that the implementation can access DBusGMethodInvocation.
3319
3320         * configure.in: Check for PolicyKit.
3321
3322         * policy/org.freedesktop.network-manager-settings.system.policy: 
3323         New file.
3324
3325         * policy/Makefile.am: Install the policy file.
3326
3327         * configure.in: Add 'policy' subdir.
3328
3329 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3330
3331         Rewrite the suse system settings plugin.
3332
3333         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3334
3335         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3336
3337         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3338
3339         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3340
3341         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3342
3343         * system-settings/src/main.c (load_plugins): Improve error reporting.
3344
3345         * system-settings/src/sha1.[ch] Add.
3346
3347         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3348
3349 2008-05-07  Dan Williams  <dcbw@redhat.com>
3350
3351         * system-settings/plugins/keyfile/reader.c
3352                 - (read_one_setting_value): handle IP address items separately
3353                 - (read_array_of_uint): read IPv4 DNS option as a string array
3354                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3355                         array
3356
3357         * system-settings/plugins/keyfile/writer.c
3358                 - (write_setting_value): handle IP address items separately
3359                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3360                         not an array of uint, so that it's user-editable
3361                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3362                         arrays, so they are user-editable
3363
3364 2008-05-07  Dan Williams  <dcbw@redhat.com>
3365
3366         * system-settings/plugins/keyfile/Makefile.am
3367                 - Change location of the keyfile plugin settings to
3368                         /etc/NetworkManager/system-connections
3369
3370 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3371
3372         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3373
3374         * system-settings/plugins/keyfile/plugin.c: Work with
3375         NMKeyfileConnections.
3376
3377         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3378         Plugins are supposed to return NMExportedConnections now and handle the
3379         updated(), removed(), and GetSecrets().
3380         Store the internal list of connections in hash table to make it easier
3381         to find duplicates.
3382
3383 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3384
3385         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3386         for multiple IP addresses.
3387
3388 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3389
3390         Patch from André Lemos.
3391
3392         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3393         corruption.
3394
3395 2008-05-06  Dan Williams  <dcbw@redhat.com>
3396
3397         * src/dhcp-manager/nm-dhcp-manager.c
3398                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3399                         NMIP4Config to support multiple IP addresses
3400
3401         * src/NetworkManagerUtils.c
3402                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3403
3404         * src/nm-ip4-config.c
3405           src/nm-ip4-config.h
3406                 - Store a list of IPv4 address/netmask/gateway tuples
3407                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3408                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3409                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3410                    nm_ip4_config_set_address): remove
3411                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3412                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3413                         new functions; handle multiple IPv4 addresses
3414
3415         * src/nm-device.c
3416           src/ppp-manager/nm-ppp-manager.c
3417           src/vpn-manager/nm-vpn-connection.c
3418           src/NetworkManagerPolicy.c
3419           test/nm-tool.c
3420           libnm-glib/libnm-glib-test.c
3421                 - update for changes to NMIP4Config for multiple IPv4 addresses
3422
3423         * src/NetworkManagerSystem.c
3424                 - (nm_system_device_set_ip4_route): don't add the route if any address
3425                         is on the same subnet as the destination
3426                 - (check_one_address): ignore the exact match, just match family and
3427                         interface index
3428                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3429                         an interface
3430                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3431                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3432
3433         * introspection/nm-ip4-config.xml
3434                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3435                 - Add 'addresses' property which is an array of (uuu) tuples of
3436                         address/netmask/gateway
3437
3438         * libnm-util/nm-setting-ip4-config.c
3439                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3440
3441         * libnm-glib/nm-ip4-config.c
3442           libnm-glib/nm-ip4-config.h
3443                 - Handle D-Bus interface changes to support multiple IP addresses
3444
3445 2008-05-06  Dan Williams  <dcbw@redhat.com>
3446
3447         * libnm-util/nm-utils.c
3448           libnm-util/nm-utils.h
3449                 - (nm_utils_ip4_addresses_from_gvalue,
3450                    nm_utils_ip4_addresses_to_gvalue): new functions
3451
3452 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3453
3454         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3455         the returned connection paths.
3456
3457 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3458
3459         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3460         "PropertiesChanged" signal signature.
3461
3462         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3463         defined in nm-dbus-glib-types.h.
3464         Don't register the connection on dbus, we're a proxy class to 
3465         communicate with an already registered connection over dbus.
3466
3467 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3468
3469         Implement new subclasses of NMSettings and NMExportedConnection to make
3470         it easier for the applet to access and modify system settings.
3471
3472         * libnm-glib/nm-dbus-connection.[ch]:
3473         * libnm-glib/nm-dbus-settings.[ch]:
3474         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3475
3476         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3477         bindings and glue.
3478
3479         * include/NetworkManager.h: Define the system settings DBus interface.
3480
3481 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3482
3483         Implement additional C API for exported connections to make them identical
3484         with the DBus API. Change the (list_connections) virtual function to be
3485         more usable from C - instead of requiring implementers to return a GPtrArray
3486         of dbus paths, return a list of connections.
3487
3488         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3489         (nm_settings_list_connections):
3490         (nm_exported_connection_new):
3491         (nm_exported_connection_update):
3492         (nm_exported_connection_delete): Implement.
3493
3494         (impl_settings_list_connections):
3495         (impl_exported_connection_update):
3496         (impl_exported_connection_delete): Use the new public functions to make 
3497         sure the C and dbus interfaces stay in sync.
3498
3499         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3500         connections.
3501
3502 2008-05-02  Dan Williams  <dcbw@redhat.com>
3503
3504         * system-settings/plugins/ifcfg-fedora/plugin.c
3505                 - (dispose): use right unref call on the DBusGConnection
3506
3507 2008-05-02  Dan Williams  <dcbw@redhat.com>
3508
3509         * src/nm-serial-device.c
3510                 - (find_terminator): don't compare the whole line, just the size of the
3511                         terminator, since some modems put stuff after the terminator, like
3512                         "CONNECT 9600"
3513
3514 2008-05-01  Dan Williams  <dcbw@redhat.com>
3515
3516         Patch from Michael Biebl <biebl@debian.org>
3517
3518         * callouts/Makefile.am
3519           callouts/org.freedesktop.nm_dispatcher.service.in
3520           system-settings/src/Makefile.am
3521           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3522                 - use the right install location for dbus-activated stuff
3523
3524 2008-04-30  Dan Williams  <dcbw@redhat.com>
3525
3526         * src/nm-gsm-device.c
3527                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3528                         PIN or PUK
3529
3530 2008-04-30  Dan Williams  <dcbw@redhat.com>
3531
3532         * src/nm-manager.c
3533                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3534
3535 2008-04-30  Dan Williams  <dcbw@redhat.com>
3536
3537         * src/nm-device-802-3-ethernet.c
3538           src/nm-device-802-11-wireless.c
3539                 - (real_is_up): return true instead of chaining up to unimplemented
3540                         parent method
3541
3542 2008-04-30  Dan Williams  <dcbw@redhat.com>
3543
3544         * src/NetworkManagerSystem.c
3545           src/NetworkManagerSystem.h
3546                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3547                         functions to check device flags for IFF_UP
3548
3549         * src/nm-serial-device.c
3550                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3551                         implement is_up
3552
3553         * src/nm-device-802-3-ethernet.c
3554           src/nm-device-802-11-wireless.c
3555                 - (real_hw_is_up): call nm_system_device_is_up()
3556
3557         * src/nm-device.c
3558                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3559                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3560                         does not implement
3561
3562 2008-04-29  Dan Williams  <dcbw@redhat.com>
3563
3564         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3565
3566         * marshallers/nm-marshal.list
3567                 - Add marshaller
3568
3569         * src/NetworkManager.c
3570                 - (main): let the NMManager handle the NMHalManager
3571
3572         * src/nm-hal-manager.c
3573           src/nm-hal-manager.h
3574                 - convert to a GObject, and emit singals when stuff changes.  Let the
3575                         NMManager handle the signals, instead of the NMHalManager calling
3576                         into the NMManager.  
3577
3578         * src/nm-manager.c
3579           src/nm-manager.h
3580                 - (remove_one_device): consolidate device removals here
3581                 - (dispose): use remove_one_device()
3582                 - (nm_manager_get_device_by_udi): make static
3583                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3584                         manager for devices at startup or wakeup time
3585                 - (nm_manager_new): create and monitor the HAL manager
3586                 - (hal_manager_udi_added_cb): new function; do what
3587                         nm_manager_add_device() used to do when signalled by the hal manager
3588                 - (hal_manager_udi_removed_cb): new function; do what
3589                         nm_manager_remove_device() used to do when signalled by the hal
3590                         manager
3591                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3592                         hal manager
3593                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3594                         in our device list that aren't known to HAL
3595                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3596                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3597                         commits ago
3598                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3599                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3600                    nm_manager_wireless_hardware_enabled,
3601                    nm_manager_set_wireless_hardware_enabled): remove, unused
3602
3603 2008-04-28  Dan Williams  <dcbw@redhat.com>
3604
3605         Fix the device up/down ambiguities.  Up/down state used to be a
3606         conglomeration of hardware state (IFF_UP) and any device-specific things
3607         (supplicant, periodic timers, etc) that the device used to indicate
3608         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3609         reason, then the device specific stuff wouldn't get run, and the device
3610         would be stuck.
3611
3612         * src/nm-device.c
3613           src/nm-device.h
3614                 - Create hw_is_up, hw_bring_up, and hw_take_down
3615                 - Rename bring_down -> take_down
3616                 - (real_hw_is_up): check interface flags for IFF_UP
3617                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3618                 - (nm_device_is_up): make static; only used locally
3619                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3620                         if the device is already up; if the device isn't up, bring it up
3621                 - (nm_device_hw_take_down): just take down hardware
3622                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3623                 - (nm_device_take_down): always deactivate device when called; always
3624                         try to take hardware down too
3625                 - (nm_device_state_changed): take device down when entering unmanaged
3626                         state from a higher state
3627
3628         * src/nm-device-802-11-wireless.c
3629                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3630                         check IFF_UP really
3631                 - (real_take_down, supplicant_iface_state_cb_handler, 
3632                    supplicant_iface_connection_state_cb_handler,
3633                    supplicant_mgr_state_cb_handler): fix some messages
3634
3635         * src/nm-device-802-3-ethernet.c
3636                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3637                         check IFF_UP really
3638
3639 2008-04-28  Dan Williams  <dcbw@redhat.com>
3640
3641         * src/nm-manager.c
3642           src/nm-manager.h
3643                 - (nm_manager_error_get_type): add new error
3644                 - (nm_manager_remove_device): don't bother taking down the device here,
3645                         the state change from unmanaging the device will do it
3646                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3647                         uses it; when going to sleep, just unmanage the device instead of
3648                         taking it down, because stuff will cleaned up correctly when the
3649                         device gets unmanaged
3650
3651 2008-04-28  Dan Williams  <dcbw@redhat.com>
3652
3653         * src/nm-hal-manager.c
3654                 - (add_initial_devices): convert to a GSourceFunc prototype
3655                 - (nm_manager_state_changed): when coming out of sleep, punt the
3656                         device re-addition to an idle handler to let D-Bus events go out
3657                         first, fixing a potential dbus-glib assert if the old device was
3658                         not yet disposed (due to references held while emitting the D-Bus
3659                         signals) but the new device was found, because the mainloop didn't
3660                         run between signal emission and add_initial_devices()
3661
3662 2008-04-27  Dan Williams  <dcbw@redhat.com>
3663
3664         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3665
3666         * initscript/paldo/NetworkManager.in
3667           initscript/SUSE/networkmanager.in
3668                 - Remove last bits of dhcdbd
3669
3670 2008-04-27  Dan Williams  <dcbw@redhat.com>
3671
3672         * src/nm-device-802-11-wireless.c
3673                 - (link_timeout_cb): don't ask for secrets when disconnected during
3674                         association/authentication phase, drivers are still just too crappy
3675
3676 2008-04-27  Dan Williams  <dcbw@redhat.com>
3677
3678         * Makefile.am
3679           configure.in
3680           dispatcher-daemon/Makefile.am
3681           dispatcher-daemon/NetworkManagerDispatcher.c
3682           initscript/Arch/Makefile.am
3683           initscript/Arch/networkmanager-dispatcher.in
3684           initscript/Gentoo/Makefile.am
3685           initscript/Gentoo/NetworkManagerDispatcher.in
3686           initscript/Mandriva/Makefile.am
3687           initscript/Mandriva/networkmanagerdispatcher.in
3688           initscript/RedHat/Makefile.am
3689           initscript/RedHat/NetworkManagerDispatcher.in
3690           initscript/SUSE/Makefile.am
3691           initscript/SUSE/networkmanager-dispatcher.in
3692           initscript/Slackware/Makefile.am
3693           initscript/Slackware/rc.networkmanager-dispatcher.in
3694           initscript/paldo/Makefile.am
3695           initscript/paldo/NetworkManagerDispatcher.in
3696           man/Makefile.am
3697           man/NetworkManagerDispatcher.8.in
3698                 - Remove the dispatcher daemon
3699
3700 2008-04-27  Dan Williams  <dcbw@redhat.com>
3701
3702         * callouts/Makefile.am
3703           callouts/nm-dispatcher-action.c
3704           callouts/nm-dispatcher-action.h
3705           callouts/nm-dispatcher.conf
3706           callouts/nm-dispatcher.xml
3707           callouts/org.freedesktop.nm_dispatcher.service
3708                 - Re-implement the dispatcher as a system-bus activated service that
3709                         NM calls on-demand, rather than an always running daemon
3710
3711         * src/Makefile.am
3712                 - Add callouts dir to includes to pick up dispatcher defines
3713
3714         * src/nm-device.c
3715                 - (nm_device_state_changed): call dispatcher on device activated/
3716                         deactivated
3717
3718         * src/vpn-manager/nm-vpn-connection.c
3719                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3720                         go up and down
3721
3722         * src/NetworkManagerUtils.c
3723           src/NetworkManagerUtils.h
3724                 - (nm_utils_call_dispatcher): helper to call dispatcher
3725
3726 2008-04-27  Dan Williams  <dcbw@redhat.com>
3727
3728         * src/NetworkManagerUtils.c
3729           src/NetworkManagerUtils.h
3730                 - remove unneeded includes
3731                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3732                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3733                    nm_timeval_cmp, nm_timeval_add): remove, unused
3734                 - clean up formatting
3735                 - (nm_spawn_process): de-uglify
3736
3737         * src/nm-device-802-11-wireless.c
3738                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3739
3740 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3741
3742         * initscript/Gentoo/NetworkManager.in:
3743                 Fix for starting the daemon.
3744
3745 2008-04-25  Dan Williams  <dcbw@redhat.com>
3746
3747         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3748
3749         * src/NetworkManagerSystem.c
3750                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3751
3752 2008-04-25  Dan Williams  <dcbw@redhat.com>
3753
3754         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3755
3756         * src/NetworkManagerSystem.c
3757                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3758                         implementation of nm_system_device_replace_default_route()
3759
3760         * src/NetworkManagerPolicy.c
3761                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3762
3763         * src/backends/NetworkManagerArch.c
3764           src/backends/NetworkManagerDebian.c
3765           src/backends/NetworkManagerFrugalware.c
3766           src/backends/NetworkManagerGeneric.c
3767           src/backends/NetworkManagerGeneric.h
3768           src/backends/NetworkManagerGentoo.c
3769           src/backends/NetworkManagerMandriva.c
3770           src/backends/NetworkManagerPaldo.c
3771           src/backends/NetworkManagerRedHat.c
3772           src/backends/NetworkManagerSlackware.c
3773           src/backends/NetworkManagerSuSE.c
3774                 - (nm_system_device_replace_default_route): remove
3775
3776 2008-04-25  Dan Williams  <dcbw@redhat.com>
3777
3778         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3779
3780         * src/NetworkManagerSystem.c
3781                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3782                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3783                         replace nm_system_device_add_route_via_device_with_iface() in the
3784                         backends
3785
3786         * src/backends/NetworkManagerArch.c
3787           src/backends/NetworkManagerDebian.c
3788           src/backends/NetworkManagerFrugalware.c
3789           src/backends/NetworkManagerGeneric.c
3790           src/backends/NetworkManagerGeneric.h
3791           src/backends/NetworkManagerGentoo.c
3792           src/backends/NetworkManagerMandriva.c
3793           src/backends/NetworkManagerPaldo.c
3794           src/backends/NetworkManagerRedHat.c
3795           src/backends/NetworkManagerSlackware.c
3796           src/backends/NetworkManagerSuSE.c
3797                 - Remove nm_system_device_add_route_via_device_with_iface()
3798
3799 2008-04-25  Dan Williams  <dcbw@redhat.com>
3800
3801         * system-settings/plugins/ifcfg-fedora/parser.c
3802                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3803
3804 2008-04-24  Dan Williams  <dcbw@redhat.com>
3805
3806         * dispatcher-daemon/NetworkManagerDispatcher.c
3807                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3808
3809 2008-04-24  Dan Williams  <dcbw@redhat.com>
3810
3811         * initscript/RedHat/NetworkManager.in
3812           initscript/RedHat/NetworkManagerDispatcher.in
3813                 - Be active at runlevel 2
3814                 - Adjust priorities earlier
3815
3816 2008-04-22  Dan Williams  <dcbw@redhat.com>
3817
3818         * src/NetworkManagerPolicy.c
3819                 - (update_routing_and_dns): when checking for a gateway, look at the
3820                         composite IP4 config, not the connection's ip4-config setting, which
3821                         doesn't include DHCP-returned information
3822
3823 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3824
3825         Implement GKeyFile system settings plugin.
3826         Implement writing system settings (currently supported only by GKeyFile plugin).
3827
3828         * system-settings/src/main.c: 
3829         * system-settings/src/dbus-settings.c: Move the communication with plugins
3830         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3831         plugins for adding/updating/removing connections.
3832
3833         * system-settings/src/nm-system-config-interface.c
3834         (nm_system_config_interface_add_connection): Implement
3835         (nm_system_config_interface_update_connection): Implement.
3836         (nm_system_config_interface_remove_connection): Implement.
3837
3838         * system-settings/plugins/keyfile/Makefile.am:
3839         * system-settings/plugins/keyfile/plugin.[ch]:
3840         * system-settings/plugins/keyfile/writer.[ch]:
3841         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3842
3843         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3844
3845         * configure.in: Generate GKeyFile Makefile.
3846
3847         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3848         corruption, need to duplicate the returned string.
3849         (impl_exported_connection_update): Implement.
3850         (impl_exported_connection_delete): Implement.
3851
3852         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3853
3854         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3855
3856 2008-04-22  Dan Williams  <dcbw@redhat.com>
3857
3858         Patch from Charles R. Anderson (cra@wpi.edu)
3859
3860         * src/NetworkManagerPolicy.c
3861                 - (update_routing_and_dns): don't select devices without a gateway
3862                         as having the default route (rh #437338)
3863
3864 2008-04-21  Dan Williams  <dcbw@redhat.com>
3865
3866         * src/nm-activation-request.c
3867           src/nm-activation-request.h
3868                 - (dispose): ensure to disconnect from the device's state-changed signal
3869                         when appropriate so the signal doesn't get handled by an already
3870                         disposed NMActRequest
3871                 - (device_state_changed): update is_default here too just to make sure
3872                         default is only True when the child device is activated
3873                 - (nm_act_request_set_default): new function
3874
3875         * src/NetworkManagerPolicy.c
3876                 - (update_routing_and_dns): set 'default' on the active connection which
3877                         has the default route and DNS
3878
3879 2008-04-21  Dan Williams  <dcbw@redhat.com>
3880
3881         * src/NetworkManagerPolicy.c
3882                 - (device_state_changed): update routing and DNS when a device goes
3883                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3884
3885 2008-04-21  Dan Williams  <dcbw@redhat.com>
3886
3887         * include/NetworkManager.h
3888                 - Add NMActiveConnectionState enum
3889
3890         * introspection/nm-active-connection.xml
3891           introspection/nm-vpn-connection.xml
3892                 - Add 'State' property for overall active connection state
3893                 - Add 'Default' property, when True means this active connection
3894                         has the default route
3895                 - Add PropertyChanged signals so changes actually go out over the bus
3896
3897         * src/nm-active-connection.h
3898                 - Add defines for State & Default properties
3899
3900         * src/nm-activation-request.c
3901                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3902                         signal to determine active connection state
3903
3904         * src/vpn-manager/nm-vpn-connection.c
3905           src/vpn-manager/nm-vpn-connection.h
3906           src/vpn-manager/nm-vpn-manager.c
3907           src/vpn-manager/nm-vpn-service.c
3908                 - Rename old 'state' to 'vpn-state'
3909                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3910                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3911                         'vpn-state-changed' signal
3912
3913         * libnm-glib/nm-active-connection.c
3914           libnm-glib/nm-active-connection.h
3915                 - Add new 'state' and 'default' properties and accessors
3916
3917         * libnm-glib/nm-vpn-connection.c
3918           libnm-glib/nm-vpn-connection.h
3919                 - Rename old 'state' property to 'vpn-state'
3920                 - Add new 'state' and 'default' properties and accessors
3921
3922 2008-04-21  Dan Williams  <dcbw@redhat.com>
3923
3924         * src/nm-ip4-config.c
3925                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3926                         not specified (rh #443474)
3927
3928 2008-04-20  Dan Williams  <dcbw@redhat.com>
3929
3930         * src/NetworkManagerUtils.c
3931           src/NetworkManagerUtils.h
3932                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3933                         NMSettingIP4Config to an NMIP4Config object
3934
3935         * src/nm-device.c
3936                 - (merge_ip4_config): move to NetworkManagerUtils.c
3937
3938         * src/vpn-manager/nm-vpn-connection.c
3939                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3940                         too
3941
3942 2008-04-18  Dan Williams  <dcbw@redhat.com>
3943
3944         * libnm-util/nm-setting-ppp.c
3945           libnm-util/nm-setting-ppp.h
3946                 - Add 'no-vj-comp' option for TCP header compression
3947                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3948                         uint32
3949
3950 2008-04-18  Dan Williams  <dcbw@redhat.com>
3951
3952         * libnm-util/nm-setting-ppp.c
3953           libnm-util/nm-setting-ppp.h
3954           src/ppp-manager/nm-ppp-manager.c
3955                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3956
3957 2008-04-18  Dan Williams  <dcbw@redhat.com>
3958
3959         * libnm-util/nm-setting-ppp.c
3960           libnm-util/nm-setting-ppp.h
3961           src/ppp-manager/nm-ppp-manager.c
3962                 - Remove the 'usepeerdns' option and always request DNS servers from
3963                         the PPP server; the connection chooses to use/override/ignore the
3964                         DNS servers returned from the PPP server
3965
3966 2008-04-18  Dan Williams  <dcbw@redhat.com>
3967
3968         * libnm-util/nm-setting-ppp.c
3969           libnm-util/nm-setting-ppp.h
3970           src/ppp-manager/nm-ppp-manager.c
3971                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3972                         it seems to have been an erroneous addition to the PPTP plugin in
3973                         the first place (from which the ppp-manager is derived)
3974
3975 2008-04-17  Dan Williams  <dcbw@redhat.com>
3976
3977         * libnm-util/nm-setting-pppoe.c
3978                 - (verify): require a PPP setting too
3979
3980         * src/ppp-manager/nm-ppp-manager.c
3981                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3982                         segfaulting
3983
3984 2008-04-17  Dan Williams  <dcbw@redhat.com>
3985
3986         * src/nm-device.c
3987                 - (nm_device_state_changed): do deactivation and and promotion to
3988                         unavailable here, so that the device gets cleaned up before the
3989                         manager runs and starts emitting signals; do the
3990                         FAILED->DISCONNECTED transition from an idle handler rather than
3991                         immediately to guard against recursion
3992                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3993                         FAILED->DISCONNECTED handler if it's scheduled
3994
3995 2008-04-17  Dan Williams  <dcbw@redhat.com>
3996
3997         * src/nm-device-802-11-wireless.c
3998                 - (state_changed_cb): clear AP list when device transitions to
3999                         unavailable or unmanaged
4000                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4001                         since this is already done in device_cleanup()
4002                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4003                         isn't available or managed
4004                 - (device_cleanup): use remove_all_aps()
4005                 - (remove_all_aps): consolidate code removing all APs
4006
4007 2008-04-17  Dan Williams  <dcbw@redhat.com>
4008
4009         * src/nm-serial-device.c
4010           src/nm-serial-device.h
4011                 - (wait_for_reply_got_data): break input into lines, and search each
4012                         line for responses _and_ terminator strings; also make sure that
4013                         the read loop doesn't continue after the timeout is supposed to fire
4014                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4015
4016         * src/nm-gsm-device.c
4017           src/nm-cdma-device.c
4018                 - Send terminators to nm_serial_device_wait_for_reply()
4019
4020 2008-04-16  Dan Williams  <dcbw@redhat.com>
4021
4022         Patch from 陈鑫 <znscnchen@gmail.com>
4023
4024         * src/ppp-manager/nm-pppd-plugin.c
4025                 - (get_credentials): return correct value for success; handle case where
4026                         pppd just does some checking but doesn't want a password
4027                 - (plugin_init): make CHAP work too
4028
4029 2008-04-16  Dan Williams  <dcbw@redhat.com>
4030
4031         Patch from 陈鑫 <znscnchen@gmail.com>
4032
4033         * src/ppp-manager/nm-ppp-manager.c
4034                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4035
4036 2008-04-16  Dan Williams  <dcbw@redhat.com>
4037
4038         Patch from 陈鑫 <znscnchen@gmail.com>
4039
4040         * src/nm-device-802-3-ethernet.c
4041                 - (real_deactivate_quickly): clear the IP interface name on
4042                         deactivation, otherwise the wrong interface might get used later
4043                         for routing and IP management
4044
4045 2008-04-15  Dan Williams  <dcbw@redhat.com>
4046
4047         * libnm-glib/nm-device.c
4048                 - (get_product_and_vendor): handle serial devices correctly
4049                 - (nm_device_update_description): pass device to get_product_and_vendor()
4050
4051 2008-04-15  Dan Williams  <dcbw@redhat.com>
4052
4053         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4054
4055         * src/NetworkManagerSystem.h
4056           src/backends/NetworkManagerArch.c
4057           src/backends/NetworkManagerDebian.c
4058           src/backends/NetworkManagerFrugalware.c
4059           src/backends/NetworkManagerGeneric.c
4060           src/backends/NetworkManagerGeneric.h
4061           src/backends/NetworkManagerGentoo.c
4062           src/backends/NetworkManagerMandriva.c
4063           src/backends/NetworkManagerPaldo.c
4064           src/backends/NetworkManagerRedHat.c
4065           src/backends/NetworkManagerSlackware.c
4066           src/backends/NetworkManagerSuSE.c
4067           src/nm-device.c
4068                 - (nm_generic_device_add_ip6_link_address,
4069                    nm_system_device_add_ip6_link_address): remove
4070
4071 2008-04-15  Dan Williams  <dcbw@redhat.com>
4072
4073         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4074
4075         * src/backends/NetworkManagerArch.c
4076           src/backends/NetworkManagerDebian.c
4077           src/backends/NetworkManagerFrugalware.c
4078           src/backends/NetworkManagerGeneric.c
4079           src/backends/NetworkManagerGeneric.h
4080           src/backends/NetworkManagerGentoo.c
4081           src/backends/NetworkManagerMandriva.c
4082           src/backends/NetworkManagerPaldo.c
4083           src/backends/NetworkManagerRedHat.c
4084           src/backends/NetworkManagerSlackware.c
4085           src/backends/NetworkManagerSuSE.c
4086           src/NetworkManagerSystem.h
4087                 - flush_routes -> flush_ip4_routes
4088                 - flush_addresses -> flush_ip4_addresses
4089
4090         * src/NetworkManagerSystem.c
4091           src/nm-device.c
4092           src/vpn-manager/nm-vpn-connection.c
4093                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4094
4095 2008-04-15  Dan Williams  <dcbw@redhat.com>
4096
4097         Remove exposure of wireless-tools mode types in the API.
4098
4099         * include/NetworkManager.h
4100                 - Define NM80211Mode enum
4101
4102         * introspection/generic-types.xml
4103                 - Describe NM_802_11_MODE enum
4104                 - Remove IW_MODE_* enum
4105
4106         * introspection/nm-access-point.xml
4107           libnm-glib/nm-access-point.c
4108           libnm-glib/nm-access-point.h
4109                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4110
4111         * introspection/nm-device-802-11-wireless.xml
4112           libnm-glib/nm-device-802-11-wireless.c
4113           libnm-glib/nm-device-802-11-wireless.h
4114                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4115
4116         * libnm-util/nm-setting-wireless.c
4117           src/NetworkManagerAP.c
4118           src/NetworkManagerAP.h
4119           src/nm-device-802-11-wireless.c
4120           src/nm-device-802-11-wireless.h
4121           test/nm-tool.c
4122                 - Use NM80211Mode not IW_MODE_*
4123
4124 2008-04-15  Dan Williams  <dcbw@redhat.com>
4125
4126         Enhance nm-online based on a patch from Bill Nottingham.
4127
4128         * test/nm-online.c
4129                 - Add a '-q' option
4130                 - Add help messages and option summary
4131                 - Add long-format options
4132                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4133
4134 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4135
4136         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4137
4138         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4139
4140 2008-04-15  Dan Williams  <dcbw@redhat.com>
4141
4142         * nm-setting-ip4-config.c
4143                 - (ip4_addresses_from_gvalue): handle NULL address array
4144
4145         * nm-setting-8021x.c
4146                 - (verify_tls, verify_ttls): warn on failed verification
4147
4148 2008-04-10  Dan Williams  <dcbw@redhat.com>
4149
4150         * src/nm-gsm-device.c
4151                 - (automatic_registration): accept "+CREG: 0,0"
4152                 - (automatic_registration_response): fail on "+CREG: 0,0"
4153
4154 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4155
4156         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4157
4158 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4159
4160         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4161         Make it compile again by commenting out broken code that at first didn't work and
4162         now didn't compile either.
4163
4164 2008-04-08  Dan Williams  <dcbw@redhat.com>
4165
4166         * libnm-glib/nm-object-cache.c
4167           libnm-glib/nm-settings.c
4168           src/dhcp-manager/nm-dhcp-manager.c
4169           system-settings/plugins/ifcfg-fedora/plugin.c
4170           system-settings/plugins/ifcfg-suse/plugin.c
4171           system-settings/src/nm-system-config-hal-manager.c
4172           libnm-util/nm-utils.c
4173                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4174                         not threadsafe anyway
4175
4176 2008-04-08  Dan Williams  <dcbw@redhat.com>
4177
4178         * system-settings/src/main.c
4179                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4180                         callbacks take a device type too
4181
4182 2008-04-08  Dan Williams  <dcbw@redhat.com>
4183
4184         The system settings service will now create a new default DHCP connection
4185         for wired devices that have no existing applicable connection.
4186
4187         * system-settings/src/nm-system-config-hal-manager.c
4188           system-settings/src/nm-system-config-hal-manager.h
4189                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4190
4191         * system-settings/src/dbus-settings.c
4192           system-settings/src/dbus-settings.h
4193                 - (nm_sysconfig_settings_get_connections): new function
4194                 - (nm_sysconfig_settings_is_device_managed): new function
4195
4196         * system-settings/src/main.c
4197                 - (load_stuff): check for wired devices that need a default connection
4198                 - (get_details_for_udi): get interface and MAC address from HAL
4199                 - (add_default_dhcp_connection): add a default connection for a wired
4200                         device if needed
4201                 - (device_added_cb, device_removed_cb): do the right thing with
4202                         wired devices and their default connections on HAL device events
4203
4204 2008-04-07  Dan Williams  <dcbw@redhat.com>
4205
4206         * libnm-glib/nm-device.c
4207           libnm-glib/nm-device.h
4208                 - Proxy the 'managed' property
4209
4210 2008-04-07  Dan Williams  <dcbw@redhat.com>
4211
4212         * src/nm-gsm-device.c
4213           src/nm-cdma-device.c
4214                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4215                         handler to transition to DISCONNECTED
4216
4217 2008-04-07  Dan Williams  <dcbw@redhat.com>
4218
4219         Patch from Bill Nottingham
4220
4221         * dispatcher-daemon/NetworkManagerDispatcher.c
4222                 - ignore backup/packaging crufy (rh #440143)
4223
4224 2008-04-07  Dan Williams  <dcbw@redhat.com>
4225
4226         * include/NetworkManager.h
4227                 - Remove the DOWN and CANCELLED device states
4228                 - Add UNMANAGED and UNAVAILABLE device states
4229                 - Document the device states
4230
4231         * introspection/nm-device.xml
4232           src/nm-device-interface.c
4233           src/nm-device-interface.h
4234                 - Add the 'managed' property
4235
4236         * test/nm-tool.c
4237                 - (detail_device): print out device state
4238
4239         * src/NetworkManagerSystem.h
4240           src/backends/NetworkManagerArch.c
4241           src/backends/NetworkManagerDebian.c
4242           src/backends/NetworkManagerFrugalware.c
4243           src/backends/NetworkManagerGentoo.c
4244           src/backends/NetworkManagerMandriva.c
4245           src/backends/NetworkManagerPaldo.c
4246           src/backends/NetworkManagerRedHat.c
4247           src/backends/NetworkManagerSlackware.c
4248           src/backends/NetworkManagerSuSE.c
4249                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4250                    nm_system_device_free_system_config): remove; they were unused and
4251                         their functionality should be re-implemented in each distro's
4252                         system settings service plugin 
4253
4254         * src/nm-gsm-device.c
4255           src/nm-gsm-device.h
4256           src/nm-cdma-device.c
4257           src/nm-cdma-device.h
4258                 - (*_new): take the 'managed' argument
4259
4260         * src/nm-device.c
4261                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4262                 - (nm_device_init): start in unmanaged state, not disconnected
4263                 - (constructor): don't start device until the system settings service
4264                         has had a chance to figure out if the device is managed or not
4265                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4266                         don't set device state here, let callers handle that as appropriate
4267                 - (nm_device_dispose): don't touch the device if it's not managed
4268                 - (set_property, get_property, nm_device_class_init): implement the
4269                         'managed' property
4270                 - (nm_device_state_changed): bring the device up if its now managed,
4271                         and deactivate it if it used to be active
4272                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4273                         with the managed state
4274
4275         * src/nm-hal-manager.c
4276                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4277                         take initial managed state and pass it along to device constructors
4278                 - (create_device_and_add_to_list): get managed state and pass to
4279                         type creators
4280
4281         * src/nm-device-802-11-wireless.c
4282                 - (real_can_activate): fold in most of
4283                         nm_device_802_11_wireless_can_activate()
4284                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4285                 - (link_timeout_cb): instead of deactivating, change device state and
4286                         let the device state handler to it
4287                 - (real_update_hw_address): clean up
4288                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4289                         handler to transition to DISCONNECTED if the device isn't rfkilled
4290
4291         * src/nm-device-802-3-ethernet.c
4292                 - (set_carrier): move above callers and get rid of prototype
4293                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4294                         idle handler to transition to DISCONNECTED if the device has a
4295                         carrier
4296                 - (real_update_hw_address): clean up
4297                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4298                         deactivation directly as deactivation doesn't change state anymore
4299
4300         * src/NetworkManagerPolicy.c
4301                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4302                         the NMManager and wireless devices work that out themselves now
4303                 - (device_state_changed): change to a switch and update for new device
4304                         states
4305                 - (device_carrier_changed): remove; device handles this now through
4306                         state changes
4307                 - (device_added): don't care about carrier any more; the initial
4308                         activation check will happen when the device transitions to
4309                         DISCONNECTED
4310
4311         * src/nm-manager.c
4312                 - (dispose): clear unmanaged devices
4313                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4314                         the managed property on each device when needed
4315                 - (system_settings_properties_changed_cb): handle signals from the
4316                         system settings service
4317                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4318                         getting the unmanaged device list method call
4319                 - (query_unmanaged_devices): ask the system settings service for its
4320                         list of unmanaged devices
4321                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4322                         devices
4323                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4324                         devices directly and let them handle the necessary state transitions
4325                 - (manager_device_state_changed): update for new device states
4326                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4327                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4328                 - (nm_manager_activate_connection): return error if the device is
4329                         unmanaged
4330                 - (nm_manager_sleep): handle new device states correctly; don't change
4331                         the state of unavailable/unmanaged devices
4332
4333         * libnm-glib/nm-device-802-11-wireless.c
4334                 - (state_changed_cb): update for new device states
4335
4336 2008-04-07  Dan Williams  <dcbw@redhat.com>
4337
4338         * marshallers/nm-marshal.list
4339                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4340
4341 2008-04-07  Dan Williams  <dcbw@redhat.com>
4342
4343         * system-settings/src/main.c
4344                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4345                         plugins to the dbus settings object
4346                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4347                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4348                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4349                 - (main): switch default logging to syslog with a 'debug' option to
4350                         output to console; start up the HAL manager
4351
4352 2008-04-07  Dan Williams  <dcbw@redhat.com>
4353
4354         * introspection/nm-settings-system.xml
4355           introspection/Makefile.am
4356                 - Define the unmanaged devices interface for the system settings service
4357
4358         * system-settings/src/nm-system-config-hal-manager.c
4359           system-settings/src/nm-system-config-hal-manager.h
4360           system-settings/src/nm-system-config-hal-manager-private.h
4361           system-settings/src/Makefile.am
4362                 - Add a lightweight HAL manager object for tracking network devices for
4363                         the purpose of determining unmanaged devices and which devices need
4364                         the default DHCP connections
4365
4366         * system-settings/src/nm-system-config-interface.c
4367           system-settings/src/nm-system-config-interface.h
4368                 - (nm_system_config_interface_init): add the HAL manager as an argument
4369                 - (nm_system_config_interface_get_unmanaged_devices): implement
4370                 - Define 'unmanaged-devices-changed' signal
4371
4372         * system-settings/src/dbus-settings.c
4373           system-settings/src/dbus-settings.h
4374                 - Implement the unmanaged devices interface; some cleanups
4375
4376         * system-settings/plugins/ifcfg-suse/plugin.c
4377                 - Fixup for plugin interface changes
4378
4379         * system-settings/plugins/ifcfg-fedora/plugin.c
4380                 - (get_ether_device_udi): new function; find the device that has
4381                         a specified MAC address and return its UDI
4382                 - (get_udi_for_connection): new function; try to find the specific
4383                         device a connection is locked to, if any
4384                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4385                         response to HAL events
4386                 - (get_unmanaged_devices): new function; return unmanaged device list
4387                 - (build_one_connection): set the connection's locked device, if any
4388                 - (write_auto_wired_connection): remove
4389                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4390                 - (handle_connection_changed): alert listeners that the unmanaged device
4391                         list has changed
4392                 - (init): fixup for plugin interface changes, implement unmanaged devices
4393
4394         * system-settings/plugins/ifcfg-fedora/parser.c
4395           system-settings/plugins/ifcfg-fedora/parser.h
4396                 - (connection_data_free): clean up connection UDI
4397
4398 2008-04-07  Dan Williams  <dcbw@redhat.com>
4399
4400         * system-settings/plugins/ifcfg-fedora/parser.c
4401                 - (make_ip4_setting): fix parsing of DNS servers
4402
4403 2008-04-05  Dan Williams  <dcbw@redhat.com>
4404
4405         * Makefile.am
4406           configure.in
4407           marshallers/Makefile.am
4408           marshallers/nm-marshal-main.c
4409           marshallers/nm-marshal.list
4410                 - Consolidate marshallers
4411
4412         * libnm-glib/nm-marshal-main.c
4413           libnm-glib/nm-marshal.list
4414           src/marshallers/Makefile.am
4415           src/marshallers/nm-marshal-main.c
4416           src/marshallers/nm-marshal.list
4417                 - Remove
4418
4419         * libnm-glib/Makefile.am
4420           src/Makefile.am
4421           src/dhcp-manager/Makefile.am
4422           src/ppp-manager/Makefile.am
4423           src/supplicant-manager/Makefile.am
4424           src/vpn-manager/Makefile.am
4425                 - Use consolidated marshallers
4426
4427 2008-04-04  Dan Williams  <dcbw@redhat.com>
4428
4429         * src/nm-hal-manager.c
4430           src/nm-hal-manager.h
4431                 - (hal_init): don't look for hardware here
4432                 - (nm_hal_manager_start): new function; look for hardware here instead,
4433                         which can be done at a later time than hal_init()
4434
4435         * src/NetworkManager.c
4436                 - (main): start HAL manager after entering the main loop
4437
4438 2008-04-03  Dan Williams  <dcbw@redhat.com>
4439
4440         * libnm-glib/nm-settings.c
4441           libnm-glib/nm-settings.h
4442             - (nm_exported_connection_get_id): new function
4443                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4444
4445 2008-04-02  Dan Williams  <dcbw@redhat.com>
4446
4447         * src/nm-device-interface.c
4448           src/nm-device-interface.h
4449           src/nm-device.c
4450           src/nm-device.h
4451                 - Rename check_connection_conflicts() to check_connection_compatible()
4452
4453         * src/nm-device-802-11-wireless.c
4454                 - (real_check_connection_conflicts): remove
4455                 - (real_check_connection_compatible): implement; match MAC address
4456
4457         * src/nm-device-802-3-ethernet.c
4458                 - (real_check_connection_conflicts): remove
4459                 - (real_check_connection_compatible): implement; match MAC address
4460                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4461
4462         * src/nm-manager.c
4463                 - (check_connection_allowed): remove; unused until PolicyKit integration
4464                 - (internal_activate_device): check whether the connection is compatible
4465                         with the device before trying to activate it
4466
4467 2008-04-02  Dan Williams  <dcbw@redhat.com>
4468
4469         * system-settings/plugins/ifcfg-fedora/parser.c
4470                 - (read_mac_address): new function; read in MAC address and stuff it
4471                         into the connection
4472                 - (add_one_wep_key): remove debug spew
4473                 - (make_wireless_security_setting): validate the default TX key; don't
4474                         add the wireless-security setting if the connection doesn't need
4475                         security; don't leak the keys shvarFile on error cases
4476                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4477                         address
4478
4479 2008-04-02  Dan Williams  <dcbw@redhat.com>
4480
4481         * libnm-util/nm-setting-connection.c
4482           libnm-util/nm-setting-connection.h
4483                 - (set_property, get_property, nm_setting_connection_class_init): remove
4484                         the 'lockdown' property; it's functionality will be replaced by
4485                         PolicyKit instead
4486
4487 2008-04-01  Dan Williams  <dcbw@redhat.com>
4488
4489         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4490
4491         * configure.in
4492           initscript/Makefile.am
4493           initscript/Mandriva/Makefile.am
4494           initscript/Mandriva/networkmanager.in
4495           initscript/Mandriva/networkmanagerdispatcher.in
4496           src/backends/Makefile.am
4497           src/backends/NetworkManagerMandriva.c
4498           system-settings/plugins/Makefile.am
4499                 - Add Mandriva support
4500
4501 2008-03-31  Dan Williams  <dcbw@redhat.com>
4502
4503         * src/vpn-manager/nm-vpn-service.c
4504                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4505                         errors can be passed back to the caller; also no longer scheduled
4506                         as an idle handler, but called directly; and bump up VPN service
4507                         spawn timeout, 2s is really short
4508                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4509                         but call it directly so that errors are reported on return from
4510                         ActivateConnection() and don't get lost.  If scheduled as an idle
4511                         handler, clients don't have the time to query NM for the new VPN
4512                         connection's properties before the VPN connection is torn down again
4513                         if the service couldn't be launched, and therefore launch errors
4514                         get lost.
4515
4516 2008-03-31  Dan Williams  <dcbw@redhat.com>
4517
4518         * src/vpn-manager/nm-vpn-connection.c
4519                 - (device_state_changed): send correct state on device failure too
4520                 - (plugin_state_changed): failed state means unexpected disconnection,
4521                         thus if the service goes away while the VPN connection is activated
4522                         that's a failure too
4523
4524 2008-03-31  Dan Williams  <dcbw@redhat.com>
4525
4526         * src/vpn-manager/nm-vpn-manager.c
4527           src/vpn-manager/nm-vpn-manager.h
4528                 - Make VPNManager errors more available; add a service-start-failed error
4529
4530 2008-03-31  Dan Williams  <dcbw@redhat.com>
4531
4532         * libnm-glib/nm-client.c
4533           libnm-glib/nm-client.h
4534                 - (activate_cb): pass the new active connection to callback; fix
4535                         message when no callback is specified
4536
4537 2008-03-30  Dan Williams  <dcbw@redhat.com>
4538
4539         * libnm-util/nm-setting-wireless-security.c
4540                 - (need_secrets): only require key0 if the transmit key index is also
4541                         0
4542                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4543
4544 2008-03-29  Dan Williams  <dcbw@redhat.com>
4545
4546         * libnm-util/nm-setting-8021x.c
4547           libnm-util/nm-setting-ip4-config.c
4548           libnm-util/nm-setting-vpn-properties.c
4549           libnm-util/nm-setting-vpn.c
4550           libnm-util/nm-setting-wireless-security.c
4551           libnm-util/nm-setting-wireless.c
4552           libnm-util/nm-utils.c
4553           src/dhcp-manager/nm-dhcp-manager.c
4554           src/nm-activation-request.c
4555           src/nm-ip4-config.c
4556           src/nm-manager.c
4557           src/nm-properties-changed-signal.c
4558           src/ppp-manager/nm-pppd-plugin.c
4559           src/supplicant-manager/nm-supplicant-interface.c
4560           src/vpn-manager/nm-vpn-connection.c
4561                 - consistently use nm-dbus-glib-types.h
4562
4563 2008-03-29  Dan Williams  <dcbw@redhat.com>
4564
4565         * src/vpn-manager/nm-vpn-connection.c
4566                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4567                         not string
4568
4569         * src/nm-activation-request.c
4570                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4571                         not string
4572
4573 2008-03-29  Dan Williams  <dcbw@redhat.com>
4574
4575         * libnm-glib/nm-device-802-11-wireless.c
4576                 - (access_point_added_proxy): create new APs if not found
4577
4578 2008-03-29  Dan Williams  <dcbw@redhat.com>
4579
4580         * libnm-glib/nm-client.c
4581                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4582                         before freeing them
4583
4584 2008-03-29  Dan Williams  <dcbw@redhat.com>
4585
4586         * system-settings/plugins/ifcfg-fedora/parser.c
4587                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4588                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4589
4590 2008-03-29  Dan Williams  <dcbw@redhat.com>
4591
4592         * system-settings/plugins/ifcfg-fedora/parser.c
4593                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4594
4595 2008-03-27  Dan Williams  <dcbw@redhat.com>
4596
4597         * nm-object.c
4598                 - (nm_object_queue_notify): don't notify multiple times for the same
4599                         property
4600
4601         * nm-object-private.h
4602                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4603                         if it has zero elements
4604
4605         * nm-ip4-config.c
4606                 - (finalize): use g_ptr_array_foreach() when freeing domains
4607                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4608
4609         * nm-active-connection.c
4610                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4611
4612         * nm-device-802-11-wireless.c
4613           nm-device-802-11-wireless.h
4614                 - (nm_device_802_11_wireless_get_access_points): return const; use
4615                         handle_ptr_array_return()
4616
4617         * nm-types.c
4618                 - (nm_object_array_demarshal): always create an array, even of length
4619                         zero, to distinguish between "NM returned no items" and "haven't
4620                         asked NM yet"
4621
4622         * nm-client.c
4623                 - (dispose): free active connections too
4624                 - (proxy_name_owner_changed): free active connections too when NM goes
4625                         away
4626                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4627                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4628
4629 2008-03-26  Dan Williams  <dcbw@redhat.com>
4630
4631         Rework VPN connection handling for a more consistent D-Bus API.  The
4632         VPNManager object has been removed, and active VPN connections are now the
4633         same as any other active connection.  The Manager object's ActivateConnection
4634         and DeactivateConnection methods are used to start and stop a VPN connection,
4635         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4636         When activating a VPN connection, pass the path of the active connection
4637         to which the VPN connection is tied in the 'specific_object' argument.
4638
4639         Consequently, the libnm-glib API has been reworked to match this arrangement,
4640         with the VPNManager object removed, and the NMVPNConnection objects now
4641         being subclasses of NMActiveConnection.
4642
4643 2008-03-25  Dan Williams  <dcbw@redhat.com>
4644
4645         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4646
4647         * initscript/Arch/networkmanager.in
4648           initscript/Arch/networkmanager-dispatcher.in
4649                 - Updates for Arch Linux (gnome.org #523701)
4650
4651 2008-03-25  Dan Williams  <dcbw@redhat.com>
4652
4653         * libnm-glib/nm-ip4-config.c
4654           libnm-glib/nm-active-connection.c
4655           libnm-glib/nm-access-point.c
4656                 - Use nm_object_queue_notify() instead of g_object_notify()
4657
4658         * libnm-glib/nm-device.c
4659                 - (demarshal_ip4_config): distinguish between successful but missing
4660                         ip4-config request, and unsuccessful and missing ip4-config request
4661                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4662                         path
4663                 - Use nm_object_queue_notify() instead of g_object_notify()
4664
4665         * libnm-glib/nm-device-802-11-wireless.c
4666                 - (demarshal_active_ap): distinguish between successfull but missing
4667                         active-ap request, and unsuccessful and missing active-ap request
4668                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4669                         code
4670                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4671                         for the NMClient to notify the device that wireless is disabled,
4672                         and therefore to clear the AP list and active AP
4673                 - Use nm_object_queue_notify() instead of g_object_notify()
4674
4675         * libnm-glib/nm-client.c
4676                 - (poke_wireless_devices_with_rf_status): new function
4677                 - (update_wireless_status): notify wireless devices of the rfkill status
4678                         so they can clean up if needed
4679                 - Use nm_object_queue_notify() instead of g_object_notify()
4680
4681 2008-03-25  Dan Williams  <dcbw@redhat.com>
4682
4683         * libnm-glib/nm-object.c
4684           libnm-glib/nm-object-private.h
4685                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4686                         signals to an idle handler
4687                 - (nm_object_get_property): add a timeout to the D-Bus method call
4688
4689 2008-03-25  Dan Williams  <dcbw@redhat.com>
4690
4691         * introspection/nm-device-cdma.xml
4692           introspection/nm-device-gsm.xml
4693           introspection/Makefile.am
4694           introspection/all.xml
4695                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4696
4697         * src/nm-gsm-device.h
4698           src/nm-gsm-device.c
4699           src/nm-cdma-device.h
4700           src/nm-cdma-device.c
4701           src/Makefile.am
4702                 - Implement PropertiesChanged signals
4703
4704         * libnm-glib/nm-cdma-device.c
4705           libnm-glib/nm-cdma-device.c
4706                 - Attach to PropertiesChanged signals
4707
4708 2008-03-24  Dan Williams  <dcbw@redhat.com>
4709
4710         * libnm-glib/nm-client.c
4711                 - (client_device_added_proxy): add new devices to the internal device
4712                         list so they appear to clients
4713
4714 2008-03-24  Dan Williams  <dcbw@redhat.com>
4715
4716         Massive fixup of libnm-glib to:
4717         a) have all objects (with the exception of VPN) cache their properties and
4718                 update them asynchronously on PropertiesChanged signals from NM
4719         b) return internal const data for most attributes/properties instead of
4720                 allocated values that the caller must free
4721         c) cache wrapped objects such that a given D-Bus path will always map to the
4722                 same GObject returned by libnm-glib
4723         d) remove a few signals and move them to GObject property notifications
4724         e) match recent NM D-Bus API changes for activation/deactivation
4725         f) remove some private functions from libnm-glib headers
4726
4727 2008-03-20  Dan Williams  <dcbw@redhat.com>
4728
4729         * src/nm-manager.c
4730                 - (nm_manager_update_state, manager_device_state_changed,
4731                    nm_manager_activate_device, connection_added_default_handler,
4732                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4733                         queue PropertyChanged singals when the active connections change
4734
4735 2008-03-20  Dan Williams  <dcbw@redhat.com>
4736
4737         * introspection/nm-manager.xml
4738           introspection/nm-manager-client.xml
4739                 - (ActivateConnection): return the object path of the active connection
4740                         on success
4741                 - (GetActiveConnections): remove
4742                 - (DeactivateConnection): new function; deactivate a currently active
4743                         connection
4744                 - Add an ActiveConnections property which returns an array of
4745                         active connection object paths
4746
4747         * introspection/nm-device.xml
4748                 - (Deactivate): remove
4749
4750         * introspection/all.xml
4751                 - Add ActiveConnection introspection
4752
4753         * introspection/nm-active-connection.xml
4754                 - Add the ActiveConnection object
4755
4756         * include/NetworkManager.h
4757                 - Add the Connection.Active D-Bus interface
4758
4759         * src/nm-device-interface.c
4760                 - (impl_device_deactivate): remove
4761
4762         * src/nm-activation-request.c
4763           src/nm-activation-request.c
4764           src/Makefile.am
4765                 - Implement the Connection.Active D-Bus interface
4766
4767         * src/nm-manager.c
4768                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4769                 - (nm_manager_activate_device): return the active connection path
4770                 - (connection_added_default_handler, impl_manager_activate_connection):
4771                         return the active connection to the caller
4772                 - (add_one_connection_element, impl_manager_get_active_connections):
4773                         remove
4774                 - (impl_manager_deactivate_connection): new function; deactivate an
4775                         active connection
4776
4777         * libnm-glib/nm-device.c
4778           libnm-glib/nm-device.h
4779                 - Remove Deactivate() function
4780
4781 2008-03-19  Dan Williams  <dcbw@redhat.com>
4782
4783         * introspection/nm-manager.xml
4784           introspection/nm-manager-client.xml
4785                 - Rename the ActivateDevice method to ActivateConnection to better
4786                         reflect it's usage; it's arguments get reordered a bit too
4787                 - Convert GetActiveConnections method return from a struct to a dict
4788
4789         * include/NetworkManager.h
4790                 - Define the dict keys for return value of GetActiveConnections
4791
4792         * src/nm-manager.c
4793                 - impl_manager_activate_device -> impl_manager_activate_connection
4794                 - (add_one_connection_element): return a populated hash table, not
4795                         a structure
4796
4797         * libnm-glib/nm-client.c
4798           libnm-glib/nm-client.h
4799                 - nm_client_activate_device -> nm_client_activate_connection
4800                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4801                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4802                         instead of the custom structures.  Each element of the returned list
4803                         must be freed with nm_client_free_active_connections_element()
4804
4805 2008-03-18  Dan Williams  <dcbw@redhat.com>
4806
4807         * system-settings/plugins/ifcfg-fedora/parser.c
4808           system-settings/plugins/ifcfg-fedora/parser.h
4809           system-settings/plugins/ifcfg-fedora/plugin.c
4810                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4811                         profiles.  DNS servers and searches must now be stored in the ifcfg
4812                         files themselves
4813
4814 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4815
4816         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4817         print out username and password, it's supposed to be a secret.
4818
4819         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4820         request and set the device state accordingly.
4821
4822 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4823
4824         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4825
4826         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4827
4828 2008-03-18  Dan Williams  <dcbw@redhat.com>
4829
4830         * src/vpn-manager/nm-vpn-connection.c
4831                 - (get_secrets_cb): handle new GetSecrets return format
4832
4833 2008-03-18  Dan Williams  <dcbw@redhat.com>
4834
4835         Adapt system settings service for split 802.1x.
4836
4837         * system-settings/src/nm-system-config-interface.h
4838                 - clarify return value of get_secrets()
4839
4840         * system-settings/src/dbus-settings.c
4841                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4842                 - (check_for_secrets): check if there actually secrets returned by a
4843                         plugin
4844                 - (exported_connection_get_secrets): just return the plugin-returned
4845                         hash of settings' secrets if it looks valid
4846
4847         * system-settings/plugins/ifcfg-fedora/plugin.c
4848                 - (get_secrets): add split secrets with correct format to reply hash
4849
4850         * system-settings/plugins/ifcfg-fedora/parser.c
4851           system-settings/plugins/ifcfg-fedora/parser.h
4852                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4853                    connection_data_free, connection_data_add): keep secrets for
4854                         different settings in different hashes
4855
4856 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4857
4858         Clean up activating device deactivation.
4859
4860         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4861         should be done whether the device activation gets cancelled or the device
4862         is just getting deactivated.
4863         (nm_device_activation_cancel): Remove.
4864         (nm_device_deactivate_quickly): Handle the case where device is activating.
4865
4866         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4867         It does the exact same thing as real_deactivate_quickly().
4868
4869 2008-03-17  Dan Williams  <dcbw@redhat.com>
4870
4871         Split the 802.1x bits out of the wireless-security setting so they are
4872         generalized enough for wired 802.1x to use too.
4873
4874         * introspection/nm-exported-connection.xml
4875                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4876                         of just a hash of the secrets for one setting
4877
4878         * libnm-util/nm-setting-wireless-security.c
4879           libnm-util/nm-setting-wireless-security.h
4880                 - Remove 802.1x-specific stuff
4881                 - Added leap-username and leap-password properties for old-school LEAP
4882
4883         * src/nm-device.c
4884           src/nm-device.h
4885                 - (connection_secrets_updated_cb): take a list of updated settings names,
4886                         not just one
4887
4888         * src/supplicant-manager/nm-supplicant-config.c
4889           src/supplicant-manager/nm-supplicant-config.h
4890                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4891                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4892                         to nm_supplicant_config_add_setting_8021x()
4893                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4894                         the supplicant config
4895
4896         * src/nm-device-802-11-wireless.c
4897                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4898                 - (real_connection_secrets_updated): take a list of updated settings
4899                         names, not just one
4900
4901         * src/nm-device-802-3-ethernet.c
4902           src/nm-cdma-device.c
4903           src/nm-gsm-device.c
4904                 - (real_connection_secrets_updated_cb): take a list of updated settings
4905                         names, not just one
4906
4907         * src/nm-activation-request.c
4908           src/nm-activation-request.h
4909                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4910                         now passes a list of updated settings names, not just one
4911                 - (update_one_setting): new function; handle one updated setting
4912                 - (get_secrets_cb): handle multiple settings returned from the
4913                         settings service; have to be careful of ordering here as there are
4914                         some dependencies between settings (ex. wireless-security and 802.1x
4915                         in some cases)
4916
4917         * src/marshallers/nm-marshal.list
4918                 - new marshaller for connection-secrets-updated signal
4919
4920         * libnm-util/nm-setting-8021x.c
4921                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4922                         methods
4923                 - (verify): a valid 'eap' property is now required
4924
4925         * libnm-util/nm-connection.c
4926                 - (register_default_settings): add priorities to settings; there are
4927                         some dependencies between settings, and during the need_secrets
4928                         calls this priority needs to be respected.  For example, only the
4929                         wireless-security setting knows whether or not the connection is
4930                         going to use 802.1x or now, so it must be asked for secrets before
4931                         any existing 802.1x setting is
4932                 - (nm_connection_lookup_setting_type): expose
4933
4934         * libnm-util/nm-setting-wireless.c
4935                 - (verify): should verify even if all_settings is NULL; otherwise won't
4936                         catch the case where there is missing security
4937
4938         * libnm-util/nm-setting-wireless-security.c
4939                 - Remove everything to do with 802.1x
4940                 - Add old-school LEAP specific properties for username and password
4941                 - (need_secrets): rework LEAP secrets checking
4942                 - (verify): rework for LEAP and 802.1x verification
4943
4944 2008-03-17  Dan Williams  <dcbw@redhat.com>
4945
4946         * src/NetworkManagerPolicy.c
4947                 - (auto_activate_device): always remove the current activation check
4948                         from the pending activation list, otherwise when the policy gets
4949                         destroyed on NM exit it will attempt to free the already freed
4950                         activation check
4951
4952 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4953
4954         * src/backends/NetworkManagerSlackware.c 
4955         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4956
4957         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4958
4959 2008-03-14  Dan Williams  <dcbw@redhat.com>
4960
4961         * src/nm-manager.c
4962                 - (nm_device_interface_get_iface): g_object_get() will return an
4963                         allocated value, so this function must not return const
4964                 - (nm_device_interface_activate): free returned iface
4965
4966 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4967
4968         * libnm-util/Makefile.am: Add new files to build.
4969
4970         * libnm-util/nm-connection.c: Register NMSetting8021x.
4971
4972         * libnm-util/nm-setting-8021x.c
4973         * libnm-util/nm-setting-8021x.h: Implement.
4974
4975 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4976
4977         * libnm-util/Makefile.am: Add new files to build.
4978
4979         * libnm-util/nm-connection.c: Register NMSetting8021x.
4980
4981         * libnm-util/nm-setting-8021x.c
4982         * libnm-util/nm-setting-8021x.h: Implement.
4983
4984 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4985
4986         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4987         data.
4988
4989 2008-03-14  Dan Williams  <dcbw@redhat.com>
4990
4991         * include/wireless-helper.h
4992           include/Makefile.am
4993                 - One place for all the junk needed for #including wireless.h
4994
4995         * test/nm-tool.c
4996           src/NetworkManagerAP.c
4997           src/wpa.c
4998           src/Makefile.am
4999           libnm-util/nm-utils.c
5000           libnm-util/nm-setting-wireless.c
5001           libnm-glib/nm-device-802-11-wireless.c
5002           libnm-glib/nm-access-point.c
5003           libnm-glib/libnm-glib-test.c
5004                 - include wireless-helper.h, not iwlib.h
5005
5006         * configure.in
5007                 - Don't need libiw really, just need to check for wireless.h
5008
5009         * src/kernel-types.h
5010                 - Remove; used types moved into wpa.c
5011
5012         * src/nm-device-802-11-wireless.c
5013                 - (nm_device_802_11_wireless_update_signal_strength,
5014                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5015                    nm_device_802_11_wireless_set_mode,
5016                    nm_device_802_11_wireless_get_frequency,
5017                    nm_device_802_11_wireless_get_ssid,
5018                    nm_device_802_11_wireless_set_ssid,
5019                    nm_device_802_11_wireless_get_bitrate,
5020                    nm_device_802_11_wireless_get_bssid,
5021                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5022                         instead of iwlib functions
5023
5024 2008-03-14  Dan Williams  <dcbw@redhat.com>
5025
5026         * src/ppp-manager/nm-ppp-manager.c
5027                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5028                         should only take the DBusGMethodInvocation argument, not user/pass
5029                         too.  With dbus-glib, async functions only take 2 C arguments since
5030                         the real dbus method arguments get passed back with
5031                         dbus_g_method_return()
5032
5033 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5034
5035         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5036         Adapt the changes of NMSettingIP4Config.
5037
5038 2008-03-13  Dan Williams  <dcbw@redhat.com>
5039
5040         * src/NetworkManagerUtils.c
5041           src/NetworkManagerUtils.h
5042                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5043
5044         * src/NetworkManagerAP.c
5045           src/nm-device-802-11-wireless.c
5046           src/nm-device-802-3-ethernet.c
5047                 - s/iw_ether_ntop/nm_ether_ntop/g
5048
5049 2008-03-13  Dan Williams  <dcbw@redhat.com>
5050
5051         * src/NetworkManagerPolicy.c
5052                 - (update_routing_and_dns): never set the default route through an
5053                         IPv4LL addressed device
5054
5055 2008-03-13  Dan Williams  <dcbw@redhat.com>
5056
5057         * NetworkManagerUtils.c
5058           NetworkManagerUtils.h
5059                 - Remove NMSock stuff
5060                 - Remove the completion stuff
5061
5062         * nm-device.c
5063           nm-device.h
5064           NetworkManager.c
5065           NetworkManagerSystem.c
5066           autoip.c
5067           nm-device-802-11-wireless.c
5068           nm-device-802-3-ethernet.c
5069                 - Remove NMSock and completion stuff
5070                 - Remove nm_ioctl_info()
5071
5072 2008-03-12  Dan Williams  <dcbw@redhat.com>
5073
5074         * src/nm-device.c
5075                 - (merge_ip4_config): avoid duplicates
5076
5077 2008-03-12  Dan Williams  <dcbw@redhat.com>
5078
5079         * libnm-util/nm-setting-ip4-config.c
5080           libnm-util/nm-setting-ip4-config.h
5081                 - Remove 'manual' and 'autoip' properties
5082                 - Add 'method' property
5083                 - (verify): fix verification with 'method'
5084                 - (finalize): free 'method'
5085                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5086                         up for 'method'
5087
5088         * src/nm-device.c
5089                 - (real_act_stage3_ip_config_start): check IP4Config method
5090                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5091                         the future
5092                 - (merge_ip4_config): IP settings are valid with DHCP too
5093                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5094                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5095
5096         * src/nm-device-802-11-wireless.c
5097                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5098                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5099                         only on demand
5100
5101         * system-settings/plugins/ifcfg-fedora/parser.c
5102           system-settings/plugins/ifcfg-suse/parser.c
5103                 - (make_ip4_setting): fix up for 'method'
5104
5105 2008-03-12  Dan Williams  <dcbw@redhat.com>
5106
5107         * system-settings/plugins/ifcfg-fedora/parser.c
5108           system-settings/plugins/ifcfg-fedora/parser.h
5109                 - (get_ifcfg_name): ignore more file suffixes
5110                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5111
5112 2008-03-12  Dan Williams  <dcbw@redhat.com>
5113
5114         * configure.in
5115                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5116
5117 2008-03-12  Dan Williams  <dcbw@redhat.com>
5118
5119         * system-settings/plugins/ifcfg-fedora/plugin.c
5120                 - (write_auto_wired_connection): new function; write out an auto
5121                         wired connection file since the applet isn't doing it any more
5122                 - (reload_all_connections): write out the auto wired connection file
5123                         if there aren't any wired connections already
5124                 - (init): don't leak a GError
5125
5126 2008-03-12  Dan Williams  <dcbw@redhat.com>
5127
5128         * src/nm-device-interface.c
5129                 - (nm_device_interface_activate): print the ID of the connection
5130                         that's about to be activated
5131
5132 2008-03-12  Dan Williams  <dcbw@redhat.com>
5133
5134         Harmonize the 802.11 bitrate API
5135
5136         * introspection/nm-access-point.xml
5137                 - 'Rate' -> 'MaxBitrate'; clarify units
5138
5139         * introspection/nm-device-802-11-wireless.xml
5140                 - Clarify units of 'Bitrate'
5141
5142         * src/NetworkManagerAP.c
5143           src/NetworkManagerAP.h
5144                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5145                         property to 'max-bitrate'
5146                 - (foreach_property_cb): convert rate to Kb/s
5147
5148         * src/nm-device-802-11-wireless.c
5149                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5150
5151         * libnm-glib/nm-access-point.c
5152           libnm-glib/nm-access-point.h
5153                 - 'rate' -> 'max-bitrate'
5154
5155         * test/nm-tool.c
5156           libnm-glib/libnm-glib-test.c
5157                 - Fix up for these changes
5158
5159 2008-03-12  Dan Williams  <dcbw@redhat.com>
5160
5161         * src/nm-device.c
5162                 - (nm_device_set_ip4_config): don't send property notifications when
5163                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5164                         which dbus-glib can't parse because the value is NULL, which isn't
5165                         a legal object path.  Setting the IP4 config to NULL is only
5166                         valid when deactivating a device anyway, so the device state change
5167                         will alert listeners that the ip4 config is invalid.
5168
5169 2008-03-12  Dan Williams  <dcbw@redhat.com>
5170
5171         * src/nm-properties-changed-signal.c
5172                 - (add_to_string): better handling of NULL objects
5173
5174 2008-03-12  Dan Williams  <dcbw@redhat.com>
5175
5176         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5177         convert the libnm-glib NMDevice8023Ethernet to cached properties
5178
5179         * introspection/nm-device-802-3-ethernet.xml
5180                 - New 'Carrier' property
5181                 - New 'PropertiesChanged' signal
5182
5183         * introspection/nm-device.xml
5184                 - Remove 'Carrier' property
5185                 - Remove 'CarrierChanged' signal
5186
5187         * src/nm-device-interface.c
5188           src/nm-device-interface.h
5189                 - (nm_device_interface_init): remove 'carrier' property and
5190                         'carrier-changed' signal
5191
5192         * src/nm-device.c
5193           src/nm-device.h
5194                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5195                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5196                         the link here; wired device will handle that
5197                 - (handle_dhcp_lease_change): don't bother updating link here
5198                 - (get_property, nm_device_class_init): remove carrier property
5199
5200         * src/nm-device-802-11-wireless.c
5201                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5202                         real_update_link(); wireless devices don't use carrier at all
5203                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5204                    supplicant_iface_connection_state_cb_handler,
5205                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5206
5207         * src/nm-device-802-3-ethernet.c
5208           src/nm-device-802-3-ethernet.h
5209                 - (nm_device_802_3_ethernet_carrier_on,
5210                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5211                         instead of nm_device_set_carrier()
5212                 - (device_state_changed): update link from sysfs on activation;
5213                         replaces real_update_link()
5214                 - (real_update_link): remove, replaced by device_state_changed()
5215                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5216                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5217                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5218                         new get_carrier function
5219                 - (get_property): add 'carrier' property
5220                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5221                         hook into property-changed signal helper
5222
5223         * src/NetworkManagerPolicy.c
5224                 - (device_carrier_changed): will only ever be called with a wired device
5225                 - (device_added): only hook up to carrier-changed for wired devices
5226
5227         * libnm-glib/nm-device.c
5228           libnm-glib/nm-device.h
5229                 - (constructor, nm_device_class_init): remove carrier-changed signal
5230                 - (device_carrier_changed_proxy): remove; unused
5231                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5232
5233         * libnm-glib/nm-device-802-3-ethernet.c
5234           libnm-glib/nm-device-802-3-ethernet.h
5235                 - Convert to cached properties like AP and Wireless objects
5236                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5237                         instead of a 'char *', return value should not be freed
5238                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5239                 - (constructor): hook into properties-changed helper
5240                 - (set_property, get_property): new functions
5241                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5242
5243         * test/nm-tool.c
5244                 - (detail_device): strdup the wired hardware address too since it's
5245                         cached now
5246
5247         * libnm-glib/libnm-glib-test.c
5248                 - (dump_wired): strdup the wired hardware address too since it's
5249                         cached now
5250
5251 2008-03-12  Dan Williams  <dcbw@redhat.com>
5252
5253         * libnm-util/nm-setting-ip4-config.c
5254           libnm-util/nm-setting-ip4-config.h
5255                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5256                         the 'autoip' property from the spec
5257
5258 2008-03-11  Dan Williams  <dcbw@redhat.com>
5259
5260         * src/backends/NetworkManagerGeneric.c
5261           src/backends/NetworkManagerGeneric.h
5262                 - (nm_generic_device_get_use_dhcp): remove
5263
5264 2008-03-11  Dan Williams  <dcbw@redhat.com>
5265
5266         * src/nm-device.c
5267                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5268                         already in nm_device_set_ip4_config()
5269                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5270                         due to a DHCP rebind fails
5271                 - (nm_device_set_ip4_config): send property notifications when the
5272                         ip4 config changes
5273                 - (get_property): only report IP4Config property during valid states
5274
5275         * src/NetworkManagerPolicy.c
5276                 - (update_routing_and_dns): ignore devices that don't have an ip4
5277                         config; add parameter 'force_update' to allow callers to specify
5278                         that changes should be made even if the default device doesn't change
5279                 - (device_ip4_config_changed): update DNS and routing when the device's
5280                         IP4Config changes, like for DHCP updates
5281                 - (device_added): listen for ip4-config property changes
5282
5283 2008-03-11  Dan Williams  <dcbw@redhat.com>
5284
5285         Fix address handling as a result of DHCP rebind/renew/reboot.
5286
5287         * src/NetworkManagerSystem.c
5288                 - (check_one_address): delete an address if it doesn't match a given
5289                         one for the same interface
5290                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5291                         be smarter about flushing addresses (only flush ones that don't
5292                         match the one we're about to apply)
5293
5294         * src/backends/NetworkManagerDebian.c
5295           src/backends/NetworkManagerSuSE.c
5296           src/backends/NetworkManagerArch.c
5297           src/backends/NetworkManagerSlackware.c
5298           src/backends/NetworkManagerRedHat.c
5299           src/backends/NetworkManagerPaldo.c
5300           src/backends/NetworkManagerFrugalware.c
5301           src/backends/NetworkManagerGentoo.c
5302                 - (nm_system_delete_default_route): remove
5303
5304         * src/backends/NetworkManagerGeneric.c
5305           src/backends/NetworkManagerGeneric.h
5306                 - (nm_generic_enable_loopback): fix the loopback device label
5307                 - (nm_generic_delete_default_route): remove; no longer used
5308
5309 2008-03-11  Dan Williams  <dcbw@redhat.com>
5310
5311         * src/nm-device-interface.h
5312                 - Delimit property name words with '-', otherwise g_object_notify()
5313                         doesn't work the way we expect
5314
5315 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5316
5317         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5318
5319 2008-03-11  Dan Williams  <dcbw@redhat.com>
5320
5321         * src/NetworkManagerPolicy.c
5322                 - (update_routing_and_dns): don't change anything if the default device
5323                         hasn't changed; print something out when switching the default route
5324                         and DNS
5325
5326 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5327
5328         Implement PPPoE.
5329
5330         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5331         setting. Use "nic-$eth".
5332
5333         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5334         the device is activating here to fix a race condition.
5335
5336         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5337
5338         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5339         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5340         (nm_ppp_manager_start): Take activation request instead of connection, we might
5341         need it for asking secrets.
5342         (nm_ppp_manager_update_secrets): Implement.
5343
5344         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5345         ppp manager start. It might be needed for asking secrets.
5346
5347         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5348         (ppp_state_changed): Handle pppd daemon disappearing.
5349         (pppoe_stage2_config): Send activation request to ppp manager start.
5350
5351         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5352
5353         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5354         username and password.
5355         
5356 2008-03-10  Dan Williams  <dcbw@redhat.com>
5357
5358         * src/nm-device.c
5359                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5360                         response to a DHCP lease change
5361                 - (dhcp_state_changed): handle DHCP lease changes while activated
5362                 - (nm_device_set_ip4_config): remove a previously set named config
5363                         when setting an ip4 config
5364
5365 2008-03-10  Dan Williams  <dcbw@redhat.com>
5366
5367         * src/nm-serial-device.c
5368                 - (nm_serial_device_send_command): report errno on error
5369                 - (get_reply_got_data): limit the size of the overall buffer
5370                 - (wait_for_reply_info_destroy): destroy result string
5371                 - (wait_for_reply_got_data): append received data to an overall buffer
5372                         until timeout, filled buffer, or error instead of keeping a per-call
5373                         buffer.  Some devices send data slowly enough that this function
5374                         gets called multiple times for the same command stream.
5375                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5376                         wait_for_reply_got_data() here
5377
5378 2008-03-10  Dan Williams  <dcbw@redhat.com>
5379
5380         * src/nm-cdma-device.c
5381                 - (do_dial, init_modem): handle errors from
5382                         nm_serial_device_send_command_string()
5383
5384         * src/nm-gsm-device.c
5385                 - (do_dial, manual_registration, automatic_registration_get_network,
5386                    automatic_registration, enter_pin, check_pin, init_modem): handle
5387                         errors from nm_serial_device_send_command_string()
5388
5389 2008-03-10  Dan Williams  <dcbw@redhat.com>
5390
5391         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5392
5393         * src/named-manager/nm-named-manager.c
5394                 - (compute_searches): prefer searches before domains
5395                 - (compute_domain): new function
5396                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5397                 - (merge_one_ip4_config): if there are no searches in the source config,
5398                         merge domains of the source config into the target config
5399                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5400
5401 2008-03-10  Dan Williams  <dcbw@redhat.com>
5402
5403         * src/nm-serial-device.c
5404                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5405                 - (wait_for_reply_got_data): try to handle slower serial devices where
5406                         the reply is broken up into multiple reads by concatenating replies
5407                         together until either an error is received or the search string is
5408                         found
5409
5410 2008-03-10  Dan Williams  <dcbw@redhat.com>
5411
5412         * src/nm-device.c
5413                 - (nm_device_bring_down): deactivate the device if it's activating too,
5414                         not just if it's already activated.  This makes sure that everything
5415                         from an association attempt is cleaned up (like DHCP for example)
5416
5417 2008-03-10  Dan Williams  <dcbw@redhat.com>
5418
5419         * src/nm-serial-device.c
5420                 - (config_fd): report error from TCSETA
5421                 - (nm_serial_device_open): fail when config_fd() fails
5422
5423 2008-03-10  Dan Williams  <dcbw@redhat.com>
5424
5425         * src/nm-ip4-config.c
5426                 - (nm_ip4_config_init): allocate searches list
5427                 - (finalize): free searches list
5428
5429 2008-03-09  Dan Williams  <dcbw@redhat.com>
5430
5431         Patch from Bas Zoetekouw <bas@debian.org>
5432
5433         * src/dhcp-manager/nm-dhcp-manager.c
5434                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5435
5436 2008-03-09  Dan Williams  <dcbw@redhat.com>
5437
5438         Patch from Bas Zoetekouw <bas@debian.org>
5439
5440         * src/nm-ip4-config.c
5441           src/nm-ip4-config.h
5442                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5443                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5444                         domains.  'searches' is the correct way to store multiple search
5445                         domains, whereas 'domains' is really just supposed to store one
5446                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5447                         search domains to the client.
5448                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5449
5450 2008-03-09  Dan Williams  <dcbw@redhat.com>
5451
5452         * src/dhcp-manager/nm-dhcp-manager.c
5453                 - (dhclient_run): send interface-specific config files to dhclient
5454
5455 2008-03-07  Dan Williams  <dcbw@redhat.com>
5456
5457         * system-settings/plugins/ifcfg-fedora/parser.c
5458                 - (is_wireless_device): new function; test a device for wireless
5459                         extensions
5460                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5461                         test the device for wireless extensions to determine the type
5462
5463 2008-03-07  Dan Williams  <dcbw@redhat.com>
5464
5465         Change manager's StateChange signal to StateChanged for consistency.
5466
5467         * introspection/nm-manager.xml
5468                 - Add 'StateChanged' signal
5469                 - Move 'StateChange' down to the deprecated section
5470
5471         * src/nm-hal-manager.c
5472                 - (nm_hal_manager_new): connect to 'state-changed' instead
5473
5474         * src/NetworkManagerPolicy.c
5475                 - (nm_policy_new): connect to 'state-changed' instead
5476
5477         * src/nm-manager.c
5478           src/nm-manager.h
5479                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5480                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5481                         of 'state-change'
5482
5483         * libnm-glib/nm-client.c
5484           libnm-glib/nm-client.h
5485                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5486                         track and proxy 'state-changed' instead of 'state-change'
5487
5488 2008-03-07  Dan Williams  <dcbw@redhat.com>
5489
5490         First pass of multiple active device support.  Expect bugs.
5491
5492         * src/nm-ip4-config.c
5493           src/nm-ip4-config.h
5494                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5495                         there are better ways to do this in the named manager
5496
5497         * src/nm-device.c
5498           src/nm-device.h
5499                 - (nm_device_can_activate): return whether the device can activate a
5500                         connection right now; taking into account things like carrier state
5501                         and rfkill state
5502                 - (nm_device_get_best_auto_connection): renamed from
5503                         nm_device_get_best_connection
5504                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5505                         device subclasses themselves, so that each device can override the
5506                         MTU from it's NMSetting subclass if needed
5507                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5508                         in NetworkManagerSystem.c, not here
5509
5510         * src/named-manager/nm-named-manager.c
5511           src/named-manager/nm-named-manager.h
5512                 - (nm_named_manager_name_owner_changed,
5513                    nm_named_manager_dbus_connection_changed): fix for changes to
5514                         rewrite_resolv_conf()
5515                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5516                         from parameter list
5517                 - (merge_one_ip4_config): new function; merge ip4 configs together
5518                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5519                         ip4 configs; the VPN config takes precedence, then the best
5520                         device config, then the rest of the configs
5521                 - (get_domain_for_config): take the NMNamedManager as an argument
5522                         to check whether the config is the VPN config
5523                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5524                         attribute from ip4 configs
5525                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5526                 - (remove_ip4_config_from_named): fix for changes to
5527                         get_domain_for_config()
5528                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5529                         based on its type; callers must pass in the type now
5530                 - (get_last_default_domain): remove, unused
5531                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5532
5533         * src/nm-device-802-11-wireless.c
5534                 - (real_can_activate): new function
5535                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5536                 - (real_act_stage4_get_ip4_config): handle MTU override
5537
5538         * src/nm-device-802-3-ethernet.c
5539                 - (real_can_activate): new function
5540                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5541                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5542
5543         * src/vpn-manager/nm-vpn-connection.c
5544                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5545                         attribute on the ip4 config
5546
5547         * src/NetworkManagerPolicy.c
5548                 - (nm_policy_auto_get_best_device): remove
5549                 - (nm_policy_device_change_check): remove
5550                 - (update_default_route): new function; set the default route via
5551                         the specified device
5552                 - (get_device_priority): new function; return the priority number of
5553                         a device type WRT which one should have the default route.  Order is
5554                         (highest to lowest)  wired, wireless, GSM, CDMA.
5555                 - (update_routing_and_dns): new function; determine which device should
5556                         have the default route, then update the routing table and DNS
5557                 - (maybe_auto_activate_device): new function; if a device is now
5558                         available for activation, find out what connection it would like to
5559                         activate and do it
5560                 - (schedule_activate_check): new function; if a device can be activated
5561                         now, schedule the activation.  Each device may have only one
5562                         pending activation at a given time.
5563                 - (device_state_changed): if activation was canceled, try again,
5564                         possibly with another connection; if the device was activated,
5565                         update routing and DNS; if the device was deactivated, try again
5566                         with another connection
5567                 - (device_carrier_changed): if there is no carrier, deactivate the
5568                         device; otherwise schedule an activation check for the device
5569                 - (wireless_networks_changed): schedule an activation check for the
5570                         device
5571                 - (device_added): keep track of the signal handler IDs so they can
5572                         be removed when the device goes away
5573                 - (device_removed): remove any signal handlers that might be attached
5574                         to the device; update routing and DNS
5575                 - (schedule_activate_all): new function
5576                 - (connections_added, connection_added, connection_updated): when
5577                         connections change, schedule all devices for an activation check
5578                 - (connection_removed): when a device is deactivated because its
5579                         connection was removed, schedule another activation check for it
5580                 - (nm_policy_destroy): destroy pending activations and disconnect
5581                         all device signal handlers
5582
5583         * src/nm-manager.c
5584                 - (nm_manager_activate_device): if the device was already actived,
5585                         deactivate it
5586                 - (deactivate_old_device): remove
5587                 - (connection_added_default_handler, impl_manager_activate_device):
5588                         don't deactivate other devices when activating this one
5589
5590         * src/backends/NetworkManagerGentoo.c
5591           src/backends/NetworkManagerFrugalware.c
5592           src/backends/NetworkManagerPaldo.c
5593           src/backends/NetworkManagerRedHat.c
5594           src/backends/NetworkManagerSlackware.c
5595           src/backends/NetworkManagerArch.c
5596           src/backends/NetworkManagerSuSE.c
5597           src/backends/NetworkManagerDebian.c
5598                 - (nm_system_get_mtu): remove; MTU should be provided through the
5599                         distro's system settings service plugin instead
5600                 - (nm_system_device_add_default_route_via_device): remove
5601                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5602                 - (nm_system_device_replace_default_route): new function; call
5603                         generic implementation
5604
5605         * src/backends/NetworkManagerGeneric.c
5606           src/backends/NetworkManagerGeneric.h
5607                 - (nm_generic_device_add_default_route_via_device,
5608                    nm_generic_device_add_default_route_via_device_with_iface): remove
5609                 - (nm_generic_device_replace_default_route): replace the default route
5610                         with the given route via some gateway
5611
5612         * src/NetworkManagerSystem.c
5613           src/NetworkManagerSystem.h
5614                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5615                         to routing and DNS; but set the MTU here
5616                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5617                         ip_iface of the active device; use the standard MTU setting function
5618                 - (nm_system_set_mtu): remove
5619                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5620
5621 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5622
5623         Rework the interaction between ppp manager and pppd plugin. Register a well
5624         known DBUS service in manager and let the plugin call it's methods instead
5625         of listening plugin's signals.
5626
5627         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5628         of emitting signals.
5629
5630         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5631
5632         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5633
5634         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5635         nm_ppp_manager_start().
5636
5637         * introspection/nm-ppp-manager.xml: New file.
5638
5639         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5640         the case correctly where driver is trying to send -1 for the speed, which gets
5641         casted to u16 and thus is always > 0.
5642
5643 2008-03-07  Dan Williams  <dcbw@redhat.com>
5644
5645         * src/nm-hal-manager.c
5646                 - (nm_get_device_driver_name): use net.originating_device first, fall
5647                         back to physical device.  HAL has deprecated physical_device.
5648
5649         * libnm-glib/nm-device.c
5650                 - (get_product_and_vendor): use net.originating_device first, fall
5651                         back to physical device.  HAL has deprecated physical_device.
5652                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5653
5654 2008-03-07  Dan Williams  <dcbw@redhat.com>
5655
5656         * src/nm-netlink.c
5657                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5658                         last commit; fix that
5659                 - (get_link_cache): print error string
5660
5661 2008-03-07  Dan Williams  <dcbw@redhat.com>
5662
5663         * src/nm-netlink.c
5664                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5665                         don't need this hack any more (Benoit Boissinot)
5666
5667 2008-03-06  Dan Williams  <dcbw@redhat.com>
5668
5669         * autogen.sh
5670                 - Die gnome-common, die
5671
5672 2008-03-04  Dan Williams  <dcbw@redhat.com>
5673
5674         Patch from Michael Biebl <biebl@debian.org>
5675
5676         * NetworkManager.pc.in
5677                 - doesn't actually depend on dbus-1
5678
5679         * libnm-util/nm-utils.h
5680                 - remove unused #include <dbus/dbus.h>
5681
5682         * libnm-glib/libnm_glib.pc.in
5683                 - depends on glib and dbus-glib
5684
5685 2008-03-02  Dan Williams  <dcbw@redhat.com>
5686
5687         * src/NetworkManagerPolicy.c
5688                 - s/device_state_changed_idle_id/update_state_id/
5689
5690 2008-03-02  Dan Williams  <dcbw@redhat.com>
5691
5692         * src/nm-device.c
5693           src/nm-device.h
5694           src/nm-device-802-11-wireless.c
5695           src/nm-device-802-3-ethernet.c
5696           src/NetworkManagerPolicy.c
5697                 - s/link_active/carrier
5698                 - nm_device_set_active_link() -> nm_device_set_carrier()
5699                 - nm_device_has_active_link() -> nm_device_get_carrier()
5700
5701 2008-03-02  Dan Williams  <dcbw@redhat.com>
5702
5703         * system-settings/plugins/ifcfg-fedora/parser.c
5704                 - (make_wireless_setting): fail connection creation on missing SSID
5705
5706 2008-02-29  Dan Williams  <dcbw@redhat.com>
5707
5708         * src/NetworkManagerPolicy.c
5709                 - (nm_policy_device_change_check): ensure that a previously active
5710                         device with a system connection has a link before denying a switch
5711                         to a user connection
5712
5713 2008-02-29  Dan Williams  <dcbw@redhat.com>
5714
5715         * src/nm-device-802-11-wireless.c
5716                 - (link_timeout_cb): try again if scanning; deactivate the device when
5717                         activated if the link dies
5718                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5719                         15 seconds
5720
5721 2008-02-29  Dan Williams  <dcbw@redhat.com>
5722
5723         * src/nm-device-802-11-wireless.c
5724           src/nm-device-802-11-wireless.h
5725                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5726                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5727                 - (device_cleanup): reset the scan interval lower when the device
5728                         deactivates
5729                 - (can_scan): base decision mostly off device state, not supplicant
5730                         interface state since the supplicant interface state isn't a
5731                         great indicator of whether the device is active or not
5732                 - (request_wireless_scan): clean up; schedule the next scan here
5733                 - (schedule_scan): only back the scan interval off if a new scan
5734                         actually gets scheduled; and make scan intervals tighter when the
5735                         device is disconnected
5736                 - (supplicant_iface_state_cb_handler): fold in the bits of
5737                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5738                         interval to minimum
5739                 - (activation_success_handler): reset scan interval to something
5740                         reasonable 
5741
5742 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5743
5744         reviewed by: Steev <steev@steev.net>
5745
5746         * configure.in:
5747         * src/backends/NetworkManagerGentoo.c:
5748         (nm_system_restart_mdns_responder):
5749                 Howl is no longer a supported mDNS provider
5750
5751 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5752
5753         Get rid of a bunch of unused distro specific functions.
5754
5755 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5756
5757         Implement suse plugin for system settings daemon.
5758
5759         * system-settings/plugins/ifcfg-suse/*: Implement.
5760
5761         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5762         suse.
5763
5764         * configure.in: Check (without failing) for gio.
5765         Create ifcfg-suse plugin's Makefile.
5766
5767 2008-02-20  Dan Williams  <dcbw@redhat.com>
5768
5769         * libnm-util/nm-connection.c
5770           libnm-util/nm-connection.h
5771                 - (nm_connection_compare): accept compare flags and pass them to the
5772                         setting compare function
5773
5774         * libnm-util/nm-setting.c
5775           libnm-util/nm-setting.h
5776                 - (nm_setting_compare): accept compare flags; ignore properties that are
5777                         marked fuzzy
5778
5779         * libnm-util/nm-setting-connection.c
5780           libnm-util/nm-setting-wireless.c
5781           libnm-util/nm-setting-ppp.c
5782           libnm-util/nm-setting-wired.c
5783                 - Mark some setting properties as ignorable when doing a fuzzy compare
5784
5785         * src/nm-device.c
5786                 - (device_activation_precheck): use exact compare
5787
5788 2008-02-20  Dan Williams  <dcbw@redhat.com>
5789
5790         * src/NetworkManagerPolicy.c
5791                 - (nm_policy_device_change_check): get scope off the connection, not
5792                         using the manager helper
5793
5794         * src/nm-manager.c
5795           src/nm-manager.h
5796                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5797                 - (connection_get_settings_cb): set scope and path on connection, not
5798                         using GObject data items
5799                 - (get_connection_for_proxy): don't need to return path, since that
5800                         can be gotten from the connection
5801                 - (get_connection_for_proxy): get path off the connection, not from
5802                         parameters
5803                 - (connection_removed_cb, connection_updated_cb): don't need to get
5804                         path from get_connection_for_proxy(); get scope off the connection
5805                         instead of using GObject data items
5806                 - (connection_added_default_handler, add_one_connection_element): use
5807                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5808                 - (nm_manager_get_connection_dbus_path): remove
5809                 - (nm_manager_get_connection_scope): remove
5810
5811 2008-02-20  Dan Williams  <dcbw@redhat.com>
5812
5813         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5814                 on confusing names
5815
5816         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5817                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5818                 NMExportedConnection
5819
5820         * Internally rename NMConnectionType -> NMConnectionScope
5821
5822         * Provide default implementations of the 'get_id' and 'get_settings' methods
5823                 of NMExportedConnection
5824
5825 2008-02-15  Dan Williams  <dcbw@redhat.com>
5826
5827         * src/nm-device-802-11-wireless.c
5828                 - (device_cleanup): release the AP list here too so that the AP list
5829                         doesn't survive across suspend/resume and up/down.  There is some
5830                         room for optimization, for example blow the list away when the card
5831                         brought back up, but only if the device has only been down for a
5832                         minute or more.
5833
5834 2008-02-15  Dan Williams  <dcbw@redhat.com>
5835
5836         * src/nm-hal-manager.c
5837                 - (modem_device_creator): recognize new HAL modem capabilities
5838
5839 2008-02-12  Dan Williams  <dcbw@redhat.com>
5840
5841         * system-settings/plugins/ifcfg-fedora/plugin.c
5842                 - (watch_path): handle IN_DELETE_SELF too
5843                 - (handle_connection_changed): notify when removing a connection
5844                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5845                         case of a file moving out of the profile directory
5846
5847 2008-02-12  Dan Williams  <dcbw@redhat.com>
5848
5849         * system-settings/plugins/ifcfg-fedora/parser.c
5850                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5851
5852 2008-02-12  Dan Williams  <dcbw@redhat.com>
5853
5854         * libnm-util/nm-utils.c
5855                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5856                         just any empty array
5857
5858 2008-02-12  Dan Williams  <dcbw@redhat.com>
5859
5860         * system-settings/src/nm-system-config-interface.c
5861           system-settings/src/nm-system-config-interface.h
5862                 - (load_connections): get_connections() should now return an allocated
5863                         GSList that the system settings service will free
5864
5865         * system-settings/plugins/ifcfg-fedora/plugin.c
5866           system-settings/plugins/ifcfg-fedora/parser.h
5867           system-settings/plugins/ifcfg-fedora/parser.c
5868                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5869                         in the profile directory, handle resolv.conf file changes
5870
5871 2008-02-10  Dan Williams  <dcbw@redhat.com>
5872
5873         * src/nm-device-802-3-ethernet.c
5874                 - (real_bring_up): save the supplicant interface state signal id
5875                 - (real_bring_down): disconnect from the supplicant interface state
5876                         signal
5877
5878 2008-02-07  Dan Williams  <dcbw@redhat.com>
5879
5880         * initscript/RedHat/NetworkManager.in
5881           initscript/RedHat/NetworkManagerDispatcher.in
5882                 - Add new-style LSB init headers
5883
5884 2008-02-07  Dan Williams  <dcbw@redhat.com>
5885
5886         * system-settings/src/dbus-settings.c
5887           system-settings/src/dbus-settings.h
5888                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5889                         table of secrets
5890                 - (connection_settings_get_secrets): consolidate error returns into
5891                         one place; use the new get_secrets() plugin interface function to
5892                         get secrets from the plugin itself rather than using GObject data
5893                         magic
5894
5895         * system-settings/src/main.c
5896                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5897                    load_connections): keep a private list of the plugin-returned
5898                         connections, don't use the plugin's GSList
5899
5900         * system-settings/plugins/ifcfg-fedora/plugin.c
5901                 - (watch_path): watch the path, not the filename (duh)
5902                 - (reload_all_connections): use the direct hash/equal functions; the
5903                         ones for int aren't appropriate here
5904                 - (get_secrets, system_config_interface_init): implement the
5905                         get_secrets() function
5906                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5907                         now in the connection's ConnectionData instead of being a GObject
5908                         data property
5909                 - (handle_profile_item_changed): ifcfg file path is now in the
5910                         connection's ConnectionData instead of being a GObject data property;
5911                         be sure to copy secrets over from the new connection to the existing
5912                         connection when updating the connection's settings
5913                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5914                         file descriptor
5915
5916         * system-settings/plugins/ifcfg-fedora/parser.c
5917           system-settings/plugins/ifcfg-fedora/parser.h
5918                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5919                    connection_data_copy_secrets, connection_data_free,
5920                    connection_data_add): new functions; connection data manipulation
5921                 - (make_wireless_security_setting): stuff secrets into the
5922                         connection data, not as GObject data items; make sure to close
5923                         the keys ifcfg file
5924                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5925                         connection data to the connection
5926
5927 2008-02-07  Dan Williams  <dcbw@redhat.com>
5928
5929         * system-settings/src/nm-system-config-interface.c
5930           system-settings/src/nm-system-config-interface.h
5931                 - Add a get_secrets() interface function to retrieve secrets for a
5932                         specific setting of a specific connection.  Document the interface
5933                         a bit more too.
5934
5935 2008-02-07  Dan Williams  <dcbw@redhat.com>
5936
5937         * src/nm-device-802-11-wireless.c
5938                 - (handle_auth_or_fail): new function; consolidate device activation
5939                         failure check after a certain number of failures getting secrets
5940                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5941                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5942                         the connection if secrets were requested more than a few times
5943                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5944                         tries here; otherwise they are cleared before the IP configure
5945                         timeout, which happens with open system WEP when key is wrong
5946                 - (activation_success_handler): clear wireless secrets tries here too
5947
5948 2008-02-07  Dan Williams  <dcbw@redhat.com>
5949
5950         * src/NetworkManagerPolicy.c
5951                 - (connection_updated): clear invalid tag when connection gets updated
5952                         to allow that connection to be tried again
5953                 - (nm_policy_new): save signal ids so they can be disconnected when
5954                         the policy is destroyed
5955                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5956                         and disconnect all signals from the manager object so that none
5957                         of the policy functions gets called after the policy is destroyed
5958
5959 2008-02-06  Dan Williams  <dcbw@redhat.com>
5960
5961         * src/nm-manager.c
5962                 - (finalize): remove devices a bit earlier; clean up system settings
5963                         poke
5964                 - (nm_manager_name_owner_changed): clean up system settings poke when
5965                         the service appears, and try to restart it if it fails
5966                 - (poke_system_settings_daemon_cb): try to get the system settings
5967                         service started through D-Bus service activation
5968                 - (initial_get_connections): start the system settings daemon if it's
5969                         not already running
5970
5971 2008-02-05  Dan Williams  <dcbw@redhat.com>
5972
5973         * src/supplicant-manager/nm-supplicant-config.c
5974                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5975                         broadcast networks too
5976
5977 2008-02-04  Dan Williams  <dcbw@redhat.com>
5978
5979         * system-settings/plugins/ifcfg-fedora/parser.c
5980                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5981                         need key_mgmt set too
5982                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5983                         .bak files; ensure that an error is set whenever NULL gets returned
5984
5985 2008-02-04  Dan Williams  <dcbw@redhat.com>
5986
5987         * system-settings/src/Makefile.am
5988                 - Install D-Bus service activation file for the system settings
5989                         service
5990
5991         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5992                 - D-Bus service activation file for system settings service
5993
5994 2008-02-04  Dan Williams  <dcbw@redhat.com>
5995
5996         * system-settings/src/main.c
5997                 - (parse_config_file): parse a config file
5998                 - (main): accept --config option and read plugins from config file
5999
6000 2008-02-04  Dan Williams  <dcbw@redhat.com>
6001
6002         * system-settings/plugins/ifcfg-fedora/plugin.c
6003                 - Change reported name to 'ifcfg-fedora'
6004                 - Use IFCFG_PLUGIN_NAME
6005
6006         * system-settings/plugins/ifcfg-fedora/plugin.c
6007                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6008
6009 2008-02-04  Dan Williams  <dcbw@redhat.com>
6010
6011         * system-settings/plugins/ifcfg-fedora/parser.c
6012                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6013                 - (make_connection_setting): use get_ifcfg_name()
6014                 - (make_wireless_security_setting): handle shadow key files
6015                 - (get_one_wep_key): treat empty string as NULL
6016
6017 2008-02-04  Dan Williams  <dcbw@redhat.com>
6018
6019         * src/supplicant-manager/nm-supplicant-manager.c
6020                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6021                         glib automatically reschedule
6022                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6023                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6024                         the supplicant
6025
6026 2008-02-01  Dan Williams  <dcbw@redhat.com>
6027
6028         * src/NetworkManagerPolicy.c
6029                 - (device_state_changed): schedule a change check when a device gets
6030                         deactivated so something happens if you disconnect GSM/CDMA
6031
6032 2008-01-31  Dan Williams  <dcbw@redhat.com>
6033
6034         * src/nm-device-802-11-wireless.h
6035           src/nm-device-802-11-wireless.c
6036                 - (ap_list_get_ap_by_ssid, is_associated,
6037                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6038                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6039                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6040                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6041                         function
6042
6043 2008-01-30  Dan Williams  <dcbw@redhat.com>
6044
6045         * system-settings/plugins/ifcfg
6046         * system-settings/plugins/ifcfg-fedora
6047                 - Move the ifcfg plugin to ifcfg-fedora
6048
6049 2008-01-24  Dan Williams  <dcbw@redhat.com>
6050
6051         * libnm-glib/nm-device-802-11-wireless.c
6052                 - (get_access_point): move the "/" check here; check for invalid path
6053                         too
6054                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6055                         to get_access_point()
6056                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6057                         to send signals for non-existent access points
6058
6059 2008-01-24  Dan Williams  <dcbw@redhat.com>
6060
6061         * libnm-glib/nm-device-802-11-wireless.c
6062                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6063
6064 2008-01-23  Dan Williams  <dcbw@redhat.com>
6065
6066         * libnm-glib/libnm_glib.c
6067                 - (libnm_glib_init): make thread joinable
6068                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6069
6070 2008-01-23  Dan Williams  <dcbw@redhat.com>
6071
6072         * test/libnm_glib_test.c
6073                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6074                 - (main): set up signal handlers; call libnm_glib_shutdown
6075
6076 2008-01-21  Dan Williams  <dcbw@redhat.com>
6077
6078         * include/NetworkManager.h
6079                 - Add CDMA mobile broadband card device type
6080
6081         * src/nm-hal-manager.c
6082                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6083                         must now be tagged with 'cdma' or 'gsm' capability
6084
6085         * src/nm-cdma-device.c
6086           src/nm-cdma-device.h
6087           src/Makefile.am
6088                 - Add the CDMA mobile broadband card device class
6089
6090         * libnm-util/nm-connection.c
6091                 - (register_default_settings): add NMSettingCdma
6092
6093         * libnm-util/nm-setting-cdma.c
6094           libnm-util/nm-setting-cdma.h
6095           libnm-util/Makefile.am
6096                 - Add the CDMA mobile broadband card setting class
6097
6098         * libnm-glib/nm-cdma-device.c
6099           libnm-glib/nm-cdma-device.h
6100           libnm-glib/Makefile.am
6101                 - Add the CDMA mobile broadband card GLib proxy class
6102
6103         * libnm-glib/nm-client.c
6104                 - (get_device): handle CDMA devices too
6105
6106 2008-01-21  Dan Williams  <dcbw@redhat.com>
6107
6108         * src/ppp-manager/nm-ppp-manager.c
6109                 - (ip4_config_get): set peer address too
6110
6111         * src/ppp-manager/nm-pppd-plugin.c
6112                 - (nm_ip_up): try harder to get the peer's address
6113
6114         * src/NetworkManagerSystem.c
6115                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6116                         address, use that too.  Otherwise, some PPP connections won't work.
6117
6118 2008-01-19  Dan Williams  <dcbw@redhat.com>
6119
6120         * src/NetworkManagerPolicy.c
6121                 - (nm_policy_device_change_check): system connections override user
6122                         connections; don't activate a user connection if there's a currently
6123                         active system connection, and new, better system connections always
6124                         interrupt user connections
6125
6126 2008-01-19  Dan Williams  <dcbw@redhat.com>
6127
6128         * src/nm-manager.h
6129                 - (nm_manager_get_connection_type): new function
6130
6131 2008-01-19  Dan Williams  <dcbw@redhat.com>
6132
6133         * src/nm-device-802-11-wireless.c
6134                 - (real_get_best_connection): collapse find_best_connection() into this
6135                         function
6136
6137 2008-01-19  Dan Williams  <dcbw@redhat.com>
6138
6139         * src/nm-device-802-3-ethernet.c
6140                 - (real_get_best_connection): collapse find_best_connection() into this
6141                         function
6142
6143 2008-01-18  Dan Williams  <dcbw@redhat.com>
6144
6145         * src/nm-device-802-3-ethernet.c
6146                 - (find_best_connection): check MAC address too
6147                 - (real_get_best_connection): let autoconnect=True connections activate
6148                         for devices that don't have carrier detection
6149
6150         * src/nm-device-802-11-wireless.c
6151                 - (find_best_connection): check MAC address too
6152
6153 2008-01-18  Dan Williams  <dcbw@redhat.com>
6154
6155         * system-settings/plugins/ifcfg/parser.c
6156                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6157
6158 2008-01-17  Dan Williams  <dcbw@redhat.com>
6159
6160         * src/nm-device-802-3-ethernet.c
6161                 - (nm_device_802_3_ethernet_carrier_on,
6162                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6163                         carrier events that might come in for devices that don't support
6164                         carrier detect
6165
6166 2008-01-17  Dan Williams  <dcbw@redhat.com>
6167
6168         * src/nm-device-interface.c
6169                 - (nm_device_interface_check_connection_conflicts): need to actually
6170                         get the interface, not cast to the object
6171
6172         * src/nm-device.c
6173                 - (nm_device_check_connection_conflicts): need to get the device class,
6174                         not cast the device to the device class
6175
6176 2008-01-17  Dan Williams  <dcbw@redhat.com>
6177
6178         * src/nm-device-802-11-wireless.c
6179                 - (real_check_connection_conflicts): ignore connections that aren't
6180                         wireless connections
6181
6182 2008-01-17  Dan Williams  <dcbw@redhat.com>
6183
6184         * src/NetworkManagerPolicy.c
6185                 - (nm_policy_device_change_check): clear change check idle here
6186                 - (device_change_check_done): remove
6187                 - (schedule_change_check): simplify
6188
6189 2008-01-17  Dan Williams  <dcbw@redhat.com>
6190
6191         * src/nm-manager.c
6192                 - (check_connection_allowed): take an NMDeviceInterface instead of
6193                         an NMDevice object as an argument
6194                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6195                         check_connection_allowed()
6196
6197 2008-01-13  Dan Williams  <dcbw@redhat.com>
6198
6199         * libnm-glib/nm-device-802-11-wireless.c
6200                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6201
6202 2008-01-12  Dan Williams  <dcbw@redhat.com>
6203
6204         * src/nm-device-802-11-wireless.c
6205                 - (activation_success_handler): if a match was found in the scan list
6206                         and that match is a hidden AP, update that AP's SSID
6207
6208 2008-01-11  Dan Williams  <dcbw@redhat.com>
6209
6210         * src/NetworkManagerAP.c
6211                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6212
6213         * src/nm-device-802-11-wireless.c
6214                 - (get_active_ap): do two passes over the scan list if the caller
6215                         requests that hidden APs get matched too; during the second pass
6216                         when matching hidden APs, ignore the SSID since hidden APs in the
6217                         scan list don't have an SSID yet
6218                 - (periodic_update): move some checks to
6219                         nm_device_802_11_periodic_update() because not all callers need them
6220                 - (nm_device_802_11_periodic_update): move some checks here from
6221                         perodic_update()
6222                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6223                         matching on incoming scan results, because the fake AP's flags
6224                         might be slightly different (yet still compatible) with the incoming
6225                         scan result's flags and they might actually be the same AP; update
6226                         the rate on merged APs too
6227                 - (activation_success_handler): update the frequency of the fake AP
6228                         on successful connection; match hidden APs too since if the
6229                         current AP is fake, there might already be a scan result in the
6230                         scan list for the desired AP, just without it's SSID filled in yet
6231
6232 2008-01-10  Dan Williams  <dcbw@redhat.com>
6233
6234         * src/NetworkManagerAP.c
6235                 - (foreach_property_cb): catch more hidden SSID formats
6236
6237 2008-01-10  Dan Williams  <dcbw@redhat.com>
6238
6239         Fix gnome.org #464215.  Requires the kernel patch titled
6240         "Introduce WEXT scan capabilities" but will handle the patch not being
6241         present, you'll just continue to have problems with hidden SSIDs when
6242         using mac80211-based drivers.
6243
6244         * src/supplicant-manager/nm-supplicant-config.h
6245           src/supplicant-manager/nm-supplicant-config.c
6246                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6247                         whether the driver supports SSID scans or not.  If it does, and if
6248                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6249
6250         * src/nm-device-802-11-wireless.c
6251                 - (constructor): check whether or not the driver supports SSID scans
6252                 - (build_supplicant_config): pass driver SSID scan capability when
6253                         building the wireless bits of the supplicant config
6254
6255 2008-01-09  Dan Williams  <dcbw@redhat.com>
6256
6257         * src/nm-device.c
6258           src/nm-device.h
6259                 - (device_activation_precheck, check_connection_complete): remove this
6260                         virtual function; incomplete connections should be invalid by
6261                         definition, complete-ness should be checked in the setting's
6262                         verify function
6263
6264         * src/nm-serial-device.c
6265           src/nm-gsm-device.c
6266                 - (real_check_connection_complete): remove
6267
6268         * libnm-util/nm-setting-serial.c
6269                 - (verify): new function; ensure there is a PPP setting too
6270
6271         * libnm-util/nm-setting-gsm.c
6272                 - (verify): ensure there is a serial setting too
6273
6274 2008-01-06  Dan Williams  <dcbw@redhat.com>
6275
6276         * src/dhcp-manager/nm-dhcp-manager.c
6277                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6278                         (gnome.org #332953)
6279
6280 2008-01-04  Dan Williams  <dcbw@redhat.com>
6281
6282         * src/named-manager/nm-named-manager.c
6283                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6284                         nameservers if the secondary config doesn't have any
6285                         (gnome.org #346833)
6286
6287 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6288
6289         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6290         with G_PARAM_CONSTRUCT so that they get the default values.
6291
6292         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6293         the monitoring device and prints out the output for now. Or more precicely, doesn't
6294         do absolutely anything right now since the montoring device argument is never set.
6295
6296         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6297         requires it's own knob to turn it on.
6298         (config_fd): Add NMSettingSerial to the arguments list.
6299         (nm_serial_device_open): Ditto.
6300         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6301         (nm_serial_device_get_io_channel): Implement.
6302
6303         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6304         a new reference every time (and forgetting to release it sometimes) is a pain and
6305         it's not like NMManager could work without dbus.
6306         (nm_manager_add_device): Register the added device on dbus here.
6307
6308         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6309         device.
6310
6311         * src/nm-device.c (constructor): Don't export the device here, instead export
6312         it when it's added to the NMManager's device list.
6313
6314 2007-12-31  Dan Williams  <dcbw@redhat.com>
6315
6316         * src/nm-device-interface.c
6317           src/nm-device-interface.h
6318                 - (nm_device_interface_check_connection_conflicts): new function
6319
6320         * src/nm-device.c
6321           src/nm-device.h
6322                 - (nm_device_check_connection_conflicts): new function
6323                 - (device_activation_precheck): don't require subclasses to implement
6324                         check_connection_complete()
6325                 - check_connection() -> check_connection_complete()
6326
6327         * src/nm-device-802-11-wireless.c
6328                 - (real_check_connection): remove; unused
6329                 - (real_check_connection_conflicts): implement, handle lockdown for
6330                         system connections
6331
6332         * src/nm-device-802-3-ethernet.c
6333                 - (real_check_connection): remove; unused
6334
6335         * src/nm-manager.c
6336                 - (check_connection_allowed): new function
6337                 - (nm_manager_activate_device): ensure the connection being requested
6338                         is allowed to be activated
6339
6340         * src/nm-serial-device.c
6341           src/nm-gsm-device.c
6342                 - real_check_connection() -> real_check_connection_complete()
6343
6344 2007-12-27  Dan Williams  <dcbw@redhat.com>
6345
6346         * src/nm-device-interface.c
6347           src/nm-device-interface.h
6348                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6349                         normalize and expand errors
6350                 - (nm_device_interface_init): register errors so they can be marshalled
6351                         through dbus-glib
6352                 - (nm_device_interface_activate): ensure that failure of activation
6353                         returns an error
6354
6355         * src/nm-device.c
6356           src/nm-device.h
6357                 - (device_activation_precheck): implementations of check_connection()
6358                         now take a GError and must fill it in if the check fails.  Return
6359                         more descriptive error if the requested connection is already
6360                         activating
6361                 - (nm_device_activate): actually try to return descriptive errors on
6362                         failures
6363
6364         * src/nm-device-802-11-wireless.c
6365           src/nm-device-802-3-ethernet.c
6366           src/nm-serial-device.c
6367           src/nm-gsm-device.c
6368                 - (real_check_connection): return more descriptive errors on failure
6369
6370         * src/NetworkManagerPolicy.c
6371                 - (nm_policy_device_change_check): print activation errors in the logs
6372
6373         * src/nm-manager.c
6374                 - (nm_manager_error_quark, nm_manager_error_get_type,
6375                    nm_manager_class_init): new errors
6376                 - (nm_manager_activate_device): handle errors
6377                 - (nm_manager_error_new): removed
6378                 - (wait_for_connection_expired, connection_added_default_handler,
6379                    impl_manager_activate_device): better error handling
6380
6381 2007-12-27  Dan Williams  <dcbw@redhat.com>
6382
6383         Fixes gnome.org #466954
6384
6385         * src/supplicant-manager/nm-supplicant-settings-verify.c
6386                 - Allow 'frequency' network property
6387
6388         * src/supplicant-manager/nm-supplicant-config.c
6389           src/supplicant-manager/nm-supplicant-config.h
6390                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6391                         for callers to specify the frequency an Ad-Hoc network should operate
6392                         on.  Some drivers require this to successfully create an Ad-Hoc
6393                         network.
6394
6395         * src/nm-device-802-11-wireless.c
6396                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6397                         guint32 value in MHz
6398                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6399                         iw_freq_to_uint32()
6400                 - (find_supported_frequency): new function; find a free supported
6401                         frequency for a user-created Ad-Hoc network
6402                 - (build_supplicant_config): if no frequency was specified for a user-
6403                         created Ad-Hoc network, find a free one to use
6404                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6405                         a specific object as user-created
6406
6407 2007-12-27  Dan Williams  <dcbw@redhat.com>
6408
6409         * libnm-util/nm-utils.c
6410           libnm-util/nm-utils.h
6411                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6412                         for adhoc networks
6413
6414 2007-12-24  Dan Williams  <dcbw@redhat.com>
6415
6416         * libnm-util/nm-setting-wireless.c
6417                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6418                         185, 187, 188, 192, and 196
6419
6420 2007-12-24  Dan Williams  <dcbw@redhat.com>
6421
6422         * src/nm-device-802-11-wireless.c
6423                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6424                         a channel # instead of a frequency
6425
6426 2007-12-24  Dan Williams  <dcbw@redhat.com>
6427
6428         * src/NetworkManagerAP.c
6429           src/NetworkManagerAP.h
6430                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6431                 - (freq_to_channel): handle split band tables
6432                 - (channel_to_freq): handle split band tables, take a band argument
6433
6434 2007-12-24  Dan Williams  <dcbw@redhat.com>
6435
6436         * libnm-util/nm-setting-connection.h
6437           libnm-util/nm-setting-connection.c
6438                 - Add 'lockdown' member
6439
6440 2007-12-22  Dan Williams  <dcbw@redhat.com>
6441
6442         * libnm-util/nm-setting-wireless.c
6443                 - (nm_setting_wireless_class_init): add missing 'rate' property
6444                         specification
6445
6446 2007-12-18  Dan Williams  <dcbw@redhat.com>
6447
6448         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6449
6450         * src/nm-netlink-monitor.c
6451           src/nm-netlink-monitor.h
6452                 - Remove handrolled netlink, use libnl instead
6453
6454         * src/nm-device-802-3-ethernet.c
6455                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6456                    nm_device_802_3_ethernet_carrier_on): use new names
6457
6458 2007-12-17  Dan Williams  <dcbw@redhat.com>
6459
6460         * configure.in
6461                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6462                         and fixes memory leaks)
6463
6464         * src/nm-netlink.c
6465                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6466                         automatically handle the netlink PID
6467
6468 2007-12-17  Dan Williams  <dcbw@redhat.com>
6469
6470         Patch from Michael Biebl <biebl@debian.org>
6471
6472         * configure.in
6473           src/ppp-manager/Makefile.am
6474                 - fix up install dir of pppd plugin
6475                 - clean up configure.in a bit
6476
6477 2007-12-12  Dan Williams  <dcbw@redhat.com>
6478
6479         * system-settings/src/nm-system-settings.conf
6480                 - Allow non-root clients (like the applet) to read settings
6481
6482 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6483
6484         * Replace all occurences of 'UMTS' with 'GSM'.
6485
6486 2007-12-07  Dan Williams  <dcbw@redhat.com>
6487
6488         * src/nm-serial-device.c
6489                 - (real_is_up): serial devices are always "up"
6490
6491 2007-12-07  Dan Williams  <dcbw@redhat.com>
6492
6493         * src/nm-netlink.c
6494           src/NetworkManagerSystem.c
6495                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6496                         twice (gnome.org #491047)
6497                 - Make more robust against allocation-related failures should they occur
6498
6499 2007-12-07  Dan Williams  <dcbw@redhat.com>
6500
6501         Noticed by Christian Persch <chpe@gnome.org>
6502
6503         Always chain up to parent object in dispose and finalize handlers.
6504                 (gnome.org #433112)
6505
6506 2007-12-07  Dan Williams  <dcbw@redhat.com>
6507
6508         * src/nm-device-802-11-wireless.c
6509                 - Wrap #include of linux/mii.h to fix redefined structures due to
6510                         incorrect kernel headers (gnome.org #350061)
6511
6512 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6513
6514         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6515         before doing anything else.
6516         (init_modem): Move modem initialization here.
6517
6518         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6519         (nm_serial_device_flash): Implement.
6520
6521         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6522         changes signal is "StateChanged" and not "Status".
6523         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6524
6525 2007-12-06  Dan Williams  <dcbw@redhat.com>
6526
6527         * src/supplicant-manager/nm-supplicant-config.c
6528                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6529                         to only send some options when they make sense; also send phase2
6530                         option to the supplicant (possible fix for rh #399631)
6531
6532 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6533
6534         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6535         arguments: This whole file shouldn't really know anything about NMDevices, it
6536         should deal only with device interfaces. Devices might have different ifaces for
6537         different stuff and this place shouldn't know anything about it.
6538
6539         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6540         (global_state_changed): Implement. In the current NM it's not really important,
6541         but will be required in the case of multiple active devices. (Or even better,
6542         if stuff like that gets moved out from NM).
6543
6544         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6545         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6546         instead.
6547
6548         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6549         devices like serial devices (ttyS0 and ppp0 for example).
6550         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6551         set.
6552         (nm_device_set_ip_iface): Implement.
6553         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6554         after setting ip4_config from here ...
6555         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6556         than this function should call nm_system_device_set_from_ip4_config() because no
6557         other code has enough information on which arguments to use. So instead, other code
6558         could just set the new ip4 config using this function and everyone is happy.
6559
6560         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6561         if we happen to get deactivated while something is pending.
6562         (automatic_registration): Handle the response that indicates pending network
6563         registration and wait until the pending registration is done.
6564         (real_deactivate_quickly): If there's a pending operation, cancel it.
6565
6566         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6567         (real_deactivate_quickly): ... and remove it when it's down.
6568         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6569         it if needed.
6570         (nm_serial_device_wait_for_reply): Ditto.
6571
6572 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6573
6574         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6575         (get_network_done): Remove newline, nm_info() does it already.
6576         (real_act_stage1_prepare): Turn the modem echo off.
6577
6578         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6579         device, set the route to the device interface. This is a hack.
6580
6581         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6582         return, no need for a new-line.
6583         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6584         Change the device iface here (ugh).
6585         (real_act_stage4_get_ip4_config): Implement.
6586         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6587         Restore the device iface.
6588
6589         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6590         device is not wired or wireless (eg, automatically upped) device.
6591
6592         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6593         it isn't.
6594         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6595
6596         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6597         before calling it's is_device_fn().
6598
6599 2007-12-05  Dan Williams  <dcbw@redhat.com>
6600
6601         * libnm-util/nm-utils.c
6602                 - (nm_utils_register_value_transformations,
6603                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6604                         GHashTables of GValues too
6605
6606 2007-12-04  Dan Williams  <dcbw@redhat.com>
6607
6608         * initscript/RedHat/NetworkManager.in
6609                 - No longer start named; it's D-Bus interface is going away
6610
6611 2007-12-04  Dan Williams  <dcbw@redhat.com>
6612
6613         Patch from Michael Biebl <biebl@debian.org>
6614
6615         * system-settings/plugins/ifcfg/Makefile.am
6616           system-settings/src/main.c
6617           system-settings/src/Makefile.am
6618                 - Put system settings plugins in NM plugins dir
6619
6620         * src/ppp-manager/Makefile.am
6621           src/ppp-manager/nm-ppp-manager.c
6622                 - Move pppd plugin to NM plugins dir
6623
6624 2007-12-04  Dan Williams  <dcbw@redhat.com>
6625
6626         * libnm-util/nm-setting-vpn-properties.h
6627                 - Clarify usage of the 'data' member of the setting
6628
6629         * libnm-util/nm-setting-vpn-properties.c
6630                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6631                 - (set_property): just remove all the settings; don't recreate the has
6632                 - (update_one_secret): don't need to create the hash table here since
6633                         it should always be present
6634
6635 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6636
6637         Implement PIN and PUK requesting.
6638
6639         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6640         (enter_pin): Handle PIN and PUK requests.
6641         (real_act_stage1_prepare): Clear the secret type.
6642         (real_connection_secrets_updated): Implement this class method to get
6643         notified when new secrets arrive.
6644         (nm_umts_device_class_init): Add private data back to the umts device class
6645         to store the required secret type.
6646
6647 2007-12-01  Dan Williams  <dcbw@redhat.com>
6648
6649         * system-settings/plugins/ifcfg/parser.c
6650                 - (parser_parse_file): don't try to verify NULL connections
6651
6652 2007-12-01  Dan Williams  <dcbw@redhat.com>
6653
6654         * system-settings/src/main.c
6655                 - (load_connections, add_connection_to_settings): actually export
6656                         plugin-provided connections over D-Bus so NM can get them
6657
6658 2007-12-01  Dan Williams  <dcbw@redhat.com>
6659
6660         * system-settings/plugins/ifcfg/parser.c
6661           system-settings/plugins/ifcfg/parser.h
6662           system-settings/plugins/ifcfg/plugin.c
6663                 - Hook up more inotify bits (untested)
6664
6665 2007-11-29  Dan Williams  <dcbw@redhat.com>
6666
6667         * system-settings/src/nm-system-config-interface.h
6668           system-settings/src/nm-system-config-interface.c
6669                 - (nm_system_config_interface_init,
6670                    nm_system_config_interface_get_connections): add
6671
6672         * system-settings/src/main.c
6673                 - (load_plugins, load_connections, main): use a GSList for plugins
6674                         to ensure priority ordering
6675
6676         * system-settings/plugins/ifcfg/parser.c
6677                 - (ifcfg_error_quark): move to plugin.c, and rename
6678
6679         * system-settings/plugins/ifcfg/plugin.h
6680           system-settings/plugins/ifcfg/plugin.c
6681                 - (ifcfg_plugin_error_quark): move here from parser.c
6682                 - rework connection loading and initialization
6683                 - Add preliminary inotify support for network profile config file
6684
6685 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6686
6687         Merge the beginnings of the new GSM card support.
6688
6689         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6690         ppp watch source before killing pppd - If this happens from g_object_unref()
6691         then the ppp manager is already destroyed by the time the watch callback runs.
6692
6693         * src/nm-hal-manager.c: Add a device_type_name string to the device
6694         creators, so that we can print a nice human readable string when a
6695         device is added.
6696
6697         * src/nm-umts-device.c (automatic_registration_get_network): Query
6698         for the activated network, not much is done with the result thought.
6699
6700         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6701         (ppp_ip4_config): Change the device state to activated here for now.
6702         (real_check_connection): Make sure the connection includes ppp setting.
6703
6704         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6705
6706         * libnm-glib/Makefile.am: Add the new files to build.
6707
6708         * libnm-glib/nm-umts-device.c: 
6709         * libnm-glib/nm-umts-device.h: Implement.
6710
6711 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6712
6713         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6714         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6715
6716         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6717         the timeout source - this function is only called when the timeout source has
6718         been removed.
6719         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6720         to be big enough to contain the terminating zero element as well.
6721         The timeout argument is meant to be in seconds now.
6722         (real_deactivate_quickly): Implement.
6723
6724         * src/NetworkManager.conf: Allow root to own 
6725         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6726
6727         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6728         (not unsigned ints).
6729
6730         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6731         small issue with parity bounds - capital letters have lower ascii codes
6732         than lower case letters.
6733
6734         * libnm-util/nm-connection.c (register_default_settings): Register serial
6735         and umts settings.
6736
6737 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6738
6739         Remove the "index" property from devices as not all device types have this.
6740
6741         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6742
6743         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6744         (wired_device_creator): Get the device interface from hal to create the device.
6745         (wireless_device_creator): Ditto.
6746
6747         * src/nm-device.c (nm_device_init): Remove the index member.
6748         (constructor): Remove the checks for index property, make interface property
6749         a require constructor property.
6750         Use the HAL udi for DBus path for devices.
6751         (nm_device_get_index): Remove.
6752         (set_property): Remove index handling.
6753         (get_property): Ditto.
6754         (nm_device_get_dbus_path): Remove.
6755
6756         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6757         property.
6758
6759         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6760         Access the device index through it's interface.
6761         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6762         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6763         index argument. Add interface argument.
6764
6765         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6766         the useless test_dev argument. Remove index argument. Add interface arugment.
6767
6768         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6769         device index through interface.
6770         (nm_system_set_mtu): Ditto.
6771
6772         * introspection/nm-device.xml: Remove the "Index" property.
6773
6774 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6775
6776         * src/nm-serial-device.c: 
6777         * src/nm-serial-device.c: 
6778         * src/nm-umts-device.c:
6779         * src/nm-umts-device.h: Implement.
6780
6781         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6782         allocated by libhal.
6783         (modem_device_creator): Implement.
6784         (register_built_in_creators): Register the modem creator.
6785
6786         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6787         Remove the unused test_dev argument.
6788
6789         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6790
6791         * src/Makefile.am: Add new files to build.
6792         Link in ppp-manager.
6793
6794         * libnm-util/nm-setting-umts.c: 
6795         * libnm-util/nm-setting-umts.h: 
6796         * libnm-util/nm-setting-serial.c: 
6797         * libnm-util/nm-setting-serial.h: Implement.
6798
6799         * libnm-util/Makefile.am: Add new files to build.
6800
6801 2007-11-28  Dan Williams  <dcbw@redhat.com>
6802
6803         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6804
6805         Support DHCP-provided static routes.
6806
6807         * src/nm-ip4-config.h
6808           src/nm-ip4-config.c
6809                 - Add get/set functions for static routes
6810
6811         * src/dhcp-manager/nm-dhcp-manager.c
6812                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6813                         DHCP response
6814
6815         * src/NetworkManagerSystem.c
6816                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6817                         interface when applying the IP4Config
6818
6819 2007-11-28  Dan Williams  <dcbw@redhat.com>
6820
6821         * src/nm-device-802-11-wireless.c
6822                 - (real_act_stage1_prepare): mark APs created for hidden networks
6823                         as non-broadcasting
6824
6825 2007-11-27  Dan Williams  <dcbw@redhat.com>
6826
6827         * system-settings/src/nm-system-config-interface.h
6828                 - Note how to store secrets on NMSetting objects
6829
6830         * system-settings/src/dbus-settings.c
6831                 - (connection_settings_get_secrets): implement
6832
6833 2007-11-27  Dan Williams  <dcbw@redhat.com>
6834
6835         * system-settings/plugins/ifcfg/Makefile.am
6836           system-settings/plugins/ifcfg/parser.c
6837           system-settings/plugins/ifcfg/parser.h
6838           system-settings/plugins/ifcfg/plugin.c
6839                 - Parse wireless connections too
6840
6841         * system-settings/src/dbus-settings.c
6842           system-settings/src/dbus-settings.h
6843           system-settings/src/main.c
6844                 - Handle connection update/removal if the plugin supports it
6845
6846 2007-11-27  Dan Williams  <dcbw@redhat.com>
6847
6848         * src/nm-dbus-manager.h
6849           src/nm-hal-manager.c
6850                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6851                         do it for them
6852
6853         * src/Makefile.am
6854           src/NetworkManagerDbusUtils.c
6855           src/NetworkManagerDbusUtils.h
6856                 - Remove these two source files; they are unused
6857
6858 2007-11-27  Dan Williams  <dcbw@redhat.com>
6859
6860         * src/vpn-manager/nm-vpn-manager.c
6861                 - (impl_vpn_manager_connect): fix system settings check (found by
6862                         James M. Leddy)
6863
6864 2007-11-26  Dan Williams  <dcbw@redhat.com>
6865
6866         * Fix warnings so everything compiles with --enable-more-warnings
6867
6868 2007-11-25  Dan Williams  <dcbw@redhat.com>
6869
6870         * system-settings/*
6871                 - Rework structure and code to use GModule-loaded plugins and a plugin
6872                         interface that plugins export to the system settings service
6873
6874 2007-11-21  Dan Williams  <dcbw@redhat.com>
6875
6876         * system-settings/*
6877                 - Add Soren's system settings service.  Needs work for distros other
6878                         than Fedora; the backends from NM should mostly migrate to here
6879                         and be converted to GObjects
6880
6881 2007-11-21  Dan Williams  <dcbw@redhat.com>
6882
6883         * libnm-util/nm-setting-vpn-properties.c
6884                 - (set_property): must deep-copy the given settings hash, otherwise
6885                         double-free errors occur when the setting is disposed of
6886
6887 2007-11-21  Dan Williams  <dcbw@redhat.com>
6888
6889         * src/vpn-manager/nm-vpn-act-request.h
6890           src/vpn-manager/nm-vpn-act-request.c
6891                 - Remove; unused
6892
6893 2007-11-20  Dan Williams  <dcbw@redhat.com>
6894
6895         * libnm-util/nm-utils.c
6896                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6897                    nm_utils_convert_ip4_addr_struct_array_to_string,
6898                    nm_utils_register_value_transformations): print out the readable
6899                         values of more types of properties of NMSettings subclasses
6900
6901 2007-11-20  Dan Williams  <dcbw@redhat.com>
6902
6903         * libnm-util/nm-setting-ip4-config.c
6904                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6905                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6906                         marshal GValueArrays inside collections, so switch to types that it
6907                         can actually marshal/demarshal
6908
6909 2007-11-16  Dan Williams  <dcbw@redhat.com>
6910
6911         * libnm-util/nm-setting-wireless-security.c
6912                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6913                         minimal verification of EAP methods too
6914                 - (verify): verify phase1 eap methods too
6915
6916 2007-11-15  Dan Williams  <dcbw@redhat.com>
6917
6918         * libnm-glib/nm-device.h
6919           libnm-glib/nm-device.c
6920                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6921                         const char *
6922
6923 2007-11-15  Dan Williams  <dcbw@redhat.com>
6924
6925         * libnm-glib/nm-device.c
6926                 - (get_product_and_vendor): don't try to free things that should be
6927                         freed
6928
6929 2007-11-15  Dan Williams  <dcbw@redhat.com>
6930
6931         * src/NetworkManagerUtils.c
6932                 - (nm_ethernet_address_is_valid): unbreak previous fix
6933
6934 2007-11-15  Dan Williams  <dcbw@redhat.com>
6935
6936         * src/supplicant-manager/nm-supplicant-config.c
6937                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6938                         options
6939
6940 2007-11-15  Dan Williams  <dcbw@redhat.com>
6941
6942         * src/NetworkManagerUtils.c
6943                 - (nm_ethernet_address_is_valid): fix style, clarify
6944                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6945
6946         * src/nm-device-802-11-wireless.c
6947                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6948                 - (nm_device_802_11_wireless_get_ssid,
6949                    nm_device_802_11_wireless_get_bssid,
6950                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6951                         before calling the ioctl; fixes valgrind-reported jump depends on
6952                         uninitialized value errors
6953
6954 2007-11-15  Dan Williams  <dcbw@redhat.com>
6955
6956         * libnm-util/nm-setting.c
6957                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6958                         unecessary to serialize 'name'
6959
6960         * src/nm-activation-request.c
6961                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6962                         the GetSecrets call
6963
6964 2007-11-15  Dan Williams  <dcbw@redhat.com>
6965
6966         * libnm-util/nm-setting-connection.h
6967           libnm-util/nm-setting-connection.c
6968                 - Rename the 'name' property to 'id', because it conflicted with the
6969                         NMSetting superclass' 'name' property.
6970
6971         * libnm-util/nm-setting.c
6972                 - (nm_setting_to_hash): serialize the 'name' property
6973                 - (one_property_cb): ignore 'name' on deserialization of a connection
6974
6975         * src/nm-device-802-11-wireless.c
6976           src/vpn-manager/nm-vpn-connection.c
6977           src/NetworkManagerPolicy.c
6978                 - Fix up for NMSettingConnection 'name'->'id' changes
6979
6980 2007-11-13  Dan Williams  <dcbw@redhat.com>
6981
6982         * libnm-glib/nm-device-802-11-wireless.h
6983           libnm-glib/nm-device-802-11-wireless.c
6984                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6985
6986         * test/nm-tool.c
6987           libnm-glib/libnm-glib-test.c
6988                 - Fixes for above change
6989
6990 2007-11-12  Dan Williams  <dcbw@redhat.com>
6991
6992         * src/supplicant-manager/nm-supplicant-settings-verify.c
6993                 - Allow fragment_size option
6994
6995         * src/supplicant-manager/nm-supplicant-settings-verify.c
6996                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6997                         EAP fragment size than the default to help some TLS connections
6998
6999 2007-11-12  Dan Williams  <dcbw@redhat.com>
7000
7001         Make certs actually work.  The private key is now a secret, and should be
7002         decrypted when requested by NM.  The private key and phase2 private key
7003         passwords are no longer interesting to NM because they should be used by
7004         the settings service to decrypt the private key itself before passing it
7005         to NM, and hence have been removed as fields.
7006
7007         * libnm-util/nm-setting-wireless-security.h
7008           libnm-util/nm-setting-wireless-security.c
7009                 - Remove private-key-passwd and phase2-private-key-passwd from
7010                         properties
7011                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7012                    need_secrets): use property #defines instead strings to keep things
7013                         consistent
7014                 - (need_secrets_tls): if a client certificate is present but no
7015                         private key, request the private key
7016                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7017                         remove private key password stuff, mark private keys as secret
7018
7019         * src/supplicant-manager/nm-supplicant-settings-verify.c
7020                 - Remove private_key_passwd and private_key2_passwd from opt_table
7021
7022 2007-11-09  Dan Williams  <dcbw@redhat.com>
7023
7024         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7025         Since the vpn-properties are managed and known by the VPN daemons themselves,
7026         libnm-util doesn't know what's secret and what's in the setting's 'data'
7027         member.
7028
7029         * libnm-util/nm-setting.h
7030           libnm-util/nm-setting.c
7031                 - Add the ability for subclasses to override update_one_secret
7032
7033         * libnm-util/nm-setting-vpn-properties.c
7034                 - Override update_one_secret and just copy the values into the
7035                         internal table
7036
7037 2007-11-09  Dan Williams  <dcbw@redhat.com>
7038
7039         * libnm-glib/nm-settings.h
7040           libnm-glib/nm-settings.c
7041                 - (nm_settings_new_error): remove
7042                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7043                         clients should use g_set_error() with NM_SETTINGS_ERROR
7044
7045 2007-11-09  Dan Williams  <dcbw@redhat.com>
7046
7047         * src/supplicant-manager/nm-supplicant-config.c
7048                 - (nm_supplicant_config_add_setting_wireless_security): private key
7049                         passwords are never sent to wpa_supplicant, because the supplicant
7050                         should never be reading random files from the disk.  Clients like
7051                         the applet are required to decrypt the private keys and send NM
7052                         the decrypted blobs.
7053
7054 2007-11-08  Dan Williams  <dcbw@redhat.com>
7055
7056         * libnm-util/nm-setting-wireless-security.h
7057           libnm-util/nm-setting-wireless-security.c
7058                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7059                         members to 802-11-wireless-security structure.  This should be used
7060                         to indicate that the values in private-key and phase2-private-key
7061                         are already decrypted by the user agent, and that no
7062                         private-key-passwd or phase2-private-key-passwd should be expected.
7063                         It is not meant to be a stored configuration value, but meant to
7064                         be set when the conneciton is sent to NM over dbus.
7065
7066 2007-11-08  Dan Williams  <dcbw@redhat.com>
7067
7068         * libnm-util/nm-connection.h
7069           libnm-util/nm-connection.c
7070                 - (nm_connection_need_secrets): add argument to return hints
7071
7072         * src/nm-device-802-11-wireless.c
7073                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7074                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7075                         nm_connection_need_secrets() change
7076
7077 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7078
7079         Rework NMSetting structures: Move each setting to it's own file.
7080         Convert to GObject. Remove home grown setting types and use GTypes.
7081         Use GObject property introspection for hash conversion, enumerating
7082         properties, etc.
7083
7084         * libnm-util/nm-setting-connection.[ch]
7085         * libnm-util/nm-setting-ip4-config.[ch]
7086         * libnm-util/nm-setting-ppp.[ch]
7087         * libnm-util/nm-setting-vpn.[ch]
7088         * libnm-util/nm-setting-vpn-properties.[ch]
7089         * libnm-util/nm-setting-wired.[ch]
7090         * libnm-util/nm-setting-wireless.[ch]
7091         * libnm-util/nm-setting-wireless-security.[ch]
7092
7093         New files, each containing a setting.
7094
7095         * libnm-util/nm-setting-template.[ch]: A template for creating new
7096         settings. To use it, just replace 'template' with the new setting
7097         name, and you're half-way done.
7098
7099         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7100         introspection instead of internal types and tables.
7101
7102         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7103
7104         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7105         GValue types defined by dbus-glib for composed types like collections,
7106         structures and maps.
7107
7108         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7109         a setting from connection takes the setting type now. Also, since
7110         the settings are in multiple files, include relevant settings.
7111
7112 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7113
7114         * configure.in:
7115         * src/backends/NetworkManagerGentoo.c:
7116         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7117         providers in Gentoo.
7118
7119 2007-10-31  Dan Williams  <dcbw@redhat.com>
7120
7121         * libnm-util/nm-connection.c
7122                 - (gvalue_to_string): handle UINT32 arrays
7123
7124 2007-10-31  Dan Williams  <dcbw@redhat.com>
7125
7126         * libnm-glib/nm-device.h
7127           libnm-glib/nm-device.c
7128                 - (nm_device_get_description): remove
7129                 - (nm_device_get_product, nm_device_get_vendor): add
7130                 - (nm_device_update_description): new function (private); walk HAL
7131                         devices to get product and vendor IDs for a specific device
7132
7133 2007-10-31  Dan Williams  <dcbw@redhat.com>
7134
7135         * src/nm-device-802-11-wireless.c
7136                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7137
7138 2007-10-29  Dan Williams  <dcbw@redhat.com>
7139
7140         * src/nm-hal-manager.c
7141                 - (device_added, device_new_capability): ignore device additions while
7142                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7143                         kernel module is unloaded and reloaded and recognized by NM again.
7144
7145 2007-10-26  Dan Williams  <dcbw@redhat.com>
7146
7147         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7148
7149         * src/NetworkManagerAP.c
7150           src/NetworkManagerAP.h
7151           libnm-glib/nm-access-point.c
7152           libnm-glib/nm-access-point.h
7153                 - Make 'rate' property a guint32 to better match with WEXT and
7154                         wpa_supplicant and to allow representation of higher bitrates
7155
7156         * src/nm-device-802-11-wireless.c
7157           introspection/nm-device-802-11-wireless.xml
7158           libnm-glib/nm-device-802-11-wireless.c
7159           libnm-glib/nm-device-802-11-wireless.h
7160                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7161
7162         * src/nm-device-802-3-ethernet.c
7163           src/nm-device-802-3-ethernet.h
7164           introspection/nm-device-802-3-ethernet.xml
7165           libnm-glib/nm-device-802-3-ethernet.c
7166           libnm-glib/nm-device-802-3-ethernet.h
7167                 - Make 'speed' property a guint32 to match other speed/rate types
7168                 - Make nm_device_802_3_ethernet_get_speed() static
7169
7170         * test/nm-tool.c
7171                 - Update for the changes above
7172
7173 2007-10-26  Dan Williams  <dcbw@redhat.com>
7174
7175         * src/named-manager/nm-named-manager.c
7176                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7177                     not calling fclose() twice on some error conditions
7178
7179 2007-10-26  Dan Williams  <dcbw@redhat.com>
7180
7181         * src/nm-activation-request.c
7182                 - (dispose): clean up indentation; get the right DBusGProxy object to
7183                         cancel the GetSecrets pending call on.  Need to use the Secrets
7184                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7185                         pending call doesn't get canceled, and pressing Cancel in the
7186                         applet's password dialog could cause get_secrets_cb() to be called
7187                         after the activation request has already been destroyed
7188
7189 2007-10-24  Dan Williams  <dcbw@redhat.com>
7190
7191         * src/supplicant-manager/nm-supplicant-config.c
7192                 - (nm_supplicant_config_add_blob): pass blob data and length for
7193                         verification
7194                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7195
7196 2007-10-24  Dan Williams  <dcbw@redhat.com>
7197
7198         * src/supplicant-manager/nm-supplicant-settings-verify.c
7199                 - (opt_table): max length for certificates should be 65536
7200
7201 2007-10-24  Dan Williams  <dcbw@redhat.com>
7202
7203         * src/supplicant-manager/nm-supplicant-interface.c
7204                 - (blob_free): correctly free blob data after use
7205                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7206
7207 2007-10-24  Dan Williams  <dcbw@redhat.com>
7208
7209         * libnm-util/nm-setting.c
7210                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7211                         EAP method need secrets
7212
7213 2007-10-24  Dan Williams  <dcbw@redhat.com>
7214
7215         * src/backends/NetworkManagerRedHat.c
7216                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7217
7218 2007-10-23  Dan Williams  <dcbw@redhat.com>
7219
7220         * libnm-util/nm-setting.c
7221           libnm-util/nm-setting.c
7222                 - (nm_setting_compare): implement
7223                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7224                    compare_one_hash_gvalue): compare the contents of a setting
7225
7226         * libnm-util/nm-connection.c
7227                 - (nm_connection_compare): implement
7228
7229 2007-10-23  Dan Williams  <dcbw@redhat.com>
7230
7231         * src/nm-activation-request.c
7232                 - (get_secrets_cb): handle getting a setting back that is more than
7233                         just secrets (ie, user changed auth or EAP method or something)
7234
7235 2007-10-23  Dan Williams  <dcbw@redhat.com>
7236
7237         * libnm-util/nm-setting.c
7238           libnm-util/nm-setting.h
7239                 - (nm_setting_verify): new function; verify one setting
7240                 - (nm_settings_verify_all): rename from nm_settings_verify()
7241                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7242                         all_settings
7243
7244         * libnm-util/nm-connection.c
7245                 - (nm_connection_replace_settings, nm_connection_verify,
7246                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7247
7248 2007-10-23  Dan Williams  <dcbw@redhat.com>
7249
7250         * src/nm-device-802-11-wireless.c
7251                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7252                         desired behavior
7253
7254 2007-10-23  Dan Williams  <dcbw@redhat.com>
7255
7256         * src/supplicant-manager/nm-supplicant-settings-verify.c
7257                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7258                         nm-settings.c
7259
7260 2007-10-23  Dan Williams  <dcbw@redhat.com>
7261
7262         * src/nm-device-802-11-wireless.c
7263                 - (real_act_stage2_config): after the first association failure,
7264                         if the connection still needs secrets ask the user for them
7265                         explicitly.  After the fourth association failure due to bad
7266                         secrets, fail the connection entirely.  Handles the GetSecrets
7267                         loop that NM gets into when the provided secrets don't match up
7268                         with the connection details.
7269
7270 2007-10-23  Dan Williams  <dcbw@redhat.com>
7271
7272         * src/supplicant-manager/nm-supplicant-config.c
7273                 - (nm_supplicant_config_add_setting_wireless_security): only add
7274                         WPA-specific options when WPA is in use
7275
7276 2007-10-23  Dan Williams  <dcbw@redhat.com>
7277
7278         * src/supplicant-manager/nm-supplicant-config.c
7279                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7280                         secret doesn't need to be unhexified
7281
7282 2007-10-23  Dan Williams  <dcbw@redhat.com>
7283
7284         * libnm-util/nm-setting.c
7285                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7286                         before trying to do something with it
7287
7288 2007-10-23  Dan Williams  <dcbw@redhat.com>
7289
7290         * src/nm-device-802-11-wireless.c
7291                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7292
7293 2007-10-23  Dan Williams  <dcbw@redhat.com>
7294
7295         * src/nm-device-802-11-wireless.c
7296                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7297                         non-SSID-broadcasting APs
7298
7299 2007-10-23  Dan Williams  <dcbw@redhat.com>
7300
7301         * src/NetworkManagerAP.c
7302                 - (match_cipher, security_compatible): remove
7303                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7304                         libnm-util instead
7305
7306 2007-10-23  Dan Williams  <dcbw@redhat.com>
7307
7308         * libnm-util/nm-utils.c
7309           libnm-util/nm-utils.h
7310                 - (nm_utils_ap_security_compatible): common function for checking
7311                         whether a specific AP is compatible with an NMConnection
7312
7313 2007-10-23  Dan Williams  <dcbw@redhat.com>
7314
7315         * libnm-util/nm-setting.c
7316                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7317                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7318                    need_secrets_password, setting_wireless_security_verify): fix
7319                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7320                         secrets logic for each supported EAP method
7321
7322 2007-10-23  Dan Williams  <dcbw@redhat.com>
7323
7324         * src/supplicant-manager/nm-supplicant-config.c
7325                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7326                         config option name, should be "private_key2_passwd"
7327
7328 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7329
7330         Implement support for static IP addresses, additional/overridden DNS and
7331         DNS domain search lists.
7332
7333         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7334         (ip4_addresses_to_gvalue): Implement.
7335         (convert_array_to_byte_array): Implement.
7336         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7337         NM_S_TYPE_IP4_ADDRESSES.
7338         (nm_setting_hash): Ditto.
7339         (default_setting_clear_secrets): Add a default case for the switch: IP address
7340         shouldn't be secret, ever.
7341         (setting_ip4_config_verify): Update, requires addresses in case of manual
7342         configurations.
7343         (setting_ip4_config_destroy): Free stuff.
7344
7345         * src/nm-device.c (merge_ip4_config): Implement.
7346         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7347
7348 2007-10-22  Dan Williams  <dcbw@redhat.com>
7349
7350         * libnm-util/nm-setting.c
7351                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7352                         pairwise cipher options for Dynamic WEP
7353
7354 2007-10-21  Dan Williams  <dcbw@redhat.com>
7355
7356         * src/NetworkManagerAP.c
7357           src/NetworkManagerAP.h
7358                 - Rename 'articifical' -> 'fake' since that's what they are until
7359                         noticed in scans
7360                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7361                         from the attributes in an NMConnection object
7362                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7363                         WPA Enterprise
7364                 - (nm_ap_match_in_list): find a matching AP in a scan list
7365
7366         * src/nm-device-802-11-wireless.c
7367                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7368                         AP when searching the scan list; match on frequency and mode too
7369                 - (nm_device_802_11_wireless_get_frequency): implement
7370                 - (merge_scanned_ap): replace duplicate matching logic with
7371                         nm_ap_match_in_list()
7372                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7373                         the user is trying to connect to a hidden network that is not yet
7374                         known from the scan list
7375                 - (activation_success_handler): now that the card knows the AP's BSSID,
7376                         there may already be a scanned AP in the scan list that is what
7377                         we really wanted to connect to, but didn't know at the time.  Use
7378                         that instead of the 'fake' AP created at activation start and get
7379                         rid of the 'fake' AP 
7380                 - (cull_scan_list): don't remove fake APs
7381
7382 2007-10-21  Dan Williams  <dcbw@redhat.com>
7383
7384         * src/nm-activation-request.h
7385           src/nm-activation-request.c
7386                 - (nm_act_request_set_specific_object): new function; allow setting the
7387                         specific object if one isn't set yet
7388
7389 2007-10-20  Dan Williams  <dcbw@redhat.com>
7390
7391         * src/supplicant-manager/nm-supplicant-config.h
7392           src/supplicant-manager/nm-supplicant-config.c
7393                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7394                         table to store blobs
7395                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7396                         blob hash table
7397                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7398                 - (nm_supplicant_config_add_setting_wireless_security): handle
7399                         options that use certificates (ie, blobs)
7400
7401         * src/nm-device-802-11-wireless.c
7402                 - (build_supplicant_config): pass a UID (just use the connection path)
7403                         to the supplicant config as now required
7404
7405         * src/supplicant-manager/nm-supplicant-interface.c
7406                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7407                         there are any blobs to send to wpa_supplicant, send those first
7408                         before sending the network configuration
7409
7410 2007-10-19  Dan Williams  <dcbw@redhat.com>
7411
7412         Split the GetSecrets() call off to a separate D-Bus interface so that it
7413         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7414         should be able to call GetSecrets().
7415
7416         * include/NetworkManager.h
7417                 - Define the connection secrets D-Bus interface
7418
7419         * src/vpn-manager/nm-vpn-connection.c
7420                 - (clear_need_auth): get the right proxy object for the connection
7421                         secrets interface
7422                 - (get_connection_secrets): use the connection secrets proxy; send
7423                         empty hints in get secrets request
7424
7425         * src/nm-activation-request.c
7426                 - (nm_act_request_request_connection_secrets): use the connection
7427                         secrets proxy; send empty hints in get secrets request
7428
7429         * src/nm-manager.c
7430           src/nm-manager.h
7431                 - (connection_get_settings_cb): set the connection secrets proxy on
7432                         the connection object too
7433                 - (internal_new_connection_cb): create the connection secrets proxy
7434
7435         * introspection/nm-settings-connection.xml
7436                 - Define Connection.Secrets interface and move GetSecrets there
7437                 - Add a 'hints' argument to GetSecrets
7438
7439         * libnm-glib/nm-settings.c
7440           libnm-glib/nm-settings.h
7441                 - (impl_connection_settings_get_secrets): add 'hints' argument
7442
7443 2007-10-19  Dan Williams  <dcbw@redhat.com>
7444
7445         * src/nm-device.c
7446                 - (constructor): add message about what path a device is exported as
7447                         to help in debugging rh #339011
7448
7449 2007-10-17  Dan Williams  <dcbw@redhat.com>
7450
7451         * libnm-util/nm-utils.h
7452           libnm-util/nm-utils.c
7453                 - (nm_utils_security_valid): common function to help find the intersection
7454                         of capabilities of devices and (optionally) access points
7455
7456 2007-10-17  Dan Williams  <dcbw@redhat.com>
7457
7458         * src/nm-device-802-11-wireless.c
7459                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7460                         don't get erroneously cleared
7461
7462 2007-10-17  Dan Williams  <dcbw@redhat.com>
7463
7464         * src/nm-manager.h
7465           src/nm-manager.c
7466           src/nm-hal-manager.c
7467                 - (device_removed, finalize, nm_manager_remove_device,
7468                    nm_manager_sleep): add a 'deactivate' argument to 
7469                    nm_manager_remove_device() to fully deactivate devices when necessary
7470                    (ie, always except when waking up)
7471
7472 2007-10-16  Dan Williams  <dcbw@redhat.com>
7473
7474         * libnm-util/nm-setting.c
7475                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7476                         also isn't valid phase2 autheap method
7477
7478 2007-10-16  Dan Williams  <dcbw@redhat.com>
7479
7480         * libnm-glib/nm-client.c
7481                 - (update_wireless_status): consolidate updates of wireless status
7482                 - (constructor): use update_wireless_status()
7483                 - (manager_running): set wireless status off when NM goes away; requery
7484                         the wireless status when NM comes back
7485
7486 2007-10-16  Dan Williams  <dcbw@redhat.com>
7487
7488         * libnm-glib/nm-client.c
7489                 - (nm_client_activate_device): actually use the fixed-up specific
7490                         object path
7491
7492 2007-10-16  Dan Williams  <dcbw@redhat.com>
7493
7494         * src/nm-hal-manager.c
7495                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7496                         killswitch error messages once
7497
7498 2007-10-16  Dan Williams  <dcbw@redhat.com>
7499
7500         * src/nm-manager.c
7501                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7502                         if it's disabled in hardware; don't touch network devices while
7503                         NM is asleep
7504
7505 2007-10-16  Dan Williams  <dcbw@redhat.com>
7506
7507         * libnm-util/nm-client.c
7508                 - (nm_client_activate_device): convert NULL specific_object to "/",
7509                         which is used in place of NULL
7510
7511         * src/nm-manager.c
7512                 - (impl_manager_activate_device): convert "/" specific_object back into
7513                         NULL
7514
7515 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7516
7517         Implement a generic NMSetting creator from setting name.
7518         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7519         add a virtual function 'populate_fn'.
7520
7521         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7522         (register_default_creators): Register setting creators instead of functions
7523         that create and then populate.
7524         (parse_one_setting): Use the common setting creator and then setting specific
7525         poplulation function.
7526
7527         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7528         they all looked exactly the same.
7529         Add a 'populate_fn' virtual function to NMSetting.
7530         Use default virtual functions in case they are not overriden.
7531         (nm_setting_populate_from_hash): Implement.
7532
7533         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7534         name, use a defined string.
7535         (real_act_stage4_get_ip4_config): Ditto.
7536
7537 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7538
7539         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7540         HAL is int, not uint.
7541
7542 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7543
7544         Implement killswitch polling through HAL.
7545
7546         * src/nm-manager.c: Add wireless hardware status property. Add 
7547         'properties-changed' signal for changes in wireless and wireless hardware
7548         state changes.
7549
7550         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7551         and update NMManager's wireless hardware state when it has changed.
7552         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7553         already does that.
7554
7555         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7556         values of wireless state and wireless hardware state. Listen for the
7557         'properties-changed' signals, update the cached values and emit notify.
7558
7559         * include/NetworkManager.h: Fix a typo in a comment.
7560
7561 2007-10-14  Dan Williams  <dcbw@redhat.com>
7562
7563         * libnm-util/nm-setting.c
7564                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7565
7566 2007-10-13  Dan Williams  <dcbw@redhat.com>
7567
7568         * libnm-util/nm-setting.h
7569           libnm-util/nm-setting.c
7570           src/supplicant-manager/nm-supplicant-config.c
7571                 - Make the 'proto' field of the 802-11-wireless-security field a
7572                         string list
7573
7574 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7575
7576         Rework the "properties-changed" signal listening implementation.
7577         Add a generic implementation to NMObject class that listens for
7578         the signal and calls property setters of the target NMObject.
7579
7580         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7581
7582         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7583         code to the end of file so that all the static functions are available
7584         without extra declarations.
7585         Remove the "properties-changed" signal handling and use the framework from
7586         NMObject.
7587         Implement property setters for properties that change with 
7588         "properties-changed" signal.
7589
7590         * libnm-glib/nm-access-point.c: Ditto.
7591
7592 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7593
7594         Rework the "properties-changed" signal implementation.
7595         In classes that need to use it, just emit "GObject::notify" and the new
7596         framework takes care of the rest to make the signal available on dbus.
7597         The framework queues the notifications and tries to send as many together
7598         in one signal as possible.
7599
7600         * src/nm-properties-changed-signal.c:
7601         * src/nm-properties-changed-signal.h: Implement.
7602
7603         * src/Makefile.am: Add new files to build.
7604
7605         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7606         signal.
7607
7608         * src/nm-device-802-11-wireless.c: Ditto.
7609
7610 2007-10-10  Dan Williams  <dcbw@redhat.com>
7611
7612         * src/nm-manager.c
7613                 - (wait_for_connection_expired): ensure info is valid
7614                 - (connection_added_default_handler): Should only remove pending
7615                         connection info when the manager has the connection that it's
7616                         waiting for.  Fixes segfault in wait_for_connection_info().  
7617
7618 2007-10-10  Dan Williams  <dcbw@redhat.com>
7619
7620         * libnm-util/nm-setting.c
7621           libnm-util/nm-setting.h
7622                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7623                         can use if they choose.  Should be filled in by the settings service
7624                         on-the-fly with the currently logged in user's username
7625
7626 2007-10-10  Dan Williams  <dcbw@redhat.com>
7627
7628         * src/nm-device-802-11-wireless.c
7629                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7630                         as such, because even if the manager fills in the SSID, NM still
7631                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7632                         its SSID
7633
7634 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7635
7636         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7637         code that used NM's own version of dbus signal handling and custom dictionary
7638         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7639         and we get to maintain over 2000 lines less code.
7640
7641         * libnm-util/dbus-dict-helpers.c:
7642         * libnm-util/dbus-dict-helpers.h: Remove.
7643
7644         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7645
7646         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7647
7648         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7649         handlers.
7650
7651         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7652
7653         * configure.in: Remove test/libnm-util/Makefile creation.
7654
7655         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7656
7657         * test/libnm-util/: Remove the whole directory.
7658
7659 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7660
7661         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7662         device_state_changed_idle_id variable or it would contain some random value and the
7663         schedule_change_check calls would not do anything.
7664
7665 2007-10-09  Dan Williams  <dcbw@redhat.com>
7666
7667         * src/nm-device-802-11-wireless.c
7668                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7669                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7670                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7671                         merging of non-SSID-broadcasting APs
7672
7673 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7674
7675         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7676         "guint8 *" since it's usually used with GByteArray->data.
7677         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7678
7679 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7680
7681         * src/NetworkManagerUtils.c
7682         (nm_utils_is_empty_ssid):
7683         (nm_utils_escape_ssid):
7684         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7685         lot of places, so they belong to libnm-utils instead.
7686
7687         Now with 100% less compiler warnings:
7688
7689         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7690         (nm_dbus_unescape_object_path): Ditto.
7691         (nm_utils_ssid_to_utf8): Ditto.
7692         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7693         (nm_utils_escape_ssid): Ditto.
7694         (nm_utils_same_ssid): Ditto.
7695
7696         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7697         (add_one_connection_element): Remove an unused variable.
7698         (impl_manager_get_active_connections): Ditto.
7699
7700         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7701         variable.
7702
7703         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7704         from the previous commit.
7705
7706         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7707         (real_act_stage1_prepare): Ditto.
7708         (activation_success_handler): Ditto.
7709         (get_property): Ditto.
7710
7711         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7712         variable.
7713
7714         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7715         it's always set.
7716
7717         * src/supplicant-manager/nm-supplicant-config.c 
7718         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7719         to expected "char *".
7720         (nm_supplicant_config_add_setting_wireless): Ditto.
7721         (nm_supplicant_config_remove_option): Remove, not used.
7722
7723         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7724         not double.
7725         (test_wireless_enabled): Ifdef out unused function.
7726         (device_deactivate): Ditto.
7727         (device_state_changed): Ditto.
7728         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7729         (nm_utils_escape_ssid): Ditto.
7730
7731         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7732         (nm_utils_is_empty_ssid): Ditto.
7733
7734         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7735         unused variable.
7736
7737         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7738         (setting_vpn_properties_update_secrets): Ditto.
7739         (int_to_gvalue): Ifdef out for now, not used.
7740         (byte_to_gvalue): Ditto.
7741
7742         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7743         Unused, remove.
7744
7745 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7746
7747         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7748         about dbus manager, not named manager.
7749         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7750
7751         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7752         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7753         However, the same signal is emitted when we destroy it and there's 
7754         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7755
7756         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7757         releasing the DBusGConnection, since proxy needs a conneciton.
7758         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7759
7760 2007-10-08  Dan Williams  <dcbw@redhat.com>
7761
7762         * src/NetworkManager.c
7763                 - (main): error on unknown command-line options
7764
7765 2007-10-08  Dan Williams  <dcbw@redhat.com>
7766
7767         Reimplement the invalid connection list.  Don't try to re-activate a
7768         connection that just failed or was canceled.
7769
7770         * src/nm-device.c
7771                 - (connection_secrets_failed_cb): fail device activation, don't just
7772                         deactivate the device.  Listeners have to know about the failure.
7773
7774         * src/NetworkManagerPolicy.c
7775                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7776                         the connection list given to a device's get_best_connection()
7777                         method
7778                 - (device_state_changed): tag failed connections as invalid; clear the
7779                         tag from successful connections
7780
7781 2007-10-08  Dan Williams  <dcbw@redhat.com>
7782
7783         Fix problems with interrupted activation.  Previously, choosing an AP
7784         from the menu, then choosing another one before the first connection was
7785         successful wouldn't deactivate the device before starting the new connection
7786         on that same device.
7787
7788         * src/NetworkManagerPolicy.c
7789                 - (deactivate_old_device, device_state_changed, state_changed,
7790                    nm_policy_new): wrong place to deactivate old devices
7791
7792         * src/nm-manager.c
7793                 - (pending_connection_info_destroy, finalize,
7794                    wait_for_connection_expired): decouple destruction of the pending
7795                         connection info from the manager device
7796                 - (connection_added_default_handler): deactivate any active or
7797                         activating device before starting a new activation
7798                 - (impl_manager_activate_device): deactivate any active or activating
7799                         device before starting a new activation; be sure not to leak
7800                         pending connection info if a new activation request arrives but
7801                         there's already a pending one in-process
7802
7803 2007-10-08  Dan Williams  <dcbw@redhat.com>
7804
7805         * src/NetworkManagerAP.h
7806           src/NetworkManagerAP.c
7807                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7808                         should handle default SSIDs and whether or not to autoconnect
7809                         to them
7810
7811 2007-10-08  Dan Williams  <dcbw@redhat.com>
7812
7813         * src/NetworkManagerPolicy.c
7814                 - (nm_policy_device_change_check): print out connection name where
7815                         possible
7816
7817 2007-10-08  Dan Williams  <dcbw@redhat.com>
7818
7819         * src/nm-device-802-11-wireless.c
7820           src/nm-device-802-11-wireless.h
7821                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7822                         'hidden-ap-found' signal (for internal use only) that allows the
7823                         NMManager to fill in the AP's SSID if a connection has that AP's
7824                         BSSID in its seen-bssids list
7825
7826         * src/nm-manager.c
7827                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7828                         wireless device's hidden-ap-found signal and fill in the APs SSID
7829                         if possible
7830
7831 2007-10-07  Dan Williams  <dcbw@redhat.com>
7832
7833         * src/nm-manager.c
7834           src/nm-manager.h
7835                 - Add a 'connections-added' signal to batch together updates of large
7836                         numbers of connections, like when reading from a settings service
7837                         the first time.  Otherwise, the policy would just activate the first
7838                         suitable connection it saw rather than waiting for the full list
7839                         to arrive.
7840                 - (nm_manager_class_init): register new signal
7841                 - (get_type_for_proxy, connection_get_settings_cb,
7842                    get_connection_for_proxy): centralize places where a proxy's setting
7843                         service is determined
7844                 - (free_get_settings_info): if the call being freed is the last call
7845                         in a pending call group, fire off the connections-added signal
7846                 - (internal_new_connection_cb): add call to a pending call group if
7847                         requested
7848                 - (list_connections_cb): always create a call group here, because this
7849                         call results in a batch of new connections
7850                 - (initial_get_connections): start getting system connections first
7851                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7852                         removed signal when destroying connections
7853
7854         * src/NetworkManagerPolicy.c
7855                 - (nm_policy_new, connections_added): handle connections-added signal
7856                         from the manager
7857
7858 2007-10-06  Dan Williams  <dcbw@redhat.com>
7859
7860         * src/nm-device-802-11-wireless.c
7861                 - (constructor): fix leaked socket
7862
7863 2007-10-06  Dan Williams  <dcbw@redhat.com>
7864
7865         * src/NetworkManagerPolicy.c
7866                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7867                         connection in the list returned by nm_manager_get_connections() is
7868                         reffed, but they weren't getting unreffed before returning
7869
7870 2007-10-06  Dan Williams  <dcbw@redhat.com>
7871
7872         * src/nm-manager.c
7873                 - (connections_to_slist): sort connections first on autoconnect, then
7874                         on timestamp
7875
7876 2007-10-06  Dan Williams  <dcbw@redhat.com>
7877
7878         * libnm-util/nm-connection.c
7879                 - (gvalue_to_string): handle UINT64
7880
7881 2007-10-06  Dan Williams  <dcbw@redhat.com>
7882
7883         * src/NetworkManagerPolicy.c
7884                 - (connection_updated, nm_policy_new): recheck state when a connection
7885                         gets updated
7886
7887 2007-10-06  Dan Williams  <dcbw@redhat.com>
7888
7889         * src/nm-manager.c
7890           src/nm-manager.h
7891                 - (nm_manager_get_connection_dbus_path): make static
7892                 - (nm_manager_update_connections): remove; unused
7893                 - Add a connection-updated signal
7894                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7895                         handle connection object updates
7896
7897 2007-10-06  Dan Williams  <dcbw@redhat.com>
7898
7899         * src/NetworkManagerPolicy.c
7900                 - (connection_removed): deactivate removed connections
7901
7902 2007-10-06  Dan Williams  <dcbw@redhat.com>
7903
7904         * libnm-util/nm-connection.c
7905           libnm-util/nm-connection.h
7906                 - (nm_connection_replace_settings): new function
7907
7908 2007-10-06  Dan Williams  <dcbw@redhat.com>
7909
7910         * libnm-glib/nm-device-802-11-wireless.c
7911                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7912                         on error when getting the active access point over D-Bus from NM
7913
7914 2007-10-05  Dan Williams  <dcbw@redhat.com>
7915
7916         * libnm-util/nm-setting.c
7917                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7918                         to the NMSettingWireless table; it's now a string array not an array
7919                         of byte arrays
7920
7921 2007-10-05  Dan Williams  <dcbw@redhat.com>
7922
7923         * libnm-glib/nm-device-802-11-wireless.c
7924                 - Cache properties and update cached properties on D-Bus signals from NM
7925
7926 2007-10-05  Dan Williams  <dcbw@redhat.com>
7927
7928         * src/nm-device-802-11-wireless.c
7929                 - (set_current_ap): consolidate current_ap handling code into one place
7930                         to ensure that PropertiesChanged signals are emitted in all cases
7931                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7932                    nm_device_802_11_wireless_dispose): use set_current_ap()
7933
7934 2007-10-05  Dan Williams  <dcbw@redhat.com>
7935
7936         * libnm-glib/nm-access-point.c
7937           libnm-glib/nm-access-point.h
7938                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7939                         because the value is cached internally now.  Callers should not
7940                         free the internal value.
7941                 - Make signal name defines private
7942
7943         * test/nm-tool.c
7944           libnm-glib/libnm-glib-test.c
7945                 - Don't free value returned from nm_access_point_get_hw_address()
7946
7947 2007-10-04  Dan Williams  <dcbw@redhat.com>
7948
7949         * introspection/nm-device-802-11-wireless.xml
7950           src/nm-device-802-11-wireless.h
7951           src/nm-device-802-11-wireless.c
7952                 - Add a PropertiesChanged signal for wireless device
7953                 - Store currently associated access point
7954                 - (periodic_update): generalize; update rate here too and emit the
7955                         correct PropertiesChanged signal when stuff changes
7956                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7957                    real_activation_cancel_handler): clear current_ap when device is
7958                         deactivated
7959                 - (link_to_specific_ap, get_ap_blacklisted,
7960                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7961                         code
7962                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7963                         outside this file
7964                 - (real_set_hw_address): emit property changed signal if the card's
7965                         MAC address changes
7966                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7967                         the card is supposed to be connecting to
7968                 - (activation_success_handler): send out property updates on successful
7969                         activation
7970                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7971                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7972                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7973                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7974                         is now boxed; add PropertiesChanged signal
7975
7976 2007-10-04  Dan Williams  <dcbw@redhat.com>
7977
7978         * libnm-util/nm-connection.c
7979           libnm-util/nm-connection.h
7980                 - (nm_connection_verify): new function
7981
7982 2007-10-04  Dan Williams  <dcbw@redhat.com>
7983
7984         * libnm-util/nm-setting.c
7985                 - (nm_settings_verify): use #defines when possible rather than strings
7986                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7987                 - (setting_vpn_verify): tighter validity check on 'service_type'
7988
7989 2007-10-04  Dan Williams  <dcbw@redhat.com>
7990
7991         * libnm-glib/nm-settings.c
7992                 - (nm_connection_settings_class_init): provide correct type for argument
7993                         to the Updated signal so that dbus-glib knows how to marshal it
7994
7995 2007-10-03  Dan Williams  <dcbw@redhat.com>
7996
7997         * src/nm-device-802-3-ethernet.c
7998                 - (real_get_best_connection): don't create automatic connections
7999                         internally; clients should provide a setting that applies to
8000                         the device with 'autoconnect: True'.  Problem was that these
8001                         internally auto-created connections don't have a proxy or service
8002                         name becuase they weren't created by a settings daemon, and therefore
8003                         clients have no idea what to do with them.
8004
8005 2007-10-03  Dan Williams  <dcbw@redhat.com>
8006
8007         * src/nm-device-802-11-wireless.c
8008           src/nm-device-802-11-wireless.h
8009           introspection/nm-device-802-11-wireless.xml
8010                 - GetActiveNetworks -> GetAccessPoints
8011                 - ActiveNetwork -> ActiveAccessPoint
8012                 - NetworkAdded -> AccessPointAdded
8013                 - NetowrkRemoved -> AccessPointRemoved
8014
8015         * libnm-glib/nm-device-802-11-wireless.c
8016           libnm-glib/nm-device-802-11-wireless.h
8017                 - network-added signal -> access-point-added
8018                 - network-removed signal -> access-point-removed
8019                 - nm_device_802_11_wireless_get_active_network() ->
8020                         nm_device_802_11_wireless_get_active_access_point()
8021                 - nm_device_802_11_wireless_get_network_by_path() ->
8022                         nm_device_802_11_wireless_get_access_point_by_path()
8023                 - nm_device_802_11_wireless_get_networks() ->
8024                         nm_device_802_11_wireless_get_access_points()
8025
8026         * libnm-glib/libnm-glib-test.c
8027           test/nm-tool.c
8028           src/NetworkManagerPolicy.c
8029                 - Fixups for Network -> AccessPoint
8030
8031 2007-10-03  Dan Williams  <dcbw@redhat.com>
8032
8033         Add a GetActiveConnections() method on the Manager object.
8034
8035         * src/nm-manager.c
8036           src/nm-manager.h
8037           introspection/nm-manager.xml
8038                 - (connection_get_settings_cb): keep connection type around too
8039                 - (impl_manager_get_active_connections, add_one_connection_element):
8040                         implement; returns all active connections and what devices they
8041                         apply to
8042
8043         * libnm-glib/nm-client.c
8044           libnm-glib/nm-client.h
8045           introspection/nm-manager-client.xml
8046                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8047                         by the caller; free here to avoid memory leak
8048                 - (nm_client_get_active_connections): implement; return the list of
8049                         active connections
8050                 - (nm_client_free_active_connection_element): implement; free an element
8051                         of the GSList returned by nm_client_get_active_connections()
8052
8053 2007-10-03  Dan Williams  <dcbw@redhat.com>
8054
8055         * src/nm-device-802-11-wireless.c
8056                 - (nm_device_802_11_wireless_update_bssid): remove
8057                 - (get_active_ap): new function; find the AP in the scan list which
8058                         matches the current BSSID and SSID of the wireless device
8059                 - (nm_device_802_11_periodic_update): get current AP using
8060                         get_active_ap() and print AP roam messages
8061
8062 2007-10-01  Dan Williams  <dcbw@redhat.com>
8063
8064         * libnm-util/nm-setting.h
8065                 - Add a 'timestamp' option to NMSettingConnection
8066                 - Add a UINT64 type
8067
8068         * libnm-util/nm-setting.c
8069                 - (uint64_to_gvalue): new function
8070                 - (nm_setting_populate_from_hash, nm_setting_hash,
8071                    default_setting_clear_secrets): handle UINT64 type
8072                 - con_table: add 'timestamp' member
8073
8074 2007-10-01  Dan Williams  <dcbw@redhat.com>
8075
8076         * src/nm-manager.c
8077                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8078                         value when the connection can be activated immediately
8079
8080 2007-10-01  Dan Williams  <dcbw@redhat.com>
8081
8082         * libnm-glib/nm-device.c
8083                 - (nm_device_class_init): actually tell glib about the carrier-changed
8084                         signal
8085
8086 2007-10-01  Dan Williams  <dcbw@redhat.com>
8087
8088         * configure.in
8089           src/marshallers/Makefile.am
8090           src/marshallers/nm-marshal.list
8091           src/marshallers/nm-marshal-main.c
8092                 - Consolidate glib marshallers into one place
8093
8094         * src/dhcp-manager/Makefile.am
8095           src/dhcp-manager/nm-dhcp-manager.c
8096           src/supplicant-manager/Makefile.am
8097           src/supplicant-manager/nm-supplicant-manager.c
8098           src/supplicant-manager/nm-supplicant-interface.c
8099           src/ppp-manager/Makefile.am
8100           src/ppp-manager/nm-ppp-manager.c
8101           src/vpn-manager/Makefile.am
8102           src/vpn-manager/nm-vpn-connection.c
8103           src/Makefile.am
8104                 - Use consolidated marshallers
8105
8106         * src/dhcp-manager/nm-dhcp-marshal.list
8107           src/dhcp-manager/nm-dhcp-marshal-main.c
8108           src/supplicant-manager/nm-supplicant-marshal-main.c
8109           src/supplicant-manager/nm-supplicant-marshal.list
8110           src/nm-marshal-main.c
8111           src/nm-marshal.list
8112           src/ppp-manager/nm-ppp-marshal-main.c
8113           src/ppp-manager/nm-ppp-marshal.list
8114           src/vpn-manager/nm-vpn-marshal-main.c
8115           src/vpn-manager/nm-vpn-marshal.list
8116                 - Remove
8117
8118 2007-10-01  Dan Williams  <dcbw@redhat.com>
8119
8120         * include/NetworkManagerVPN.h
8121                 - define VPN connection state change reason codes
8122
8123         * src/vpn-manager/Makefile.am
8124           src/vpn-manager/nm-vpn-marshal.list
8125           src/vpn-manager/nm-vpn-marshal-main.c
8126                 - Add marshallers for StateChanged signal
8127
8128         * introspection/nm-vpn-connection.xml
8129                 - New Banner property
8130                 - StateChanged signal now includes a 'reason' argument
8131
8132         * src/vpn-manager/nm-vpn-connection.c
8133           src/vpn-manager/nm-vpn-connection.h
8134                 - Add a "Banner" property that contains the returned VPN server login
8135                         banner (if any); valid only in the ACTIVATED state
8136                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8137                         a 'reason' argument and emits that reason along with the
8138                         state-changed signal
8139                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8140                 - (nm_vpn_connection_ip4_config_get): save banner for later
8141                 - (nm_vpn_connection_get_banner, get_property,
8142                    nm_vpn_connection_class_init): implement Banner property
8143
8144         * src/vpn-manager/nm-vpn-service.c
8145                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8146                         connection list because elements may get added/removed from it
8147                         while iterating over the list
8148                 - (connection_state_changed): signal now includes the 'reason' argument
8149
8150         * libnm-glib/nm-vpn-connection.c
8151           libnm-glib/nm-vpn-connection.h
8152                 - (nm_vpn_connection_get_banner): new function
8153                 - (state_changed_proxy): handle reason argument
8154
8155 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8156
8157         * src/nm-manager.c:
8158         * src/nm-manager.h:
8159         Implement device activation through NMManager.
8160         Implement "pending device activation" here - If the connection isn't found,
8161         we try to wait for up to 5 seconds for the connection to be provided.
8162         Add NMConnectionType argument to "connection-added" and "connection-removed"
8163         signals.
8164         (nm_manager_get): Remove. Finally.
8165
8166         * src/nm-activation-request.c: 
8167         * src/nm-activation-request.h: 
8168         Remove all the deferred activation code.
8169
8170         * src/nm-device.c: Remove all the deferred activation code. Once the device
8171         activation is started, it's started. Update the activation virtual function
8172         signature.
8173
8174         * src/nm-device-interface.c:
8175         * src/nm-device-interface.h:
8176         Device activation now takes only NMActRequest argument.
8177         Don't expose device activation directly on dbus, it's supposed to go through
8178         NMManager now.
8179
8180         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8181         a bit more compact.
8182         Use the new device activation methods through NMManager.
8183
8184         * introspection/nm-manager-client.xml: 
8185         * introspection/nm-manager.xml: 
8186         * libnm-glib/nm-client.c:
8187         * libnm-glib/nm-client.h:
8188         Add device activation method.
8189         
8190         * libnm-glib/nm-device.c: 
8191         * libnm-glib/nm-device.h: 
8192         * introspection/nm-device.xml: 
8193         Remove device activation method. It's done through NMManager now.
8194
8195         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8196         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8197
8198 2007-09-28  Dan Williams  <dcbw@redhat.com>
8199
8200         * libnm-glib/nm-vpn-connection.c
8201                 - (nm_vpn_connection_get_state): try to update state if the current
8202                         state is UNKNOWN
8203
8204 2007-09-27  Dan Williams  <dcbw@redhat.com>
8205
8206         Patch from Bill Nottingham
8207
8208         * src/supplicant-manager/nm-supplicant-config.c
8209                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8210                         data to the supplicant
8211
8212 2007-09-27  Dan Williams  <dcbw@redhat.com>
8213
8214         * src/NetworkManagerSystem.c
8215                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8216                         and all address manipulation here should be happening on the
8217                         _VPN_ device, not the active device
8218
8219 2007-09-26  Dan Williams  <dcbw@redhat.com>
8220
8221         * src/nm-manager.c
8222           src/nm-manager.h
8223           src/nm-activation-request.c
8224           src/nm-activation-request.h
8225                 - Move the GetSecrets stuff out of the NMManager instance because it
8226                         doesn't really need to be there and complicates things
8227
8228         * src/nm-device.c
8229                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8230                         connection-secrets-failed signal and deactivate the device if
8231                         the GetSecrets call fails
8232
8233         * src/nm-device-802-11-wireless.c
8234                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8235                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8236                         secrets and give correct hints about whether new secrets should be
8237                         asked for by the client or not
8238
8239 2007-09-26  Dan Williams  <dcbw@redhat.com>
8240
8241         * src/vpn-manager/nm-vpn-connection.c
8242                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8243                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8244                         to the secrets-updated signal of the NMConnection since updating
8245                         the secrets is done within the scope of the NMVPNConnection object
8246                         already
8247                 - (get_connection_secrets): fix an uninialized variable usage error
8248
8249 2007-09-26  Dan Williams  <dcbw@redhat.com>
8250
8251         * libnm-util/nm-setting.c
8252                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8253                         actually get updated when the user enters them
8254
8255 2007-09-26  Dan Williams  <dcbw@redhat.com>
8256
8257         * libnm-glib/nm-vpn-plugin.c
8258                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8259
8260 2007-09-26  Dan Williams  <dcbw@redhat.com>
8261
8262         * include/NetworkManagerVPN.h
8263                 - Add a NEED_AUTH state
8264
8265         * src/vpn-manager/nm-vpn-connection.c
8266                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8267                         the connection needs secrets, and if so, then ask the settings
8268                         service to fill in the secrets.  Then start the connection.
8269
8270 2007-09-26  Dan Williams  <dcbw@redhat.com>
8271
8272         * src/vpn-manager/nm-vpn-manager.c
8273                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8274
8275 2007-09-26  Dan Williams  <dcbw@redhat.com>
8276
8277         * introspection/nm-vpn-plugin.xml
8278           libnm-glib/nm-vpn-plugin.c
8279           libnm-glib/nm-vpn-plugin.h
8280                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8281                         the name of the NMSetting in an NMConnection that may require
8282                         secrets specific to that VPN plugin
8283
8284 2007-09-26  Dan Williams  <dcbw@redhat.com>
8285
8286         * src/nm-manager.c
8287           src/nm-manager.h
8288                 - (nm_manager_get_connection_secrets): make static, unused outside
8289                         the file
8290                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8291
8292 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8293
8294         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8295         method.
8296         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8297         unreference the connection.
8298
8299         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8300         passing properties hash and routes string list, pass NMConnection (in hashed form).
8301
8302         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8303         as GSList, no need to copy stuff around anymore.
8304         (nm_vpn_connection_activate): Update the plugin activation method.
8305
8306         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8307         routes argument to GSList.
8308
8309 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8310
8311         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8312         state and try to get the secrets.
8313
8314         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8315         connections from NMManager and let the device to choose the best from the list.
8316         Since the connection list is sorted by system ones first and user ones later,
8317         the devices still prefer system connections like they did before.
8318         (deactivate_old_device): Implement. When a device starts activation, we have a
8319         policy (for now at least) to deactivate any other device that might be either
8320         active or still activating.
8321
8322         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8323         It's set on construction, there will be no other way to access it.
8324
8325         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8326         device events and drive the device, not the other way around.
8327
8328         * src/nm-device-802-3-ethernet.c: Ditto.
8329
8330         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8331         sent along, pass it on to virtual functions.
8332
8333         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8334         for now, but should really be public instead of nm_device_get_iface() since iface
8335         is a property of the DeviceInterface, not Device.
8336         (impl_device_activate): Don't touch NMManager!
8337
8338 2007-09-26  Jürg Billeter  <j@bitron.ch>
8339
8340         * initscript/paldo/NetworkManager.in:
8341         * initscript/paldo/NetworkManagerDispatcher.in:
8342         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8343         (nm_system_flush_loopback_routes): update paldo backend
8344
8345 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8346
8347         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8348         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8349         which means none of the devices get brought down properly, which in turn leaves
8350         DHCP client running.
8351
8352         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8353         (supplicant_connection_timeout_cb): Ditto.
8354
8355 2007-09-25  Dan Williams  <dcbw@redhat.com>
8356
8357         * src/nm-device.c
8358                 - (device_activation_go): small hack to work around race when
8359                         activating deferred connections; should solve this in a better way
8360
8361 2007-09-25  Dan Williams  <dcbw@redhat.com>
8362
8363         * introspection/nm-device.xml
8364           libnm-glib/nm-device.c
8365           libnm-glib/nm-device.h
8366                 - Add 'Carrier' property to exported NMDevice objects
8367
8368         * src/nm-device-interface.h
8369           src/nm-device-interface.c
8370           src/nm-device.c
8371                 - Add a 'carrier' property to internal NMDevice objects
8372
8373 2007-09-25  Dan Williams  <dcbw@redhat.com>
8374
8375         * src/nm-device-802-11-wireless.c
8376                 - (ap_auth_enforced): also return the encryption status of the AP so
8377                         that callers can differentiate easily between unencrypted APs
8378                         and encrypted ones, in addition to whether the AP has an
8379                         authenticator
8380                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8381                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8382                         previously would request secrets from unencrypted APs at times
8383
8384 2007-09-25  Dan Williams  <dcbw@redhat.com>
8385
8386         * src/nm-manager.c
8387                 - (nm_manager_update_state): new function; updates state and emits
8388                         appropriate signals ensuring a state-change signal for the same state
8389                         never gets emitted twice in a row.
8390                 - (manager_device_state_changed): handle more device state to get a
8391                         better picture of the overall NM state
8392
8393 2007-09-25  Dan Williams  <dcbw@redhat.com>
8394
8395         * libnm-glib/nm-settings.c
8396           libnm-glib/nm-settings.h
8397                 - (new_error -> nm_settings_new_error): make public so that subclasses
8398                         can use the same error domain.  Also pass a valid error code to
8399                         g_error_new_literal() so that libdbus doesn't assert when converting
8400                         the GError into a DBusError
8401                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8402                    impl_connection_settings_get_settings,
8403                    impl_connection_settings_get_secrets): use new error creator
8404                         function
8405
8406 2007-09-25  Dan Williams  <dcbw@redhat.com>
8407
8408         * src/NetworkManager.c
8409                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8410
8411 2007-09-25  Dan Williams  <dcbw@redhat.com>
8412
8413         * src/supplicant-manager/nm-supplicant-manager.c
8414                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8415                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8416                    nm_supplicant_manager_startup): when the supplicant isn't running,
8417                         try to start it periodically via system bus activation.  Fixes
8418                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8419                         for the supplicant to come back
8420
8421 2007-09-25  Dan Williams  <dcbw@redhat.com>
8422
8423         Ensure that old activation requests are forgotten about; previously
8424         hitting Cancel in the password dialog would deactivate whatever device
8425         that password was requested for, even if that wasn't the currently
8426         activating connection.
8427
8428         * src/nm-manager.c
8429           src/nm-manager.h
8430                 - (nm_manager_get_connection_secrets): track the pending call
8431                         object so it can be canceled later if needed
8432                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8433                         GetSecrets call for a particular connection
8434
8435         * src/nm-activation-request.c
8436                 - (dispose): cancel any outstanding GetSecrets calls on the
8437                         connection
8438
8439 2007-09-25  Dan Williams  <dcbw@redhat.com>
8440
8441         * src/NetworkManagerPolicy.c
8442                 - (nm_policy_device_change_check): handle devices that have a
8443                         deferred activation.  These devices are not really active _yet_,
8444                         but need to be treated as such here.  Don't interrupt them
8445                         automatically.
8446
8447         * src/nm-device-interface.c
8448                 - (impl_device_activate): handle devices that have a deferred activation
8449                         like activating or active devices.  When multiple active devices
8450                         get committed, the device shouldn't be deactivated until the
8451                         connection details are available to avoid DoS and such.  Currently,
8452                         any active, activating, or deferred activation device is deactivated
8453                         here before starting the new activation request.
8454
8455 2007-09-25  Dan Williams  <dcbw@redhat.com>
8456
8457         Properly re-query secrets from the settings daemon when stuff fails.
8458
8459         * src/nm-device-802-11-wireless.c
8460                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8461                         between Shared Key and Open System auth modes
8462                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8463                    real_act_stage4_ip_config_timeout): clear existing secrets and
8464                         request new ones when something fails due to a suspected wrong key
8465                 - (real_act_stage2_config): fix for new request_new argument to
8466                         nm_manager_get_connection_secrets()
8467
8468         * src/nm-manager.c
8469           src/nm-manager.h
8470                 - (nm_manager_get_connection_secrets): return error status; pass
8471                         new request_new argument on to the settings daemon
8472
8473         * introspection/nm-settings-connection.xml
8474                 - New 'request_new' argument to the GetSecrets call that hints to the
8475                         settings daemon to ask the user for completely new secrets
8476
8477         * libnm-glib/nm-settings.c
8478           libnm-glib/nm-settings.h
8479                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8480                         argument
8481
8482 2007-09-25  Dan Williams  <dcbw@redhat.com>
8483
8484         * libnm-util/nm-connection.c
8485           libnm-util/nm-connection.h
8486                 - (nm_connection_clear_secrets): new function; clear secrets out of
8487                         each NMSetting in an NMConnection
8488
8489         * libnm-util/nm-setting.h
8490           libnm-util/nm-setting.c
8491                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8492                         secrets out of an NMSetting
8493                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8494                    nm_setting_wired_new, nm_setting_wireless_new,
8495                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8496                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8497                         to default handler default_setting_clear_secrets()
8498
8499 2007-09-25  Dan Williams  <dcbw@redhat.com>
8500
8501         * src/nm-activation-request.c
8502           src/nm-activation-request.h
8503                 - (nm_act_request_is_deferred): new function
8504
8505 2007-09-24  Dan Williams  <dcbw@redhat.com>
8506
8507         * src/nm-device-802-11-wireless.c
8508                 - (activation_success_handler): update signal strength immediately
8509                         after activation
8510
8511 2007-09-24  Dan Williams  <dcbw@redhat.com>
8512
8513         * libnm-util/nm-setting.c
8514                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8515
8516 2007-09-24  Dan Williams  <dcbw@redhat.com>
8517
8518         * src/NetworkManagerPolicy.c
8519                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8520                         device by deactivating it because it doesn't have a "best connection".
8521                         Since autoconnect=False connections aren't automatically chosen,
8522                         NM would interrupt activation of such a connection because it
8523                         would never be "best" due to autoconnect=False.
8524
8525 2007-09-24  Dan Williams  <dcbw@redhat.com>
8526
8527         * src/nm-manager.c
8528                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8529                         actually has some time to enter a key before the GetSecrets call
8530                         times out
8531
8532 2007-09-24  Dan Williams  <dcbw@redhat.com>
8533
8534         * introspection/nm-manager.xml
8535           src/nm-manager.c
8536                 - (impl_manager_legacy_state): fix 'state' method call return value
8537
8538 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8539
8540         * test/Makefile.am: Install nm-tool
8541
8542 2007-09-24  Dan Williams  <dcbw@redhat.com>
8543
8544         Patch from Ross Burton <ross@burtonini.com>
8545
8546         * test/nm-tool.c
8547           callouts/nm-dhcp-client-action.c
8548           src/nm-netlink.c
8549           src/vpn-manager/nm-vpn-connection.c
8550           libnm-glib/libnm-glib-test.c
8551                 - warning fixes
8552
8553 2007-09-24  Dan Williams  <dcbw@redhat.com>
8554
8555         * libnm-util/nm-utils.h
8556           libnm-util/nm-utils.c
8557                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8558                         remove, unused
8559
8560 2007-09-23  Dan Williams  <dcbw@redhat.com>
8561
8562         * vpn-daemons/vpnc/properties/nm-vpnc.c
8563                 - Update for new VPN properties API bits; instead of passing around
8564                         a lot of random things, everything goes into the NMConnection
8565                         object.
8566
8567 2007-09-23  Dan Williams  <dcbw@redhat.com>
8568
8569         * libnm-util/nm-setting.c
8570                 - Correctly dispose of settings objects if creating them from a hash
8571                         table fails
8572
8573 2007-09-23  Dan Williams  <dcbw@redhat.com>
8574
8575         * libnm-util/nm-setting.c
8576                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8577                         the hash table in a standard manner.  Clients of libnm-util should
8578                         only call g_hash_table_remove_all(), never destroy the hash table
8579                         and recreate it.
8580
8581 2007-09-22  Dan Williams  <dcbw@redhat.com>
8582
8583         * src/nm-device-802-11-wireless.c
8584                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8585                         real reason to do it so often, and reduces wakeups for clients.
8586
8587 2007-09-21  Dan Williams  <dcbw@redhat.com>
8588
8589         * src/nm-device-802-11-wireless.c
8590                 - (build_supplicant_config): wpa_supplicant requires the option
8591                         key_mgmt=NONE for unencrypted networks
8592                 - (real_act_stage2_config): clarify log message on activation
8593
8594 2007-09-21  Dan Williams  <dcbw@redhat.com>
8595
8596         * test/nm-supplicant-test.c
8597           test/Makefile.am
8598                 - Remove supplicant test binary; no longer applicable
8599
8600 2007-09-21  Dan Williams  <dcbw@redhat.com>
8601
8602         * src/supplicant-manager/nm-supplicant-manager.c
8603                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8604                         activate it on the system bus
8605
8606 2007-09-20  Dan Williams  <dcbw@redhat.com>
8607
8608         * initscript/RedHat/NetworkManager.in
8609                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8610
8611 2007-09-20  Dan Williams  <dcbw@redhat.com>
8612
8613         * src/nm-device.c
8614                 - (nm_device_is_activating): work around a race between auto-activation
8615                         and the user activating the same device that is being auto-activated
8616
8617 2007-09-20  Dan Williams  <dcbw@redhat.com>
8618
8619         * src/nm-device-interface.c
8620                 - (impl_device_activate): until multiple active device support lands,
8621                         ensure only one device can be active at a time
8622
8623 2007-09-20  Dan Williams  <dcbw@redhat.com>
8624
8625         * src/supplicant-manager/nm-supplicant-config.c
8626           src/supplicant-manager/nm-supplicant-config.h
8627                 - (nm_supplicant_config_add_option): hide secrets from system logs
8628
8629 2007-09-20  Dan Williams  <dcbw@redhat.com>
8630
8631         * src/NetworkManagerPolicy.c
8632                 - (nm_policy_device_change_check): re-enable the wireless device change
8633                         checking code; insted of checking for SSIDs, check for the same
8634                         connection instead
8635
8636 2007-09-20  Dan Williams  <dcbw@redhat.com>
8637
8638         * src/nm-device-802-11-wireless.c
8639                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8640                         composite link state when determining when to start the disconnection
8641                         timer; that link state is already based on the supplicant interface's
8642                         status which is exactly what's already being examined, plus the link
8643                         state is a conglomeration of various things that we don't want here
8644
8645 2007-09-20  Dan Williams  <dcbw@redhat.com>
8646
8647         * libnm-glib/nm-access-point.c
8648                 - (handle_property_changed): strength is a UCHAR
8649
8650 2007-09-20  Dan Williams  <dcbw@redhat.com>
8651
8652         * src/supplicant-manager/nm-supplicant-config.c
8653                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8654                         string list keywords too since that's what wpa_supplicant wants
8655
8656 2007-09-20  Dan Williams  <dcbw@redhat.com>
8657
8658         * libnm-util/nm-setting.c
8659                 - (convert_strv_to_slist): dupe the values in the list because since
8660                         the list is a boxed value, it'll get destroyed when it's container
8661                         (like a hash table or whatever) gets destroyed
8662
8663 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8664
8665         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8666         GSList.
8667
8668         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8669
8670         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8671         just use (g_object_set_data_full).
8672
8673         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8674         that NMSettingVPN->routes is a GSList, convert it to char **.
8675         (nm_vpn_connection_ip4_config_get): Free routes when done.
8676         (nm_vpn_connection_activate): Ditto.
8677
8678         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8679         (real_act_stage2_config): Use defined setting names.
8680
8681 2007-09-20  Dan Williams  <dcbw@redhat.com>
8682
8683         * src/nm-device-802-11-wireless.c
8684           src/nm-manager.c
8685           src/nm-manager.h
8686                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8687                         so that the device can be deactivated if secrets are wrong
8688
8689 2007-09-20  Dan Williams  <dcbw@redhat.com>
8690
8691         * introspection/nm-settings-connection.xml
8692           libnm-glib/nm-settings.c
8693           libnm-glib/nm-settings.h
8694                 - Make GetSecrets asynchronous on the server side
8695
8696 2007-09-20  Dan Williams  <dcbw@redhat.com>
8697
8698         * src/nm-manager.h
8699           src/nm-device.c
8700                 - (nm_device_activate): actually check if a given connection
8701                         exists before assuming it doesn't
8702
8703 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8704
8705         * libnm-util/nm-connection.c (register_default_creators): Use defined
8706         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8707
8708         * libnm-util/nm-setting.c: Define property name strings, use them.
8709         Implement NMSettingVPN and NMSettingVPNProperties settings.
8710         Implement NM_S_TYPE_GVALUE_HASH.
8711         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8712         (setting_connection_verify): Rename 'devtype' property to 'type'.
8713
8714         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8715         properties.
8716
8717         * src/vpn-manager/nm-vpn-service.c: Ditto.
8718
8719         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8720
8721         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8722         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8723
8724         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8725         names. NMSettingConnection->devtype got renamed to 'type'.
8726
8727         * src/nm-device-802-3-ethernet.c (find_best_connection):
8728         (real_get_best_connection): Ditto.
8729
8730         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8731
8732         * libnm-glib/nm-vpn-manager.[ch]: Update.
8733
8734 2007-09-19  Dan Williams  <dcbw@redhat.com>
8735
8736         * src/NetworkManagerAP.c
8737           src/NetworkManagerAP.h
8738           introspection/nm-access-point.xml
8739                 - Change strength-changed signal into a properties-changed signal
8740                         for all properties, not just strength.  Export that signal over dbus
8741                         so listeners don't have to poll NM for changes.
8742                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8743                         get exported over D-Bus, so break up the logic and let other bits
8744                         decided when to export the AP
8745                 - (nm_ap_new_from_ap): remove, unused
8746
8747         * src/nm-device-802-11-wireless.c
8748                 - (merge_scanned_ap): only export APs that are actually on the device
8749                         list, not every AP created internally
8750
8751         * libnm-glib/nm-access-point.c
8752           libnm-glib/nm-access-point.h
8753                 - Cache properties internally and only hit DBus when needed.  Get
8754                         property updates from NM signals
8755
8756 2007-09-16  Dan Williams  <dcbw@redhat.com>
8757
8758         * libnm-util/nm-connection.c
8759           libnm-util/nm-connection.h
8760                 - (nm_connection_for_each_setting_value): new function; iterate over
8761                         each setting's value and call a user-provided function with details
8762                         about that value
8763
8764         * libnm-util/nm-setting.c
8765           libnm-util/nm-setting.h
8766                 - (nm_setting_enumerate_values): new function; enumerate the values
8767                         of a specific NMSetting subclass for a user-provided function with
8768                         details about that value
8769                 - Change wep_tx_keyidx to a uint32
8770                 - Create settings value tables for each setting defining their type,
8771                         key name, offset into the NMSetting subclass' structure, and whether
8772                         they are required and/or a secret
8773                 - (nm_setting_populate_from_hash): generic function to populate an
8774                         NMSetting from a GHash table, make all settings use it
8775                 - (nm_setting_hash): generic function to derive a GHashTable from
8776                         an NMSetting object, make all settings use it
8777
8778 2007-09-14  Dan Williams  <dcbw@redhat.com>
8779
8780         Remove unused stuff in libnm-util
8781
8782         * configure.in
8783           libnm-util/Makefile.am
8784           libnm-util/cipher-private.h
8785           libnm-util/cipher-wep-ascii.c
8786           libnm-util/cipher-wep-ascii.h
8787           libnm-util/cipher-wep-hex.c
8788           libnm-util/cipher-wep-hex.h
8789           libnm-util/cipher-wep-passphrase.c
8790           libnm-util/cipher-wep-passphrase.h
8791           libnm-util/cipher-wpa-psk-hex.c
8792           libnm-util/cipher-wpa-psk-hex.h
8793           libnm-util/cipher-wpa-psk-passphrase.c
8794           libnm-util/cipher-wpa-psk-passphrase.h
8795           libnm-util/cipher.c
8796           libnm-util/cipher.h
8797           libnm-util/dbus-helpers.c
8798           libnm-util/dbus-helpers.h
8799           libnm-util/gnome-keyring-md5.c
8800           libnm-util/gnome-keyring-md5.h
8801           libnm-util/sha1.c
8802           libnm-util/sha1.h
8803           src/nm-device-802-11-wireless.c
8804           test/libnm-util/Makefile.am
8805           test/libnm-util/test-ciphers.c
8806           test/libnm-util/test-dbus-helpers.c
8807           test/libnm-util/test-inputs.h
8808                 - Removed
8809
8810 2007-09-14  Dan Williams  <dcbw@redhat.com>
8811
8812         * libnm-util/dbus-method-dispatcher.c
8813           libnm-util/dbus-method-dispatcher.h
8814                 - Remove, unused
8815
8816 2007-09-14  Dan Williams  <dcbw@redhat.com>
8817
8818         Implement deferred activation support in the device class.
8819
8820         * src/nm-device-interface.c
8821           src/nm-device-interface.h
8822                 - (nm_device_interface_activate): take more arguments to support
8823                         deferred activation; callers must pass one of (connection) OR
8824                         (service_name, connection_path)
8825                 - (impl_device_activate): connection validation is punted to the device
8826                         to be able to handle deferred activation.  Yes, this means errors
8827                         don't get returned from the Activate() dbus call, and yes, that
8828                         should be fixed somehow later.
8829
8830         * src/nm-device.c
8831           src/nm-device.h
8832                 - (clear_act_request): clear additional deferred activation stuff too
8833                 - (deferred_activation_timeout_cb): new function; clean up when
8834                         deferred activation times out.
8835                 - (deferred_activation_start_cb): new function; when the connection
8836                         finally becomes available, start device activation
8837                 - (nm_device_activate): attach to the right signals of the activation
8838                         request if we need to defer activation until the connection is valid
8839
8840         * src/NetworkManagerPolicy.c
8841                 - (nm_policy_device_change_check): update for additional arguments
8842                         required for nm_device_interface_activate().  Pass NULL for these
8843                         though because this function already knows exactly which
8844                         NMConnection to use
8845
8846 2007-09-14  Dan Williams  <dcbw@redhat.com>
8847
8848         Implement deferred activation handling in the NMActRequest class.  When a
8849         client wants to activate a device but must create the NMConnection details
8850         on the fly, there likely hasn't been enough time yet for NM to receive the
8851         new connection signal and grab all the connection details.  So the
8852         activation is deferred (and bounded by a timer) for a while, and if the
8853         connection appears within the window, it is activated.
8854
8855         * src/nm-activation-request.c
8856           src/nm-activation-request.h
8857                 - (nm_act_request_class_init): two new signals to support deferred
8858                         activation, to allow the listener to handle both timeout and success
8859                 - (nm_act_request_new_deferred): new function, starts the deferred
8860                         activation timeout handler and listens to the NMManager for
8861                         new-connection signals to notice when the connection comes in
8862
8863 2007-09-14  Dan Williams  <dcbw@redhat.com>
8864
8865         * src/nm-manager.h
8866           src/nm-manager.c
8867                 - (nm_manager_get_connection_service_name,
8868                    nm_manager_get_connection_dbus_path): get details about a connection
8869                         known internally by the NMManager
8870                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8871                         because NMConnection is now a GObject subclass
8872                 - Use constant for the gobject data tag used on NMConnection objects for
8873                         storing the associated DBusGProxy
8874
8875 2007-09-14  Dan Williams  <dcbw@redhat.com>
8876
8877         * utils/Makefile.am
8878           utils/nm-utils.c
8879           utils/nm-utils.h
8880           src/supplicant-manager/Makefile.am
8881           src/dhcp-manager/Makefile.am
8882           src/backends/Makefile.am
8883           src/named-manager/Makefile.am
8884           src/ppp-manager/Makefile.am
8885           src/vpn-manager/Makefile.am
8886           test/libnm-util/Makefile.am
8887           test/test-common/Makefile.am
8888                 - Remove utils/; it was unused
8889
8890 2007-09-13  Dan Williams  <dcbw@redhat.com>
8891
8892         * libnm-glib/nm-vpn-manager.h
8893           libnm-glib/nm-vpn-manager.c
8894                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8895
8896 2007-09-13  Dan Williams  <dcbw@redhat.com>
8897
8898         * src/nm-device-802-3-ethernet.c
8899                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8900                         netlink monitor carrier signals on dispose, not bring down.  The
8901                         carrier signals should be handled over the entire lifetime of the
8902                         device anyway, not created/destroyed on up or down.
8903
8904 2007-09-13  Dan Williams  <dcbw@redhat.com>
8905
8906         * libnm-glib/nm-device.c
8907           libnm-glib/nm-device.h
8908                 - (nm_device_activate): take a connection object path rather than an
8909                         NMConnection because NMConnection isn't exported over D-Bus and
8910                         therefore it dbus-glib can't automatically get an object path from it
8911
8912 2007-09-13  Dan Williams  <dcbw@redhat.com>
8913
8914         * libnm-util/nm-setting.c
8915                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8916
8917 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8918
8919         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8920
8921 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8922
8923         * src/vpn-manager/nm-vpn-connection.[ch]: 
8924         * src/vpn-manager/nm-vpn-manager.[ch]:
8925         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8926         dbus-glib, GObjects, signals etc.
8927
8928         * libnm-glib/nm-vpn-manager.[ch]: 
8929         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8930         so much, rewrite these too.
8931
8932         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8933         the new introspection files.
8934
8935         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8936
8937         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8938         the header with the same name from libnm-utils.
8939
8940         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8941
8942         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8943
8944         * introspection/nm-vpn-plugin.xml: Implement.
8945
8946         * introspection/nm-vpn-connection.xml: Implement.
8947
8948         * introspection/nm-vpn-manager.xml: Implement.
8949
8950         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8951         the named manager argument, it can just as easily get it as the caller.
8952         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8953
8954         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8955
8956         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8957
8958         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8959         libnm-utils.
8960
8961         * libnm-util/nm-connection.c: Ditto.
8962
8963         * src/NetworkManagerMain.h: Remove, it's finally empty.
8964
8965         * configure.in: Remove utils/ from build.
8966
8967         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8968         of hard-coded strings.
8969
8970         * utils/: Move it over to libnm-util.
8971
8972         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8973
8974         * dispatcher-daemon/Makefile.am: Ditto.
8975
8976         * src/Makefile.am: Ditto.
8977
8978 2007-09-12  Dan Williams  <dcbw@redhat.com>
8979
8980         Wireless connections can be made with config data from the applet now.
8981         
8982         Yay.
8983
8984         * src/supplicant-manager/nm-supplicant-config.h
8985           src/supplicant-manager/nm-supplicant-config.c
8986                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8987                 - (nm_supplicant_config_add_setting_wireless,
8988                    nm_supplicant_config_add_setting_wireless_security): new functions;
8989                         add key/value pairs from the settings objects to the supplicant
8990                         config
8991
8992         * src/nm-device-802-11-wireless.c
8993                 - (cull_scan_list): fix check to not prune currently associated AP
8994                 - (build_supplicant_config, real_act_stage2_config): call the functions
8995                         of the NMSupplicantConfig that parse settings objects rather than
8996                         doing it manually here
8997
8998 2007-09-12  Dan Williams  <dcbw@redhat.com>
8999
9000         * src/supplicant-manager/nm-supplicant-interface.c
9001           src/supplicant-manager/nm-supplicant-marshal.list
9002                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9003                         "connection-error" signal arguments should be STRING not CHAR
9004
9005 2007-09-12  Dan Williams  <dcbw@redhat.com>
9006
9007         * src/NetworkManagerUtils.c
9008           src/NetworkManagerUtils.h
9009                 - (nm_utils_hexstr2bin): new function
9010
9011 2007-09-11  Dan Williams  <dcbw@redhat.com>
9012
9013         * src/nm-manager.c
9014                 - (connection_get_settings_cb): emit connection-added signal
9015                 - (connection_removed_cb): uncomment bits for system settings service,
9016                         send connection-removed when appropriate
9017                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9018                         the stack by trying to g_object_set_data() on something that's
9019                         not a GObject; handle case where settings service returns
9020                         empty settings hash table
9021
9022 2007-09-11  Dan Williams  <dcbw@redhat.com>
9023
9024         * src/NetworkManagerPolicy.c
9025                 - (connection_added, connection_removed): trigger device change checks
9026                         on connection changes
9027
9028 2007-09-11  Dan Williams  <dcbw@redhat.com>
9029
9030         * src/nm-activation-request.c
9031                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9032
9033 2007-09-11  Dan Williams  <dcbw@redhat.com>
9034
9035         * src/nm-device-802-11-wireless.c
9036                 - (real_connection_secrets_updated): fix erroneous check
9037
9038 2007-09-11  Dan Williams  <dcbw@redhat.com>
9039
9040         * introspection/nm-device.xml
9041           libnm-glib/nm-device.c
9042           libnm-glib/nm-device.c
9043                 - Fix Activate call argument borkage; Activate takes 3 arguments
9044
9045 2007-09-11  Dan Williams  <dcbw@redhat.com>
9046
9047         * libnm-glib/nm-access-point.c
9048           libnm-glib/nm-access-point.c
9049                 - (nm_access_point_get_frequency): now returns guint32 to match
9050                         property change on 2007-09-10
9051
9052 2007-09-11  Dan Williams  <dcbw@redhat.com>
9053
9054         * src/nm-device-802-11-wireless.c
9055                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9056                         somewhere defines 'index' and I missed this one when I fixed the
9057                         shadow declaration errors earlier
9058
9059 2007-09-11  Dan Williams  <dcbw@redhat.com>
9060
9061         * libnm-util/nm-connection.c
9062                 - (nm_connection_update_secrets, need_secrets_check): move
9063                         802-11-wireless-security need_secrets checks to the setting object
9064                         itself, where it belongs
9065
9066         * libnm-util/nm-setting.c
9067           libnm-util/nm-setting.h
9068                 - (nm_setting_need_secrets): new function
9069                 - (setting_wireless_security_verify,
9070                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9071                 - (setting_wireless_security_need_secrets): mostly copy code over
9072                         from nm-connection.c
9073
9074 2007-09-11  Dan Williams  <dcbw@redhat.com>
9075
9076         * libnm-util/nm-setting.c
9077           libnm-util/nm-setting.h
9078                 - (nm_setting_update_secrets): new function; add a virtual function that
9079                         subclasses can implement to update their secrets
9080                 - (setting_wireless_security_update_secrets): implement that function
9081                         for the 802-11-wireless-security subclass
9082
9083         * libnm-util/nm-connection.c
9084           libnm-util/nm-connection.h
9085                 - (nm_connection_update_secrets): update secrets for a Setting and
9086                         emit a signal on success
9087
9088         * src/nm-manager.c
9089           src/nm-manager.h
9090           src/nm-marshal.list
9091                 - (connection_get_settings_cb): enable system settings bits
9092                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9093                         to request secrets from the settings dbus service and to
9094                         push those secrets to the NMConnection itself
9095
9096         * src/nm-activation-request.c
9097           src/nm-activation-request.h
9098                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9099                         currently being activated, and proxy that signal to other listeners.
9100                         Goes through the activation request because the activation request
9101                         is the thing that manages the lifetime of the NMConnection that's
9102                         being activated.
9103
9104         * src/nm-device-802-11-wireless.c
9105                 - (real_connection_secrets_updated): implement the connection secrets
9106                         updated notification and restart activation when secrets are
9107                         received
9108                 - (real_act_stage2_config): request secrets from the settings dbus
9109                         service if secrets are needed
9110
9111         * src/nm-device.c
9112           src/nm-device.h
9113                 - (clear_act_request, nm_device_activation_cancel,
9114                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9115                         where the activation request is cleared
9116                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9117                         updated secrets signal of activation request and add a function
9118                         that subclasses can override to handle it easily
9119
9120 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9121
9122         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9123         removal of NetworkManagerAPList.
9124
9125 2007-09-10  Dan Williams  <dcbw@redhat.com>
9126
9127         * src/NetworkManagerAP.c
9128           src/NetworkManagerAP.h
9129           introspection/nm-access-point.xml
9130                 - Change 'freq' property to a guint32 instead of a double since we
9131                         weren't using the floating point bits anyway
9132
9133 2007-09-10  Dan Williams  <dcbw@redhat.com>
9134
9135         * NetworkManagerAP.c
9136           NetworkManagerAP.h
9137           NetworkManagerPolicy.c
9138           NetworkManagerSystem.c
9139           NetworkManagerUtils.c
9140           NetworkManagerUtils.h
9141           nm-device-802-11-wireless.c
9142           nm-device-802-3-ethernet.c
9143           nm-hal-manager.c
9144           nm-manager.c
9145           vpn-manager/nm-dbus-vpn.c
9146                 - Warning fixes; casts and removal of unused variables
9147
9148 2007-09-10  Dan Williams  <dcbw@redhat.com>
9149
9150         * include/NetworkManager.h
9151                 - Kill NMNetworkType; AP types don't matter any more
9152
9153         * src/NetworkManagerAPList.c
9154           src/NetworkManagerAPList.h
9155           src/Makefile.am
9156                 - Kill; NMAccessPointList has outlived it's usefulness
9157
9158         * src/NetworkManagerAP.c
9159           src/NetworkManagerAP.h
9160                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9161                         functions; check if an NMConnection object is compatible with the
9162                         settings of this AP
9163                 - (freq_to_channel, channel_to_freq): utility functions for
9164                         channel <-> frequency conversion
9165
9166         * src/nm-device.c
9167           src/nm-device.h
9168                 - (nm_device_get_best_connection): pass the specific object around
9169                          (which might be the object path of a specific AP to connect to).
9170                          The get_best_connection() call should populate this on return
9171                          if needed (wireless does).
9172
9173         * src/nm-device-802-3-ethernet.c
9174                 - (real_get_best_connection): handle specific_object argument
9175
9176         * src/NetworkManager.c
9177           src/NetworkManagerMain.h
9178                 - Remove unused includes
9179
9180         * src/nm-device-802-11-wireless.c
9181           src/nm-device-802-11-wireless.h
9182                 - Convert the ap_list into a GSList from an NMAccessPointList
9183                 - No need for caching the 'activation_ap' since this is now determined
9184                         from the specific_object of the activation request, which is
9185                         populated from the get_best_connection() call or from a user request
9186                 - (nm_device_802_11_wireless_update_bssid): fix warning
9187                 - (get_wireless_capabilities): fix error message format arguments
9188                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9189                 - (find_best_connection, real_get_best_connection): implement
9190                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9191                         move here from NetworkManagerAPList
9192                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9193                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9194                         already verified earlier
9195                 - (real_act_stage2_config): use nm_connection_need_secrets()
9196
9197         * src/NetworkManagerPolicy.c
9198                 - (nm_policy_auto_get_best_device): handle specific objects
9199                 - (create_connection): remove; automatic connection creation functionality
9200                         is handled by the Connection objects
9201                 - (nm_policy_device_change_check): handle specific_object
9202
9203         * libnm-util/nm-connection.c
9204                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9205
9206 2007-09-10  Dan Williams  <dcbw@redhat.com>
9207
9208         * src/nm-manager.c
9209                 - (query_connections): fix uninitialized variable problem that caused
9210                         segfault
9211                 - (nm_manager_add_device): take devices down on startup so that we can
9212                         be assured that nm_device_is_up() won't short-circuit the init
9213                         process.  Hack until the is_up check gets split into two pieces
9214                         that aren't behaviorally confusing.
9215
9216 2007-09-09  Dan Williams  <dcbw@redhat.com>
9217
9218         * introspection/nm-device.xml
9219                 - The 'Activate' method now takes 3 arguments, a service name for the
9220                 settings service (user or system), the object path of the connection
9221                 to activate, and the specific object to activate, if any
9222
9223         * src/nm-device-interface.c
9224                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9225                 Add error bits
9226                 - (impl_device_activate): adapt to new Activate arguments; validate
9227                 the service name and get the Connection object from the NMManager
9228                 before starting to activate the device with the specified connection
9229
9230         * src/nm-device-802-3-ethernet.c
9231                 - (real_get_best_connection): find the best connection, or create a
9232                 default one if no existing connections can be used
9233
9234         * src/NetworkManagerPolicy.c
9235                 - (nm_policy_auto_get_best_device): Get the device's best connection
9236                 and only pick the device if it has one
9237                 - (nm_policy_device_change_check): disable wireless bits for now until
9238                 wireless get_best_connection() can be implemented (replacing "best_ap");
9239                 don't create a default connection here as the device subclass will do
9240                 that if needed
9241
9242         * src/nm-manager.h
9243           src/nm-manager.c
9244                 - (nm_manager_get): make NMManager a singleton and expose the getter
9245                 internally
9246                 - Rework internal NMManager connection handling to use the same
9247                 routines for both the system and user settings services.  Most calls
9248                 take a new NMConnectionType argument specifying either system or user
9249                 connections
9250                 - (nm_manager_get_connection_by_object_path): new function; get a
9251                 connection keyed on its object path
9252
9253         * src/NetworkManager.c
9254                 - (main): use nm_manager_get()
9255
9256 2007-09-09  Dan Williams  <dcbw@redhat.com>
9257
9258         * src/nm-device.h
9259           src/nm-device.c
9260                 - (nm_device_get_best_connection): new function; get best connection
9261                         for the device at that time
9262
9263 2007-09-09  Dan Williams  <dcbw@redhat.com>
9264
9265         * src/nm-device-interface.h
9266                 - Add NMDeviceInterfaceError with an UnknownConnection error
9267
9268 2007-09-09  Dan Williams  <dcbw@redhat.com>
9269
9270         Stupid mistake on my part; object path and interface for settings service
9271         and connection objects can be the same, only the service name must be
9272         different for the system and user settings services.
9273
9274         * include/NetworkManager.h
9275           src/nm-manager.c
9276           introspection/nm-settings-connection.xml
9277           introspection/nm-settings.xml
9278           libnm-glib/nm-settings.c
9279                 - (nm_connection_settings_init, query_user_connections,
9280                    new_connection_cb): Unify NetworkManagerSettings and Connection
9281                    interface name and object path
9282
9283 2007-09-06  Dan Williams  <dcbw@redhat.com>
9284
9285         * libnm-glib/nm-object.c
9286                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9287                    nm_object_get_int_property, nm_object_get_uint_property,
9288                    nm_object_get_boolean_property, nm_object_get_byte_property,
9289                    nm_object_get_double_property, nm_object_get_byte_array_property):
9290                         clear GValues after copying their contents, fixes memory leaks
9291                         after every property access because dbus-glib copies the values
9292                         from the DBusMessage into the GValue already.
9293
9294 2007-09-06  Dan Williams  <dcbw@redhat.com>
9295
9296         * introspection/nm-access-point.xml
9297                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9298                         them to be.  There's some magic property name parsing going on in
9299                         dbus-glib that breaks up property names based on studly-caps and
9300                         puts - between words.
9301
9302         * libnm-glib/nm-access-point.c
9303                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9304                         Fix property names
9305
9306 2007-09-06  Dan Williams  <dcbw@redhat.com>
9307
9308         * src/nm-manager.c
9309                 - (nm_manager_user_connections_destroy): clear the user connections hash
9310                         table, don't destroy it
9311                 - (finalize): only destroy the hash table on NMManager finalization
9312
9313 2007-09-02  Dan Williams  <dcbw@redhat.com>
9314
9315         * include/NetworkManager.h
9316           libnm-glib/nm-settings.c
9317                 - defines for the user settings daemon D-Bus bits
9318
9319         * src/NetworkManager.c
9320                 - Remove stuff that referred to the old NetworkManagerInfo service
9321
9322         * src/vpn-manager/nm-dbus-vpn.h
9323                 - Move old NMI defines to the only place they are used still
9324
9325         * libnm-util/nm-connection.c
9326           libnm-util/nm-connection.h
9327           src/nm-activation-request.c
9328                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9329
9330         * src/nm-manager.c
9331           src/nm-manager.h
9332                 - Get connections and their settings from the user settings daemon
9333                         at the appropriate times
9334
9335 2007-09-02  Dan Williams  <dcbw@redhat.com>
9336
9337         * libnm-util/nm-setting.c
9338                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9339                 - (setting_wireless_hash): set the right value on the item
9340
9341 2007-09-02  Dan Williams  <dcbw@redhat.com>
9342
9343         * test/Makefile.am
9344           test/nminfotest.c
9345                 - Remove, no longer useful
9346
9347 2007-08-30  Dan Williams  <dcbw@redhat.com>
9348
9349         * src/Makefile.am
9350           src/NetworkManagerDbus.c
9351           src/NetworkManagerDbus.h
9352           src/vpn-manager/nm-dbus-vpn.c
9353                 - Remove, no longer necessary.  Move last bits to the only place its
9354                 used, in nm-dbus-vpn.c
9355
9356         * src/NetworkManagerAPList.c
9357           src/nm-device.c
9358           src/NetworkManager.c
9359           src/nm-device-802-11-wireless.c
9360           src/vpn-manager/nm-vpn-manager.c
9361           src/vpn-manager/nm-vpn-service.c
9362           src/NetworkManagerPolicy.c
9363           src/nm-manager.c
9364                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9365                 that was message_is_error()
9366
9367 2007-08-30  Dan Williams  <dcbw@redhat.com>
9368
9369         * libnm-util/sha1.c
9370                 - Include config.h to get defines for endiannes (gnome.org #420216)
9371
9372 2007-08-30  Dan Williams  <dcbw@redhat.com>
9373
9374         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9375
9376         * src/ppp-manager/Makefile.am
9377                 - use -fPIC (gnome.org #471825)
9378
9379 2007-08-29  Dan Williams  <dcbw@redhat.com>
9380
9381         * include/NetworkManager.h
9382                 - Keep NMConnection object path in sync
9383
9384         * libnm-glib/nm-settings.c
9385           libnm-glib/nm-settings.h
9386                 - Break D-Bus object registration out of the init function, because
9387                 every object that's exported over D-Bus needs to use the _same_
9388                 DBusConnection.  Otherwise, each object would get a different object
9389                 path tree and wouldn't be callable.
9390
9391 2007-08-29  Dan Williams  <dcbw@redhat.com>
9392
9393         * libnm-util/nm-setting.h
9394           libnm-util/nm-setting.c
9395           libnm-util/nm-connection.c
9396           src/NetworkManagerPolicy.c
9397                 - 'info' settings object should be 'connection' says the spec
9398                 at NetworkManagerConfigurationSpecification
9399
9400 2007-08-29  Dan Williams  <dcbw@redhat.com>
9401
9402         * libnm-glib/nm-settings.c
9403           libnm-glib/nm-settings.h
9404                 - make the dbus path a property of the object, and autogenerate it.
9405                 It can't be composed of the 'id' field becuase that's not available
9406                 yet during the GObject creation in nm_connection_settings_init()
9407
9408 2007-08-29  Dan Williams  <dcbw@redhat.com>
9409
9410         * introspection/nm-settings-connection.xml
9411           introspection/nm-settings.xml
9412                 - Service name -> NetworkManagerUserSettings because two services
9413                 can't share part of the same path.  I'm not really sure how we'll use
9414                 the same code with the system-settings daemon...
9415
9416 2007-08-28  Dan Williams  <dcbw@redhat.com>
9417
9418         * src/nm-device-interface.c
9419           src/nm-device-interface.h
9420                 - Kill one more bit of NMData
9421
9422 2007-08-28  Dan Williams  <dcbw@redhat.com>
9423
9424         * src/NetworkManagerSystem.h
9425           src/nm-device.c
9426           src/nm-device.h
9427           src/nm-hal-manager.c
9428           src/NetworkManager.c
9429           src/nm-device-802-11-wireless.c
9430           src/nm-hal-manager.h
9431           src/nm-device-802-3-ethernet.c
9432           src/vpn-manager/nm-vpn-service.h
9433           src/vpn-manager/nm-vpn-manager.c
9434           src/vpn-manager/nm-vpn-manager.h
9435           src/vpn-manager/nm-vpn-service.c
9436           src/nm-device-802-11-wireless.h
9437           src/NetworkManagerMain.h
9438           src/nm-device-802-3-ethernet.h
9439           src/backends/NetworkManagerGentoo.c
9440           src/backends/NetworkManagerPaldo.c
9441           src/backends/NetworkManagerFrugalware.c
9442           src/backends/NetworkManagerRedHat.c
9443           src/backends/NetworkManagerSlackware.c
9444           src/backends/NetworkManagerGeneric.c
9445           src/backends/NetworkManagerArch.c
9446           src/backends/NetworkManagerSuSE.c
9447           src/backends/NetworkManagerGeneric.h
9448           src/backends/NetworkManagerDebian.c
9449                 - Kill NMData
9450
9451 2007-08-28  Dan Williams  <dcbw@redhat.com>
9452
9453         * src/NetworkManagerMain.h
9454           src/nm-device-802-11-wireless.c
9455           src/NetworkManager.c
9456                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9457                 for now we should set the 'invalid' property on individual APs, and when
9458                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9459                 that ESS
9460
9461 2007-08-28  Dan Williams  <dcbw@redhat.com>
9462
9463         * src/NetworkManagerAP.c
9464           src/NetworkManagerAP.h
9465                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9466                         'autoconnect' property instead
9467
9468         * src/NetworkManager.c
9469           src/NetworkManagerMain.h
9470           src/NetworkManagerPolicy.c
9471           src/NetworkManagerPolicy.h
9472                 - Remove the 'allowed_ap_list', which should be replaced by 
9473                         NMConnection/NMSettings instead, since _those_ are the allowed
9474                         things that NM can connect to
9475
9476         * src/nm-device-802-11-wireless.c
9477                 - Remove both allowed_ap_list usage and 'fallback' checking
9478
9479 2007-08-28  Dan Williams  <dcbw@redhat.com>
9480
9481         * src/nm-device.c
9482           src/named-manager/nm-named-manager.c
9483           src/named-manager/nm-named-manager.h
9484           src/NetworkManager.c
9485           src/vpn-manager/nm-vpn-manager.c
9486           src/NetworkManagerMain.h
9487           src/NetworkManagerSystem.c
9488                 - Remove the named-manager object from NMData structure in preparation
9489                 for NMData's timely death.  Make the NMNamedManager the singleton that
9490                 it really is
9491
9492 2007-08-28  Dan Williams  <dcbw@redhat.com>
9493
9494         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9495         each AP's capabilities, and by NMConnection/NMSettings objects for user
9496         defined connections.
9497
9498         * include/NetworkManager.h
9499                 - Redefine 802.11 security properties.  There are now device capabilities
9500                         and AP flags and AP security flags.  It was way to unclear before.
9501
9502         * src/Makefile.am
9503           src/nm-ap-security-leap.h
9504           src/nm-ap-security-leap.c
9505           src/nm-ap-security-wpa-eap.c
9506           src/nm-ap-security-wpa-eap.h
9507           src/nm-ap-security-private.h
9508           src/nm-ap-security-wpa-psk.c
9509           src/nm-ap-security-wpa-psk.h
9510           src/nm-ap-security-wep.c
9511           src/nm-ap-security-wep.h
9512           src/nm-ap-security.c
9513           src/nm-ap-security.h
9514                 - Removed, to be replaced with NMConnection/NMSettings objects
9515
9516         * src/nm-dbus-nmi.c
9517           src/nm-dbus-nmi.h
9518                 - Removed, to be replaced by code that talks to the new info daemon
9519                         interface and gets NMConnection/NMSettings objects
9520
9521         * src/backends/NetworkManagerSuSE.c
9522                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9523                         info-daemon that does the same thing but talks the new info-daemon
9524                         D-Bus interface
9525
9526         * src/NetworkManagerAP.h
9527           src/NetworkManagerAP.c
9528           src/NetworkManagerAPList.c
9529           libnm-glib/libnm-glib-test.c
9530                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9531                         WPA/RSN
9532
9533         * libnm-glib/nm-access-point.c
9534           libnm-glib/nm-access-point.h
9535           introspection/nm-access-point.xml
9536           test/nm-tool.c
9537                 - Adjust to new flags for AP security
9538
9539         * utils/nm-utils.c
9540           utils/nm-utils.h
9541           src/vpn-manager/nm-dbus-vpn.c
9542                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9543                         stuff which is the only place it's used
9544
9545         * src/nm-device-interface.c
9546           src/nm-device-interface.h
9547           introspection/nm-device.xml
9548           src/nm-activation-request.c
9549           src/nm-activation-request.h
9550           src/nm-device.c
9551                 - Add a new 'specific_object' argument that hints to NM what actual
9552                         AP or other device-specific thing the connection should apply to.
9553                         NMConnection objects can apply to more than one actual device/AP.
9554
9555         * libnm-util/nm-connection.c
9556         * libnm-util/nm-connection.h
9557                 - Add 'have_secrets" call stubs
9558
9559         * libnm-util/cipher.h
9560                 - Move NM_AUTH_TYPE_* defines here for now
9561
9562         * src/nm-device-802-11-wireless.c
9563                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9564                         NMSettings objects
9565
9566         * src/NetworkManagerDbus.c
9567         * src/NetworkManagerPolicy.c
9568                 - Remove usage of update_allowed_networks, should be pushing data in
9569                         a different manner
9570
9571 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9572
9573         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9574         dbus-glib frees it when the call is done.
9575
9576 2007-08-26  Dan Williams  <dcbw@redhat.com>
9577
9578         * introspection/nm-device.xml
9579                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9580
9581 2007-08-26  Dan Williams  <dcbw@redhat.com>
9582
9583         * src/nm-device-802-3-ethernet.c
9584                 - (constructor): move connection of interface-connected/disconnected
9585                         signals here from real_bring_up().  Should be listening to netlink
9586                         for carrier events no matter what the initial state of the device
9587                         is.
9588
9589 2007-08-26  Dan Williams  <dcbw@redhat.com>
9590
9591         * src/nm-netlink-monitor.c
9592                 - (nm_netlink_monitor_class_init): fix marshalling types for
9593                         interface-connected/interface-disconnected
9594                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9595                         check
9596
9597 2007-08-26  Dan Williams  <dcbw@redhat.com>
9598
9599         Convert to using interface indexes as the primary method of identifying
9600         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9601         be renamed at any time.  Device object paths now refer to the device
9602         index rather than the name, and you can map those two manually if you like
9603         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9604         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9605         to use interface indexes rather than names.
9606
9607 2007-08-26  Dan Williams  <dcbw@redhat.com>
9608
9609         * src/nm-netlink-monitor.h
9610                 - Remove one last bit of wireless-event signal
9611
9612 2007-08-26  Dan Williams  <dcbw@redhat.com>
9613
9614         * src/nm-netlink-monitor.c
9615                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9616                         don't need the 'wireless-event' signal anymore since that's all
9617                         handled by wpa_supplicant
9618
9619 2007-08-25  Dan Williams  <dcbw@redhat.com>
9620
9621         It's 2007. Remove support for drivers that don't support wireless scanning.
9622
9623         * test/nm-tool.c
9624           include/NetworkManager.h
9625           src/NetworkManagerUtils.c
9626           src/NetworkManagerPolicy.c
9627           src/nm-device-802-11-wireless.c
9628                 - Remove special handling for non-scanning devices and mark them
9629                         as unsupported/unhandled
9630
9631 2007-08-20  Dan Williams  <dcbw@redhat.com>
9632
9633         * src/nm-device-802-11-wireless.c
9634           src/nm-device-802-3-ethernet.c
9635                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9636                         because when the card is pulled or the module removed, the device
9637                         is already !IFF_UP and then device-specific cleanup (removing
9638                         the supplicant interface, periodic checks, etc) never gets done
9639
9640 2007-08-20  Dan Williams  <dcbw@redhat.com>
9641
9642         * src/nm-manager.c
9643                 - (nm_manager_remove_device): bring device down before disconnecting
9644                         signal handlers, so that the 'state' signal will get broadcast when
9645                         the device enters the DOWN state
9646                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9647                         of states that cause the NMManager to recheck its state
9648
9649 2007-08-20  Dan Williams  <dcbw@redhat.com>
9650
9651         * src/supplicant-manager/nm-supplicant-interface.c
9652                 - (interface_disconnect_done): don't try to dispose of the net proxy
9653                         when it may already have been disposed of
9654
9655 2007-08-20  Dan Williams  <dcbw@redhat.com>
9656
9657         * src/nm-device-802-11-wireless.c
9658                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9659                         the SSID isn't available; this can happen when the card is pulled
9660                         or the module unloaded, during the post-removal deactivation
9661                         paths, when the ioctl returns ENODEV
9662
9663 2007-08-20  Dan Williams  <dcbw@redhat.com>
9664
9665         * src/nm-device-802-11-wireless.c
9666                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9667                         frequency, and mode match.  Applets are now responsible for grouping
9668                         access points
9669
9670 2007-08-20  Dan Williams  <dcbw@redhat.com>
9671
9672         * src/NetworkManagerAP.c
9673         * src/NetworkManagerAP.h
9674                 - (nm_ap_print_self): new function
9675
9676         * src/NetworkManagerAPList.c
9677                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9678                         to do it all here
9679         
9680 2007-08-17  Dan Williams  <dcbw@redhat.com>
9681
9682         * src/nm-device-802-3-ethernet.c
9683                 - (real_bring_down): don't try to dispose of stuff that might not
9684                         exist
9685
9686 2007-08-17  Dan Williams  <dcbw@redhat.com>
9687
9688         * src/NetworkManagerAP.c
9689                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9690                         applet.  This ensures that the case between the seen-bssids and
9691                         the bssids reported by the driver match.
9692
9693 2007-08-17  Dan Williams  <dcbw@redhat.com>
9694
9695         * src/nm-device-802-11-wireless.c
9696                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9697                         we dispose of the interface proxy in NM
9698
9699 2007-08-16  Dan Williams  <dcbw@redhat.com>
9700
9701         * libnm-glib/nm-client.c
9702                 - (nm_client_init): create VPN connections hash table with key free
9703                         function
9704                 - (proxy_vpn_connection_added): VPN connections hash table key should
9705                         be a duplicated value, not the same memory address as the VPN
9706                         connection name.  This is because the VPN connection name could
9707                         potentially be freed and set to something else during the lifetime
9708                         of the NMVPNConnection object.
9709
9710 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9711
9712         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9713         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9714         with the file descriptors. Send a child setup function to change the pppd
9715         progress group.
9716
9717 2007-08-15  Dan Williams  <dcbw@redhat.com>
9718
9719         * src/supplicant-manager/nm-supplicant-interface.c
9720                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9721                         an interface
9722                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9723                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9724                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9725                         the interface internally
9726
9727 2007-08-15  Dan Williams  <dcbw@redhat.com>
9728
9729         * src/nm-device-802-11-wireless.c
9730                 - (real_bring_down): move most of this function into device_cleanup()
9731                         so that it can be called from elsewhere
9732                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9733                         and stuff on dispose.  These would normally get cleaned up when
9734                         the device is marked down and deactivated, but when the device is
9735                         hot-unplugged, it's already down and real_down() never gets run
9736
9737 2007-08-15  Dan Williams  <dcbw@redhat.com>
9738
9739         * src/nm-dbus-nmi.c
9740                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9741                         caused a reference leak on device for which NM requested a key
9742
9743 2007-08-15  Dan Williams  <dcbw@redhat.com>
9744
9745         * libnm-glib/nm-client.c
9746                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9747
9748 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9749
9750         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9751         nothing is using it at the moment, but it'll be all useful and stuff later on.
9752
9753         * libnm-util/nm-setting.h: Define NMSettingPPP.
9754
9755         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9756
9757         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9758
9759         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9760
9761         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9762
9763         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9764
9765 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9766
9767         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9768
9769         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9770         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9771         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9772         name and different arguments and it won't compile anymore. To fix this, we now have
9773         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9774         that is new API + compatibility API and used by the daemon. The other, 
9775         nm-manager-client.xml is only the new API without compatibility bits and is used
9776         by libnm-glib to make it compile.
9777
9778         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9779
9780         * src/nm-manager.c (impl_manager_legacy_sleep)
9781         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9782         interface functions for 0.6 branch.
9783
9784 2007-08-14  Dan Williams  <dcbw@redhat.com>
9785
9786         * src/NetworkManagerAP.c
9787                 - (nm_ap_new_from_properties): fix mistaken check of return value
9788                         from memcmp (should expect 0)
9789
9790 2007-08-14  Dan Williams  <dcbw@redhat.com>
9791
9792         (force-commit to fix wrong comment and partial commit of r2685; this
9793          commit actually applies to r2685)
9794
9795         * src/NetworkManagerUtils.c
9796                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9797                         ignores trailing nulls in the SSID to work around mismatches in
9798                         expectations between WEXT and what the info-daemon passes back.  The
9799                         info-daemon would pass back the correct length, but due to the
9800                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9801                         the device would always have an SSID + 1 depending on what versions
9802                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9803                         visible by just quitting the applet and relaunching, which caused
9804                         NM to reassociated to the same network over again when reloading
9805                         the save networks.
9806
9807         * src/NetworkManagerPolicy.c
9808           src/NetworkManagerUtils.h
9809           src/nm-device-802-11-wireless.c
9810                 - Update for new parameter to nm_utils_same_ssid()
9811
9812 2007-08-14  Dan Williams  <dcbw@redhat.com>
9813
9814         * src/NetworkManagerAP.c
9815                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9816                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9817                         setting the BSSID to all 0s.  That confused the heck out of NM,
9818                         plus it's useless and probably out-of-spec.
9819
9820 2007-08-14  Dan Williams  <dcbw@redhat.com>
9821
9822         * callouts/Makefile.am
9823           src/dhcp-manager/nm-dhcp-manager.c
9824           src/dhcp-manager/nm-dhcp-manager.h
9825           src/dhcp-manager/Makefile.am
9826                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9827
9828 2007-08-14  Dan Williams  <dcbw@redhat.com>
9829
9830         * src/dhcp-manager/nm-dhcp-manager.c
9831                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9832                         it's really needed, get rid of unused xtra_args parameter
9833
9834 2007-08-14  Dan Williams  <dcbw@redhat.com>
9835
9836         * include/NetworkManagerVPN.h
9837           src/vpn-manager/nm-dbus-vpn.c
9838           src/vpn-manager/nm-dbus-vpn.h
9839           src/vpn-manager/nm-vpn-act-request.c
9840           src/vpn-manager/nm-vpn-act-request.h
9841           src/vpn-manager/nm-vpn-service.c
9842           src/vpn-manager/nm-vpn-service.h
9843           libnm-glib/nm-vpn-connection.c
9844           libnm-glib/nm-vpn-connection.h
9845           libnm-glib/nm-client.h
9846                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9847                         NMVPNServiceState to clarify what they apply to
9848                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9849                         NMVPNActStage -> NMVPNConnectionState for the same reason
9850
9851         * libnm-glib/nm-client.c
9852                 - Constant + type renames from above
9853                 - Properly handle NameOwnerChanged/manager_running signals
9854                         for NM service; only emit when state really changes
9855                 - Use hash tables correctly so that the key (which was previously owned
9856                         by the D-Bus message) now has the same lifetime as the value, since
9857                         the key is now taken from the the NMVPNConnection itself.  This
9858                         really fixes the double-VPN names in the applet
9859
9860 2007-08-13  Dan Williams  <dcbw@redhat.com>
9861
9862         Patch from Michael Biebl <biebl@debian.org>
9863
9864         * po/POTFILES.in
9865           po/POTFILES.skip
9866                 - Update for vpn-properties move
9867
9868 2007-08-13  Dan Williams  <dcbw@redhat.com>
9869
9870         * libnm-glib/nm-client.c
9871                 - Convert internal VPN connection tracking from a list to a hash table
9872                         to easily avoid duplicates
9873                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9874                         must be freed by the caller, like nm_client_get_devices()
9875                 - (nm_client_remove_vpn_connection): don't let the removal signal
9876                         leak through for NMVPNConnection objects that aren't actually
9877                         tracked.
9878                 - (manager_running): throw away VPN connection list when NM goes away,
9879                         like with the device list
9880
9881 2007-08-13  Dan Williams  <dcbw@redhat.com>
9882
9883         * src/dhcp-manager/nm-dhcp-manager.c
9884                 - Stop any dhclient instance that might be already running for a
9885                         particular interface before starting an NM spawned dhclient.  Fixes
9886                         dhclient processes left over if NM crashes, stuff like that.
9887
9888 2007-08-13  Dan Williams  <dcbw@redhat.com>
9889
9890         * src/NetworkManagerAP.c
9891                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9892                         when the AP wasn't broadcasting it's SSID
9893
9894 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9895
9896         * include/NetworkManager.h: added DBus path for connection settings.
9897
9898         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9899         nm_connection_settings_signal_updated,
9900         nm_connection_settings_signal_removed): new functions to wrap the
9901         objects' signals.
9902         (nm_connection_settings_init): register GObject with DBus.
9903         (nm_connection_settings_get_dbus_object_path): new function.
9904
9905         * libnm-glib/Makefile.am: added libnmutil to link flags.
9906
9907 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9908
9909         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9910
9911         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9912         libnm_glib directory got merged with libnm-glib/.
9913
9914         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9915
9916         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9917         Rename the library from libnm-glib to libnm_glib to maintain the library API
9918         compatibility with 0.6 branch.
9919
9920         * Makefile.am: Remove gnome/ SUBDIR.
9921
9922         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9923
9924         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9925
9926         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9927
9928         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9929         anymore.
9930         Remove checks for wpa_supplicant binary, it's used over dbus.
9931         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9932
9933         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9934         Link the binaries with libnm_glib.la.
9935
9936 2007-08-12  Dan Williams  <dcbw@redhat.com>
9937
9938         * src/NetworkManagerPolicy.c
9939                 - (nm_policy_device_change_check): fix policy to deactivate old device
9940                         before activating new one, at least until the multiple active
9941                         device support lands
9942
9943 2007-08-12  Dan Williams  <dcbw@redhat.com>
9944
9945         * src/NetworkManagerPolicy.c
9946                 - (nm_policy_new): hook up to connection-added / connection-removed
9947                         signals instead of connections-changed
9948
9949 2007-08-12  Dan Williams  <dcbw@redhat.com>
9950
9951         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9952         Robert Frank <rfrank@redhat.com>
9953
9954         * src/dhcp-manager/nm-dhcp-manager.c
9955           src/dhcp-manager/nm-dhcp-manager.c
9956           src/nm-device.c
9957                 - Spawn and communicate with dhclient directly, through means of a
9958                 custom dhclient callout script.  Process callout D-Bus signals
9959                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9960                 sent via gobject signals rather than being driven by the dhcp manager
9961                 directly.
9962
9963 2007-08-12  Dan Williams  <dcbw@redhat.com>
9964
9965         * callouts/nm-dhcp-client-action.c
9966                 - (build_message): ignore non-DHCP-related environment variables
9967
9968 2007-08-12  Dan Williams  <dcbw@redhat.com>
9969
9970         * Makefile.am
9971           configure.in
9972           callouts/Makefile.am
9973           callouts/nm-dhcp-client-action.c
9974           callouts/nm-dhcp-client.conf
9975                 - Add dhclient-executed callout that takes the place of dhclient-script
9976                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9977                 NM then listens for
9978
9979 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9980
9981         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9982
9983         * libnm-glib/nm-client.h:
9984         * libnm-glib/nm-object.h:
9985         * libnm-glib/nm-vpn-connection.h:
9986         * libnm-glib/nm-settings.h:
9987         * libnm-glib/nm-device.h:
9988         * libnm-glib/nm-ip4-config.h:
9989         * libnm-glib/nm-access-point.h:
9990         * libnm-glib/nm-device-802-3-ethernet.h:
9991         * libnm-util/nm-setting.h: 
9992         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9993
9994         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9995
9996         * libnm-glib/nm-access-point.c: Strength has type char.
9997
9998         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9999         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10000
10001         * introspection/nm-access-point.xml: Strength property is char, not int.
10002
10003         * src/NetworkManagerAP.c (set_property): Set strength from char.
10004         (get_property): Handle hidden APs (with empty SSID).
10005         Get strength value from char.
10006         (nm_ap_class_init): Strength property has char type.
10007
10008 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10009
10010         * introspection/Makefile.am:
10011         * introspection/nm-settings.xml:
10012         * introspection/nm-settings-connection.xml: added Settings interfaces.
10013
10014         * libnm-glib/nm-settings.[ch]:
10015         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10016         containing the DBus implementation.
10017
10018 2007-07-26  Dan Williams  <dcbw@redhat.com>
10019
10020         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10021
10022         * src/NetworkManagerSystem.c
10023                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10024                         same subnet (#437396)
10025
10026 2007-07-26  Dan Williams  <dcbw@redhat.com>
10027
10028         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10029
10030         * gnome/vpn-properties/nm-vpn-properties.c
10031                 - Fix translatable strings (#445865)
10032
10033 2007-07-26  Dan Williams  <dcbw@redhat.com>
10034
10035         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10036
10037         * configure.in
10038                 - Remove useless junk (#412530)
10039
10040 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10041
10042         Patch from Robert Buchholz <rbu@gentoo.org>:
10043
10044         * configure.in:
10045         * Makefile.am:
10046         * introspection/Makefile.am:
10047         Make make distcheck work again.
10048
10049 2007-06-27  Dan Williams  <dcbw@redhat.com>
10050
10051         * Make SSIDs GByteArrays everywhere
10052         * Rename "essid" -> "ssid" everywhere that's appropriate
10053         * Refcount activation_ap member of the 802.11 wireless device class
10054
10055 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10056
10057         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10058
10059 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10060
10061         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10062         that we got a new AP when we just update existing AP properties.
10063
10064 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10065
10066         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10067
10068         * nm-utils.[ch]: Remove.
10069
10070         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10071         objects for easy property access and dbus connection handling.
10072
10073         * libnm-glib/nm-client.c: Derive from NMObject.
10074
10075         * libnm-glib/nm-device.c: Ditto.
10076
10077         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10078
10079         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10080
10081         * libnm-glib/nm-ip4-config.c: Ditto.
10082
10083         * libnm-glib/nm-access-point.c: Ditto.
10084
10085         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10086         comparision. Currently used by the device activation code to determine if the new
10087         activation is the same as the old one.
10088
10089         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10090         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10091         able to ask password for the AP.
10092
10093         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10094         up if the device is already connected, tear down it's connection (if it isn't the
10095         same as new one) and start the activation.
10096
10097         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10098
10099         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10100         the issue where all APs are always listed as encrypted.
10101
10102         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10103         their own registered paths.
10104
10105         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10106         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10107
10108 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10109
10110         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10111         (0 & 0 == 0, doh)
10112
10113         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10114         because the handling code will cause the next state change and signal listeners
10115         get the signals in wrong order.
10116
10117         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10118         correctly in case of pending activation.
10119
10120         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10121         Convert the essid byte array to string correctly, including the terminating NULL.
10122
10123         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10124         mode with correct types.
10125
10126         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10127         constructed info to dbus call instead of the activation request.
10128
10129 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10130
10131         Patch from Christian Persch <chpe@gnome.org>
10132
10133         * libnm-glib/Makefile.am:
10134         * dispatcher-daemon/Makefile.am:
10135         Use the correct variables, the correct paths, and correct ordering. (446315)
10136
10137 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10138
10139         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10140         argument. The activation request is easy to retrieve.
10141
10142         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10143         just to be a convenient location for devices to store random stuff.
10144
10145 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10146
10147         Patch from Alex Smith <alex@alex-smith.me.uk>
10148
10149         * src/backends/NetworkManagerFrugalware.c:
10150         Update the FrugalWare backend to fix a few segfaults. (#392642)
10151
10152 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10153
10154         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10155
10156         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10157         setting.
10158         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10159
10160 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10161
10162         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10163         automagically.
10164         Implement NMSettingIP4Config.
10165         Finish NMSettingWired by adding all known members.
10166         (setting_wired_verify): Implement.
10167         Finish NMSettingWireless by adding all known members.
10168         (setting_wireless_verify): Implement.
10169
10170         * libnm-util/nm-connection.c: Register "ipv4" setting.
10171         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10172         dump function, we can introspect the GHashTable which is used for sending connections
10173         over dbus.
10174
10175         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10176         Take GByteArray for essid, it's really not a string.
10177
10178         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10179         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10180         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10181         means overriding the values we got from DHCP.
10182         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10183         (nm_device_deactivate_quickly): Ditto.
10184
10185         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10186         for debugging.
10187
10188 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10189
10190         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10191         NMConnection.
10192
10193         * libnm-glib/nm-device-802-11-wireless.c:
10194         (nm_device_802_3_ethernet_activate): Remove.
10195
10196         * libnm-glib/nm-device-802-3-ethernet.c
10197         (nm_device_802_3_ethernet_activate): Remove.
10198
10199         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10200
10201         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10202         NMConnection.
10203
10204         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10205         activation has started.
10206         Implement the new activation using NMConnection.
10207
10208         * src/nm-activation-request.c: Store a generic connection object instead
10209         of a wireless-specific AP.
10210
10211         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10212         on device type, create a device specific connection object suitable for
10213         device activation.
10214
10215         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10216         specific check to validate the connection and on success start the
10217         activation.
10218
10219         * src/nm-device-interface.h: Add a activate virtual function to the
10220         interface definition.
10221
10222         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10223         (impl_device_activate): Implement.
10224
10225         * introspection/nm-device.xml: Add a generic device activation interface
10226         that accepts an abstract NMConnection structure that has device-specific
10227         information in it.
10228
10229         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10230         activation interface.
10231
10232         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10233         activation interface.
10234
10235         * libnm-util/nm-connection.c: 
10236         * libnm-util/nm-connection.h: 
10237         * libnm-util/nm-setting.c:
10238         * libnm-util/nm-setting.h: Add.
10239
10240         * libnm-util/Makefile.am: Build the added files.
10241
10242         * src/nm-dbus-manager.c
10243         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10244         DbusConnection argument from 'name-owner-changed' signal. The manager
10245         is already passed as a first argument to the signal and the connection
10246         is easy enough to get from it.
10247
10248         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10249         Update the signature of the function.
10250
10251         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10252         Ditto.
10253
10254         * src/NetworkManager.c: Ditto.
10255
10256         * src/named-manager/nm-named-manager.c
10257         (nm_named_manager_name_owner_changed): Ditto.
10258
10259         * src/supplicant-manager/nm-supplicant-manager.c
10260         (nm_supplicant_manager_name_owner_changed): Ditto.
10261
10262         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10263
10264         * src/dhcp-manager/nm-dhcp-manager.c
10265         (nm_dhcp_manager_name_owner_changed): Ditto.
10266
10267         * src/nm-hal-manager.c: Add a list of device detectors and creators
10268         to make it easier to add new devices. Each device type has it's own
10269         entry in the table so adding new device types is only a matter of
10270         implementing a couple of functions, one for device detection and the
10271         other for device creation.
10272
10273 2007-04-25  Dan Williams  <dcbw@redhat.com>
10274
10275         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10276                 (gnome.org #432401)
10277
10278 2007-03-30  Dan Williams  <dcbw@redhat.com>
10279
10280         * src/NetworkManagerSystem.c
10281                 - (nm_system_device_set_ip4_route): clean up and fix argument
10282                         to nm_dev_sock_open()
10283
10284 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10285
10286         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10287         data to correct types instead of always using string.
10288
10289         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10290         _not_ have NM_802_11_CAP_PROTO_NONE.
10291         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10292         is not set.
10293
10294 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10295
10296         * libnm-glib/Makefile.am: Fix the build issue.
10297
10298 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10299
10300         * libnm-glib/nm-vpn-connection.h: 
10301         * libnm-glib/nm-vpn-connection.c: Implement.
10302
10303         * libnm-glib/nm-client.c: Add VPN support.
10304
10305         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10306         handler for VPN.
10307
10308         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10309         on DBUS again.
10310
10311 2007-03-26  Dan Williams  <dcbw@redhat.com>
10312
10313         * src/NetworkManagerAPList.c
10314         * src/nm-device-802-11-wireless.c
10315         * src/NetworkManagerAP.c:
10316                 - Store last seen as glong instead of GTimeVal.
10317                 - Fix the upper bound of capabilities, it's a bitfield.
10318
10319 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10320
10321         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10322
10323         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10324         "manager-running" signal that notifies the appearance/disappearance of NM.
10325         (nm_client_sleep): Implement.
10326
10327         * libnm-glib/nm-device.c:
10328         * libnm-glib/nm-device-802-11-wireless.c: 
10329         * libnm-glib/nm-device-802-3-ethernet.c: 
10330
10331         Don't inherit from DBusGProxy, add a proxy to private
10332         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10333         for anything but their own dbus interface. DBusGProxy objects support only one
10334         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10335         interface. The nice side effect of this change is that we do not create a new
10336         DBusGProxy object for each property access.
10337
10338 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10339
10340         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10341         with zeroes before passing them to functions - the functions never do that and
10342         reading the values back may produce wrong values.
10343         (real_bring_up): Store the signal handler id ...
10344         (real_bring_down): ... So that it can be removed here.
10345         Disconnect the supplicant interface here as well.
10346         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10347         from the access point instead of old $device/Networks/$essid.
10348
10349         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10350         device state is connected (instead of just having link/carrier).
10351
10352         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10353         already easily accessible through the device.
10354
10355         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10356         store it within the object.
10357         (nm_ap_get_dbus_path): Export it to public as well.
10358
10359         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10360         of the singleton.
10361
10362 2007-03-12  Dan Williams  <dcbw@redhat.com>
10363
10364         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10365         for non-carrier-detect capable devices, and useless for carrier-detect
10366         devices since we get notifications from netlink about carrier status anyway.
10367
10368         * src/nm-device-802-3-ethernet.c
10369                 - remove 'link_source_id' member from private data
10370                 - (probe_link): remove and collapse into real_update_link()
10371                 - (nm_device_802_3_periodic_update): remove
10372                 - (real_is_up): check for sup_iface rather than link_source_id
10373                 - (real_bring_up): return gboolean for success/fail; require that
10374                         sup_iface be valid for device bringup to succeed
10375                 - (real_bring_down): zero out link signal ids
10376
10377         * src/nm-device.c
10378                 - (nm_device_activate_stage2_device_config): fail activation if device
10379                         bringup fails
10380                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10381                         fails
10382                 - (nm_device_bring_up): return success/fail
10383
10384         * src/nm-device.h
10385                 - bring_up now returns success/fail
10386
10387         * src/nm-device-802-11-wireless.c
10388                 - (real_bring_up): return success from bringup
10389
10390 2007-03-07  Dan Williams  <dcbw@redhat.com>
10391
10392         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10393         * src/nm-ap-security-wpa-psk.c
10394                 - (real_write_supplicant_config): work with PSKs that may contain
10395                         zeros in the binary format rather than treating it as a string
10396
10397 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10398
10399         * libnm-glib/nm-device-802-11-wireless.c
10400         (nm_device_802_11_wireless_get_capabilities): Implement.
10401
10402         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10403
10404         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10405
10406         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10407         reply only if it's not NULL. Not sure why this started happening right now.
10408
10409         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10410         code paths for when devices get removed on shutdown or when a device is just
10411         removed.
10412         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10413         gets freed so any signal from a device (disconnected for instance) would invoke
10414         NMState update which would crash.
10415         (nm_manager_remove_device): Bring the device down when it gets removed.
10416
10417         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10418         the unused dev_type.
10419
10420         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10421         reference to the added device, NMManager will own it (if it wants).
10422
10423         * test/nm-tool.c: Rewrite using libnm-glib.
10424
10425         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10426         We get signalled when it changes.
10427
10428         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10429         when it changes.
10430
10431         * libnm-glib/nm-device.c: Cache the device state property.
10432
10433         * libnm-glib/nm-access-point.c: Cache the strength property.
10434
10435         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10436         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10437         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10438         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10439         the device is down, activating, or activated (in case of A/B/G cards).
10440         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10441         it's all done through supplicant now.
10442
10443         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10444         counting issues with pending calls which caused leaks and crashes when
10445         interface was removed (now that the interface actually gets removed).
10446
10447         * src/nm-call-store.c: Make a copy of data before running a foreach
10448         with user callback on it - The most common usage pattern is to cancel
10449         (and thus remove) all pending calls with foreach which would modify
10450         the hash table we're iterating over.
10451
10452         * src/nm-manager.c: When a device is added, make sure it is "up". When
10453         it's removed or disabled due to disabling wireless or networking, bring
10454         it down.
10455
10456         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10457
10458         * src/nm-device-802-11-wireless.c: 
10459         * src/nm-device-802-3-ethernet.c: 
10460         * src/nm-device.c:
10461                 - Remove "init" virtual function, all gobjects have a place for that
10462                   already (constructor).
10463                 - Replace "start" virtual function with "bring_up", devices can be
10464                   brought up and down more than just on startup now.
10465                 - Add "is_up" virtual function.
10466                 - Implement one way to bring a device down instead of previous 4 different
10467                   ways, each of witch did something different.
10468
10469         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10470         all it needs is the device interface.
10471
10472         Get rid of NMData.dev_list (3 members to go).
10473         Get rif of NMData in a lot of places.
10474
10475         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10476
10477 2007-02-23  Dan Williams  <dcbw@redhat.com>
10478
10479         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10480
10481         * src/NetworkManagerAP.c
10482                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10483                         OR-ing rather than AND-ing
10484
10485 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10486
10487         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10488         "network-removed" signals.
10489
10490         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10491
10492         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10493         when receiving the signal from dbus.
10494
10495         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10496         property.
10497
10498         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10499         deactivation of the previously activated device working again.
10500
10501         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10502         and setter.
10503
10504         * src/nm-device.c (nm_device_is_activated): Remove.
10505         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10506
10507         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10508         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10509         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10510         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10511         Remove NMNetworkStatus and NMActStage enums.
10512
10513 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10514
10515         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10516         Handle device state changes and disconnect VPN if it's device deactivates.
10517
10518         * src/nm-dbus-nm.c: 
10519         * src/nm-dbus-nm.h: 
10520         * src/nm-dbus-device.c: 
10521         * src/nm-dbus-device.c: 
10522         * src/nm-dbus-net.c: 
10523         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10524
10525         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10526
10527         * src/nm-device.c (nm_device_get_by_udi):
10528         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10529         implemented in the correct location (NMManager).
10530         Rip out all the test_device stuff.
10531
10532         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10533         failure handlers, it's all done by NMDevice already.
10534
10535         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10536         Remove the iochannel hack to route the unix signals to the main thread since
10537         we're not threaded anymore.
10538
10539         * src/NetworkManagerAP.c: Implement HWAddress property.
10540
10541         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10542         automatically with dbus-glib.
10543
10544         * src/nm-netlink-monitor.c: 
10545         * src/nm-netlink-monitor.h:
10546                 - Move it low in the class hierarchy, don't reference any NM types.
10547                 - Remove private data from the header.
10548                 - Use type safe checks in public API methods.
10549                 - Make it a singleton so we don't have to pass the single reference around.
10550
10551 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10552
10553         * introspection/nm-ip4-config.xml: Implement.
10554
10555         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10556
10557         * libnm-glib/nm-ip4-config.c:
10558         * libnm-glib/nm-ip4-config.c: Implement.
10559
10560         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10561         securities. APs reference security.
10562
10563         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10564         be exported over DBUS.
10565
10566         * src/nm-device-802-3-ethernet.c: Ditto.
10567
10568         * src/NetworkManagerAP.c:
10569         * src/NetworkManagerAP.h:
10570                 - Convert to GObject, export over DBUS.
10571
10572         * src/nm-ip4-config.h:
10573         * src/nm-ip4-config.h:
10574                 - Convert to GObject, export over DBUS.
10575
10576 2007-02-12  Dan Williams  <dcbw@redhat.com>
10577
10578         Patch from Helmut Schaa <hschaa@suse.de>
10579
10580         * vpn-daemons/pptp/configure.in
10581           vpn-daemons/pptp/Makefile.am
10582           vpn-daemons/openvpn/configure.in
10583           vpn-daemons/openvpn/Makefile.am
10584           vpn-daemons/vpnc/configure.in
10585           vpn-daemons/vpnc/Makefile.am
10586                 - Add --without-gnome switch which disables building gnome bits
10587
10588 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10589
10590         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10591
10592         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10593
10594         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10595         'HwAddress'.
10596
10597         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10598
10599         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10600
10601         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10602
10603         * src/:
10604                 - Remove old low-level dbus interface implementations and replace them
10605                   with dbus-glib one.
10606
10607         * configure.in:
10608                 - Require dbus-glib >= 0.72.
10609                 - Plug in new sources to build.
10610
10611         * libnm-glib/:
10612                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10613                   to make it more convenient to use from GObject based programs.
10614
10615         * introspection/:
10616                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10617
10618 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10619
10620         * src/nm-device-802-11-wireless.c:
10621                 - Add "network-added" and "network-removed" signals.
10622                 - Use gobject boilerplate macros to define the GObject.
10623                 - Implement wireless device activation.
10624                 - Remove activation_failure_handler and activation_success_handler
10625                   and instead listen on state-changed signals and run the same code
10626                   from there.
10627
10628         * src/nm-device.c:
10629                 - Implment NMDeviceInterface::deactivate.
10630                 - Remove activation_failure_handler and activation_success_handler
10631                   virtual methods. Each device which is interested in these events
10632                   can just listen on it's state changed signals.
10633
10634         * src/NetworkManagerPolicy.c:
10635                 - Move a bit more NMData usage to NMManager.
10636                 - Remove activation scheduling bits.
10637                 - Add listeners for wireless device's "network-added" and
10638                   "network-removed" signals.
10639                 - Listen device changed signals and deactivate currently activated
10640                   device when another device start activating (for now).
10641                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10642                   for calling this, the policy code knows exactly when this should happen,
10643                   by listening on events from NMManager and NMDevices.
10644
10645         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10646         Implement.
10647
10648         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10649         method on the specific device instead of going to through policy code
10650         and determining the device type by passed in AP's existance.
10651
10652         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10653         abstract NMDevice deactivation.
10654
10655 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10656
10657         * src/NetworkManager.c:
10658                 - Set up all the shiny new managers.
10659
10660         * src/NetworkManagerPolicy.c:
10661                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10662                   classes to call into policy code, make the policy code kind of like
10663                   a supervisor that monitors what's going on and drives the whole NM.
10664
10665         * src/nm-hal-manager.c: 
10666         * src/nm-hal-manager.h:
10667                 - Collect all libhal code scattered around NM to this one class.
10668                 - Listen libhal and NMManager events and add/remove devices to
10669                   NMManager.
10670
10671         * src/nm-manager.c:
10672         * src/nm-manager.h:
10673                 - Implment a replacement for NMData. NMData is now officially
10674                 deprecated.
10675
10676 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10677
10678         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10679         * src/supplicant-manager/nm-supplicant-interface.h
10680         * src/supplicant-manager/nm-supplicant-interface.c
10681         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10682         argument to boolean from enum.
10683
10684         Make NMDevice abstract class, remove almost all references to it's
10685         subclasses (the last place gets removed with new policy manager). Add
10686         NMDeviceInterface (which NMDevice implements) so that when we have
10687         NMDevice exported over DBUS, there's a common NMDevice interface which
10688         all instances have, plus there's a device specific interface for each
10689         specific type.
10690         Remove functions (nm_device_is_802_3_ethernet) and
10691         (nm_device_is_802_11_wireless). There are already standard GObject macros
10692         for type safe checks.
10693         Use the updated supplican manager API.
10694
10695         * src/nm-device-interface.h: 
10696         * src/nm-device-interface.c: 
10697         * src/nm-call-store.h: 
10698         * src/nm-call-store.c: Implement.
10699
10700         * src/supplicant-manager/nm-supplicant-interface.c:
10701         * src/supplicant-manager/nm-supplicant-interface.h:
10702         * src/supplicant-manager/nm-supplicant-manager.c:
10703         * src/supplicant-manager/nm-supplicant-manager.h:
10704                 - Remove all private data type references from public header files.
10705                 - Remove all references to other NM classes, this class is just a
10706                   proxy between wpa_supplicant and NM so it doesn't have to know
10707                   any internals.
10708                 - Convert to dbus-glib bindings.
10709                 - Type safe checks for public methods' arguments.
10710                 - Store pending DBUS call ids to NMCallStore.
10711
10712         * src/supplicant-manager/nm-supplicant-config.c:
10713                 - Store config values in a GHashTable instead of GSList.
10714
10715         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10716
10717         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10718         singleton now.
10719
10720         * src/nm-device.c: Use the new DHCP manager API.
10721
10722         * src/nm-activation-request.c:
10723         * src/nm-activation-request.h:
10724                 - Remove all dhcp related properties and methods.
10725
10726         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10727
10728         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10729
10730         * src/dhcp-manager/nm-dhcp-manager.c:
10731         * src/dhcp-manager/nm-dhcp-manager.h:
10732                 - Convert it to GObject since we need to signal state changes.
10733                 - Remove all references to other NM classes, this class is one
10734                   of the lowest classes in our hierarchy.
10735                 - One less class to use NMActRequest.
10736                 - Make it singleton, one less user of NMData.
10737                 - Remove a couple of sleep() calls.
10738                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10739                   One less class to use the NM's custom tailored signal handlig.
10740
10741         * Makefile.am: Generate marshallers, add them to build.
10742
10743 2007-02-02  Dan Williams  <dcbw@redhat.com>
10744
10745         * configure.in
10746           gnome/Makefile.am
10747           nm-applet.desktop
10748           Makefile.am
10749                 - Remove last bits referencing gnome applet
10750
10751 2007-02-02  Dan Williams  <dcbw@redhat.com>
10752
10753         * src/vpn-manager/nm-vpn-service.c
10754                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10755                         and NBNS server addresses
10756
10757 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10758
10759         * src/nm-dbus-manager.c:
10760         * src/nm-dbus-manager.h:
10761                 - Convert all internal DBUS code to use dbus-glib bindings.
10762                 - Remove GObject properties, we don't need them here.
10763                 - Don't explicitly set things to NULL after freeing, glib is
10764                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10765                 - Make public API argument checks type safe.
10766                 - Remove unnecessary (and wrong) cast to GObject for the first
10767                   argument to g_signal_* calls - The first argument is a gpointer.
10768                 - Export DBusGConnection to other cool classes that (are going to)
10769                   use dbus-glib.
10770
10771 2007-01-26  Dan Williams  <dcbw@redhat.com>
10772
10773         * libnm-util/dbus-dict-helpers.c
10774           libnm-util/dbus-dict-helpers.h
10775                 - Coordinate style with wpa_supplicant version to minimize diff
10776                 - Add uint32 array support
10777                 - (nmu_dbus_dict_append_uint32_array): new function
10778                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10779                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10780                         version; allow adding string array elements individually
10781
10782         * test/libnm-util/test-dbus-dict-helpers.c
10783                 - Test uint32 arrays
10784
10785 2007-01-27  Jürg Billeter  <j@bitron.ch>
10786
10787         * src/backends/NetworkManagerPaldo.c
10788                 - (nm_system_update_dns): clear nscd hosts cache
10789
10790 2007-01-04  Dan Williams  <dcbw@redhat.com>
10791
10792         Threading removal related cleanups:
10793
10794         - Use the glib default main context.  Remove the device main context
10795                 member from NMDevice, and the main_context member from NMData.  Change
10796                 all the idle and timeout scheduler functions to use plain
10797                 g_idle_add() and g_timeout_add().
10798
10799         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10800                 takes an argument; fix that up too.
10801
10802         - Remove all locking, which is useless since we no longer use threads.  For
10803                 example, nm_get_device_by_iface_locked() has been removed.  The global
10804                 device list lock, the AP List lock, and all static locks in
10805                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10806                 in NetworkManagerUtils.c have also been removed.
10807
10808         - Other cleanups in spacing and code style
10809
10810 2007-01-01  Dan Williams  <dcbw@redhat.com>
10811
10812         Found by Bill Moss:
10813
10814         * src/supplicant-manager/nm-supplicant-interface.c
10815                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10816                         the supplicant interface wasn't already disconnected.  Always
10817                         call removeNetwork and disconnect unless the supplicant interface
10818                         is in the DISCONNECTED or INACTIVE state.
10819
10820 2006-12-28  Dan Williams  <dcbw@redhat.com>
10821
10822         Use a single thread for everything.  With the move to wpa_supplicant
10823         and communication over D-Bus, there's no reason for multiple threads.
10824         Almost all of the blocking code has been removed, with one exception in
10825         the DHCP manager and a few in the VPN manager.  This commit removes the
10826         per-device worker thread and fixes activation cancellation in the absence
10827         of threads.  Further removal of thread-related code would be removing
10828         any locking code (like the device list lock) and simplification of logic
10829         around areas of code or data structures that are currently locked.
10830
10831         * autoip.c
10832           dhcp-manager/nm-dhcp-manager.c 
10833           nm-device-802-11-wireless.c
10834           nm-device-802-3-ethernet.c
10835           nm-device.c
10836           nm-device.h
10837                 - Remove usage of multiple threads
10838
10839 2006-12-19  Dan Williams  <dcbw@redhat.com>
10840
10841         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10842         plus a few other patches from wpa_supplicant bugzilla.
10843
10844         * src/Makefile.am
10845           src/NetworkManagerPolicy.c
10846           src/NetworkManagerUtils.c
10847           src/NetworkManagerUtils.h
10848           src/nm-ap-security-leap.c
10849           src/nm-ap-security-wep.c
10850           src/nm-ap-security-wpa-eap.c
10851           src/nm-ap-security-wpa-psk.c
10852           src/nm-ap-security.c
10853           src/nm-ap-security.h
10854           src/nm-device-802-11-wireless.c
10855           src/nm-device-802-11-wireless.h
10856           src/supplicant-manager/nm-supplicant-config.c
10857           src/supplicant-manager/nm-supplicant-config.h
10858           src/supplicant-manager/nm-supplicant-interface.c
10859           src/supplicant-manager/nm-supplicant-interface.h
10860           src/supplicant-manager/nm-supplicant-marshal.list
10861           src/supplicant-manager/nm-supplicant-settings-verify.c
10862           src/supplicant-manager/nm-supplicant-settings-verify.h
10863                 - Move all connection management and association handling to
10864                         wpa_supplicant over dbus, rather than spawning a private copy
10865
10866 2006-12-19  Dan Williams  <dcbw@redhat.com>
10867
10868         * src/NetworkManagerPolicy.c
10869                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10870                         better locking of the device change check handler ID.  Incorrect
10871                         locking was causing lost device change requests
10872
10873 2006-12-18  Dan Williams  <dcbw@redhat.com>
10874
10875         * libnm-util/dbus-dict-helpers.c
10876                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10877                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10878                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10879
10880 2006-12-18  Dan Williams  <dcbw@redhat.com>
10881
10882         * gnome/libnm_glib/libnm_glib.c
10883                 - Change dbus_connection_close() -> dbus_connection_unref()
10884
10885 2006-12-11  Dan Williams  <dcbw@redhat.com>
10886
10887         * src/supplicant-manager/nm-supplicant-interface.c
10888                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10889                         wpa_supplicant interface state
10890                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10891                         state before transitioning to READY state
10892
10893 2006-12-04  Dan Williams  <dcbw@redhat.com>
10894
10895         * src/nm-device-802-11-wireless.c
10896                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10897                         odd length of ESSID returned from ieee80211 stack-based drivers
10898
10899 2006-12-04  Dan Williams  <dcbw@redhat.com>
10900
10901         * src/nm-device-802-11-wireless.c
10902                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10903                         IE handling blocks that cause mis-parsing of the IE
10904
10905 2006-12-04  Dan Williams  <dcbw@redhat.com>
10906
10907         * src/nm-device-802-11-wireless.c
10908                 - (init_supplicant_interface): new function; pull supplicant interface
10909                         setup code out into standalone function since it must be called from
10910                         two different places
10911                 - (real_init): sup_mgr is now in private object data; get and track
10912                         the supplicant manager object over the NMDevice subclass' lifetime
10913                         and register a signal handler for its state signals; only try to
10914                         initialize the supplicant interface if the supplicant manager is in
10915                         the IDLE state (and therefore is ready for requests)
10916                 - (request_wireless_scan): reschedule the scan request if (a) there is
10917                         no supplicant interface yet (meaning wpa_supplicant isn't running
10918                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10919                         for requests yet
10920                 - (supplicant_iface_connection_state_cb): new function; stub for
10921                         handling supplicant interface connection state signals
10922                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10923                         comes and goes
10924                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10925                         supplicant manager object that's being tracked starting with this
10926                         commit
10927
10928 2006-12-04  Dan Williams  <dcbw@redhat.com>
10929
10930         * src/supplicant-manager/nm-supplicant-interface.c
10931                 - (nm_supplicant_interface_set_property): track signal handler ID
10932                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10933
10934 2006-12-04  Dan Williams  <dcbw@redhat.com>
10935
10936         * src/supplicant-manager/nm-supplicant-interface.[ch]
10937                 - (nm_supplicant_interface_get_state): new function
10938
10939 2006-12-04  Dan Williams  <dcbw@redhat.com>
10940
10941         * src/supplicant-manager/nm-supplicant-interface.c
10942                 - (bssid_properties_cb): don't treat DBus errors as valid
10943                         scanned AP messages
10944
10945 2006-12-04  Dan Williams  <dcbw@redhat.com>
10946
10947         * src/supplicant-manager/nm-supplicant-interface.[ch]
10948                 - (nm_supplicant_interface_get_connection_state): new function
10949                 - define new supplicant connection states
10950                 - send a signal when the supplicant connection state changes
10951
10952 2006-12-03  Dan Williams  <dcbw@redhat.com>
10953
10954         * src/supplicant-manager/Makefile.am
10955           src/supplicant-manager/nm-supplicant-connection.h
10956           src/supplicant-manager/nm-supplicant-connection.c
10957           src/supplicant-manager/nm-supplicant-config.h
10958           src/supplicant-manager/nm-supplicant-config.c
10959           src/supplicant-manager/nm-supplicant-types.h
10960           src/supplicant-manager/nm-supplicant-interface.h
10961           src/supplicant-manager/nm-supplicant-interface.c
10962                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10963
10964 2006-12-03  Dan Williams  <dcbw@redhat.com>
10965
10966         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10967
10968         * po/POTFILES.in
10969           po/POTFILES.skip
10970                 - Move VPN-related translatables to .skip
10971
10972         * vpn-daemons/pptp/po/POTFILES.in
10973                 - Update with new translatables
10974
10975 2006-12-02  Dan Williams  <dcbw@redhat.com>
10976
10977         Patch from Christian Persch <chpe@gnome.org>
10978
10979         * gnome/applet/Makefile.am
10980           gnome/applet/applet-dbus-devices.c
10981           gnome/applet/applet-notifications.c
10982           gnome/applet/applet.c
10983           gnome/applet/applet.h
10984           gnome/applet/main.c
10985                 - Be a GtkStatusIcon on GTK+ >= 2.10
10986
10987 2006-12-02  Dan Williams  <dcbw@redhat.com>
10988
10989         * gnome/applet/applet.c
10990                 - (nma_update_info): fix two unecessary allocations
10991
10992 2006-12-02  Dan Williams  <dcbw@redhat.com>
10993
10994         Patch from Michael Biebl <biebl@teco.edu>
10995         * configure.in
10996           man/NetworkManager.1.in
10997           man/NetworkManagerDispatcher.1.in
10998           man/NetworkManager.8.in
10999           man/NetworkManagerDispatcher.8.in
11000                 - Add .SH NAME stanzas
11001                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11002
11003 2006-12-02  Dan Williams  <dcbw@redhat.com>
11004
11005         Patch from Christian Persch <chpe@gnome.org>
11006
11007         * configure.in
11008                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11009
11010 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11011
11012         Patch by Timo Hoenig <thoenig@suse.de>:
11013         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11014         DBUS-1.0.
11015
11016         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11017         we can't use the one from the main source directory.
11018
11019 2006-11-27  Dan Williams  <dcbw@redhat.com>
11020
11021         Patch from Christian Persch <chpe@gnome.org>
11022
11023         * gnome/applet/applet-dbus-devices.c
11024                 - (hal_info_product_cb): fix memleak; free duped string.
11025                         Gnome.org #379908
11026
11027 2006-11-27  Dan Williams  <dcbw@redhat.com>
11028
11029         Patch from Christian Persch <chpe@gnome.org>
11030
11031         * gnome/applet/menu-items.c
11032                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11033                         as gtk_progress_set_percentage is deprecated.  Should
11034                         work as far back as GTK+ 2.4.  Gnome.org #379780
11035
11036 2006-11-26  Dan Williams  <dcbw@redhat.com>
11037
11038         Scan using wpa_supplicant over DBus.
11039
11040         * src/nm-device-802-11-wireless.c
11041                 - remove wireless extensions netlink event handler bits
11042                         (wireless_event_helper, nm_device_802_11_wireless_event)
11043                 - remove wireless extensions scan event handler bits
11044                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11045                         hex2byte, hex2num, request_and_convert_scan_results,
11046                         free_process_scan_cb_data, scan_results_timeout,
11047                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11048                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11049                         and request scans from the supplicant interface rather than directly
11050                 - Move functionality of convert_scan_results() to cull_scan_list() and
11051                         supplicant_iface_scanned_ap_cb()
11052                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11053                         at the scan interval when the current scan has finished
11054                 - (supplicant_iface_state_cb): start scanning when the supplicant
11055                         interface enters the READY state, and stop scanning when it
11056                         enters the DOWN state
11057                 - (cull_scan_list): weed out old access points from the scan list
11058                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11059                         point into an NMAccessPoint and merge it into the device's scan list
11060
11061         * src/supplicant-manager/nm-supplicant-interface.c
11062           src/supplicant-manager/nm-supplicant-interface.h
11063                 - Add a new signal "scan-result" which is issued when the supplicant
11064                         notifies NM that a scan has completed
11065                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11066                         point found in the scan.  Called once for each access point that
11067                         the supplicant interface object receives from the supplicant as a
11068                         result of the "scanResults" method call
11069                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11070                         for the initial scan results
11071                 - (scan_request_cb): new function; send listeners the result
11072                         (success, error) of a wireless scan request
11073                 - (nm_supplicant_interface_request_scan): new function; ask the
11074                         supplicant to perform an immediate wireless scan
11075
11076 2006-11-25  Dan Williams  <dcbw@redhat.com>
11077
11078         * src/supplicant-manager/Makefile.am
11079                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11080                         add HAL cflags/includes and named-manager includes directory
11081
11082         * src/supplicant-manager/nm-supplicant-interface.h
11083                 - New state STARTING to handle transition from INIT to READY where
11084                         the addInterface pending call is still outstanding
11085
11086         * src/supplicant-manager/nm-supplicant-interface.c
11087                 - track pending calls differently since we may have more than one
11088                         going on at any given time
11089                 - request scan results from wpa_supplicant; but don't do it more often
11090                         than every 4 seconds.  Drivers that do background scanning
11091                         (like the 'ipw' drivers) send a continuous stream of scan completion
11092                         notifications, so we don't want to hammer the supplicant or dbus
11093                         with requests for all scan results every time we get a completion
11094                         notification.
11095
11096 2006-11-25  Dan Williams  <dcbw@redhat.com>
11097
11098         * src/supplicant-manager/nm-supplicant-types.h
11099                 - new file; move all supplicant manager object typedefs here for
11100                         #include sanity
11101
11102         * src/supplicant-manager/nm-supplicant-interface.c
11103           src/supplicant-manager/nm-supplicant-interface.h
11104                 - new file; an object that interfaces an NMDevice object to the
11105                         supplicant and handles signals from the supplicant.  This object
11106                         does all necessary DBus communication with wpa_supplicant.
11107
11108         * src/supplicant-manager/nm-supplicant-manager.c
11109           src/supplicant-manager/nm-supplicant-manager.h
11110                 - Actually do something.  Track the state of the wpa_supplicant service
11111                         and deal with its comings & goings.  Handle life events of
11112                         supplicant interfaces too.
11113                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11114
11115         * src/supplicant-manager/nm-supplicant-connection.h
11116                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11117
11118         * src/supplicant-manager/Makefile.am
11119                 - Add new files to build, and add libnm-util to includes
11120
11121         * src/nm-marshal.list
11122                 - New marshaler type: VOID:UINT,UINT
11123
11124         * src/nm-device-802-3-ethernet.c
11125                 - (real_init): grab a supplicant interface
11126                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11127                 - (supplicant_iface_state_cb): new function, stub for handling
11128                         supplicant interface state changes
11129
11130         * src/nm-device-802-11-wireless.c
11131                 - (real_init): grab a supplicant interface
11132                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11133                 - (supplicant_iface_state_cb): new function, stub for handling
11134                         supplicant interface state changes
11135
11136         * src/NetworkManager.c
11137                 - (main): create and keep the supplicant manager around for the lifetime
11138                         of NetworkManager
11139
11140         * src/Makefile.am
11141                 - Link to the supplicant manager sub-library and use the supplicant
11142                         manager includes
11143
11144 2006-11-25  Dan Williams  <dcbw@redhat.com>
11145
11146         Rework DBus manager signal handling to be more flexible.  Previously,
11147         only one signal handler could be registered for a particular interface.
11148         The DBus manager now reference counts DBus bus matches and allows multiple
11149         clients to register signal handlers for the same interface and sender.
11150
11151         * src/NetworkManager.c
11152                 - (main): track NMI signal handler ID and remove it when we quit
11153
11154         * src/NetworkManagerMain.h
11155                 - Keep track of NMI signal handler ID
11156
11157         * src/nm-dbus-manager.c
11158           src/nm-dbus-manager.h
11159                 - rework signal handling; each signal handler references one signal
11160                         match, but a signal match may be referenced by one or more
11161                         signal handlers.  Matches are refcounted and are destroyed when the
11162                         last signal handler that references the match is removed.  This is
11163                         necessary because two signal handlers may end up requiring the same
11164                         dbus bus match, so the match must live until the last signal handler
11165                         is destroyed (for example, with the wpa_supplicant network interface
11166                         dbus interface).
11167
11168         * src/dhcp-manager/nm-dhcp-manager.c
11169                 - (nm_dhcp_manager_new): track DHCP signal handler id
11170                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11171
11172         * src/vpn-manager/nm-vpn-service.c
11173                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11174                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11175
11176 2006-11-25  Dan Williams  <dcbw@redhat.com>
11177
11178         Suggested by Helmut Schaa <hschaa@suse.de>
11179
11180         * src/vpn-daemons/nm-vpn-service.c
11181                 - (supplicant_child_setup): new function
11182                 - (supplicant_exec): make child process use a new process group id
11183
11184         * src/nm-device-802-11-wireless.c
11185                 - (nm_vpn_service_child_setup): new function
11186                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11187                         process group id
11188
11189 2006-11-19  Dan Williams  <dcbw@redhat.com>
11190
11191         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11192         * gnome/vpn-properties/nm-vpn-properties.c
11193                 - clean up after renamed VPN connection
11194
11195 2006-11-19  Dan Williams  <dcbw@redhat.com>
11196
11197         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11198         * gnome/applet/applet-dbus-vpn.c
11199                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11200
11201         * gnome/vpn-properties/nm-vpn-properties.c
11202                 - (init_app): sort VPN connections
11203
11204 2006-11-09  Dan Williams  <dcbw@redhat.com>
11205
11206         * src/NetworkManagerAPList.c
11207                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11208                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11209                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11210                 broke hidden SSID matching.  Found by Bill Moss.
11211
11212 2006-10-25  Dan Williams  <dcbw@redhat.com>
11213
11214         * src/nm-dbus-nm.c
11215                 - (nm_dbus_nm_set_active_device): return an empty success message on
11216                         success, rather than falling through to the error case.
11217
11218 2006-10-25  Dan Williams  <dcbw@redhat.com>
11219
11220         * src/NetworkManagerUtils.c
11221                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11222                         "SCAN" command
11223
11224 2006-10-24  Dan Williams  <dcbw@redhat.com>
11225
11226         Reduce the number of times the Gnome applet wakes up, especially when
11227         it's doing absolutely nothing and is hidden.  Initial patch by
11228         Chris Aillon.
11229
11230         * gnome/applet/applet-dbus.c
11231                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11232                         kill the redraw timeout.  When NM starts up, start the redraw
11233                         timeout.  Also, if we get kicked off the bus for some reason,
11234                         start the reconnection timeout if one's not already running.
11235                 - (nma_dbus_init): better handling of error conditions, don't leak
11236                         a half-initialized dbus connection
11237                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11238                         the applet's data, just call nm_dbus_init_helper()
11239                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11240                         timeout that calls nma_dbus_connection_watcher()
11241                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11242                         reconnection timeout, and don't start the reconnection timeout
11243                         unconditionally anymore
11244
11245         * gnome/applet/applet-dbus.h
11246                 - Expose nma_start_dbus_connection_watch()
11247
11248         * gnome/applet/applet.c
11249                 - (nma_update_state): no longer static, called from applet-dbus.c for
11250                         immediate UI updates on certain events
11251                 - (nma_set_running): new function; take over setting applet->running,
11252                         when not running (ie, NM is not active), don't activate the redraw
11253                         timeout because we're not showing the applet anyway.  When we are
11254                         running (ie, NM is active), and only when we're running, start the
11255                         redraw timeout.
11256                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11257                         kill any reconnection timeout
11258                 - (nma_get_instance): move one-off dbus initialization code here since
11259                         nm_dbus_init_helper() gets called more than once, possibly by the
11260                         reconnection timeout function too.  And, when we start up, if we
11261                         can't get a connection to the bus, start the reconnection timeout.
11262                         But don't start the redraw timeout yet, only do that when we get
11263                         NM's state and find out if it's running or not.
11264
11265         * gnome/applet/applet.h
11266                 - Add the reconnection GSource ID
11267                 - Add prototypes for nma_set_running() and the no-longer-static
11268                         nma_update_state()
11269
11270 2006-10-24  Dan Williams  <dcbw@redhat.com>
11271
11272         * src/vpn-daemons/nm-dbus-vpnc.c
11273                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11274                         pending call tracker
11275                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11276                         pending call tracker; register one-vpn-connection update pending
11277                         call in pending call tracker
11278                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11279                         update pending call in pending call tracker
11280                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11281                         update pending call in pending call tracker; don't block waiting
11282                         for call to return
11283
11284 2006-10-19  Robert Love  <rml@novell.com>
11285
11286         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11287           refresh the cache.
11288
11289 2006-10-14  Dan Williams  <dcbw@redhat.com>
11290
11291         * src/dhcp-manager/nm-dhcp-manager.c
11292                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11293                 the dbus connection and the device object path rather than
11294                 constructing it inside both functions.  Saves a bit of memory
11295                 and clarifies a failure path.
11296                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11297                 and allocate device path here rather than each of the two
11298                 functions above.
11299
11300 2006-10-13  Dan Williams  <dcbw@redhat.com>
11301
11302         * src/NetworkManager.c
11303                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11304                 this somehow droppout in the refactor
11305
11306 2006-10-13  Dan Williams  <dcbw@redhat.com>
11307
11308         * Huge DBus refactor:
11309                 - Create a "DBus Manager" object which manages the connection and
11310                 sends signals on NameOwnerChanged and connection/disconnection events,
11311                 handles reconnection to the bus if NM gets kicked off, and abstracts
11312                 signal handling
11313                 - Remove DBusConnection members from places where they are no
11314                 longer needed due to the refactor, like the dbus-connection
11315                 property of the named manager, and from NMData
11316                 - Reformats a bunch of the code to gnome style
11317                 (8-space tabs, braces on same line as statement, 80-col width).
11318                 Consider it open season to reformat any bits to gnome style.
11319                 style that aren't already.
11320
11321 2006-10-13  Dan Williams  <dcbw@redhat.com>
11322
11323         * src/supplicant-manager/Makefile.am
11324                 - Add new files
11325
11326         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11327                 - Make it a minimal GObject
11328
11329         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11330                 - Verify settings destined for wpa_supplicant
11331
11332         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11333                 - Minimal GObject to track wpa_supplicant controlled device
11334                 connections
11335
11336 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11337
11338         * gnome/applet/applet.c: (nma_update_info),
11339         (nma_act_stage_to_pixbuf), (nma_update_state):
11340         Mark missing strings for translation. Fixes bug #343306.
11341
11342 2006-10-01  Dan Williams  <dcbw@redhat.com>
11343
11344         * src/vpn-manager/nm-vpn-manager.c
11345                 - (nm_vpn_manager_load_services): split and clean up
11346                 for readability and correctness.  Restrict VPN service
11347                 files to ending in ".name", as was meant from the
11348                 beginning (but not coded in).  Better error reporting.
11349
11350 2006-10-01  Dan Williams  <dcbw@redhat.com>
11351
11352         * utils/nm-utils.h
11353                 - Clean up formatting of debug/info/warning log messages
11354
11355 2006-09-27  Robert Love  <rml@novell.com>
11356
11357         Patch by Tambet Ingo <tambet@ximian.com>:
11358         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11359           actually work.
11360
11361 2006-09-07  Dan Williams <dcbw@redhat.com>
11362
11363         * test/Makefile.am
11364           test/libnm-util/Makefile.am
11365           test/nm-supplicant-test.c
11366                 - Add test program emulating the way NM drives wpa_supplicant
11367                 to help debug supplicant issues
11368
11369 2006-08-24  Dan Williams <dcbw@redhat.com>
11370
11371         * configure.in
11372           src/Makefile.am
11373           src/supplicant-manager/Makefile.am
11374           src/supplicant-manager/nm-supplicant-manager.c
11375           src/supplicant-manager/nm-supplicant-manager.h
11376                 - Add skeleton bits of the wpa_supplicant manager
11377
11378 2006-08-24  Dan Williams <dcbw@redhat.com>
11379
11380         Patch from Ed Catmur:
11381         * src/NetworkManagerUtils.c
11382                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11383                 if netmask is 0 (Gnome #352634)
11384
11385 2006-08-17  Robert Love  <rml@novell.com>
11386
11387         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11388           package is now DBUS-enabled and listens for the NM signals.
11389
11390 2006-08-14  Dan Williams  <dcbw@redhat.com>
11391
11392         * Patch from Christian Persch <chpe gnome org>
11393         * configure.in
11394           po/LINGUAS
11395           vpn-daemons/openvpn/po/LINGUAS
11396           vpn-daemons/openvpn/configure.in
11397           vpn-daemons/pptp/po/LINGUAS
11398           vpn-daemons/pptp/configure.in
11399           vpn-daemons/vpnc/po/LINGUAS
11400           vpn-daemons/vpnc/configure.in
11401                 - Convert to LINGUAS method so translators don't have to modify
11402                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11403                 0.35 or higher
11404
11405 2006-08-14  Dan Williams  <dcbw@redhat.com>
11406
11407         Patch from Alex Smith <alex.extreme2@gmail.com>
11408         * configure.in
11409           src/backends/Makefile.am
11410           src/backends/NetworkManagerFrugalware.c
11411                 - Add support for Frugalware
11412
11413 2006-08-13  Dan Williams  <dcbw@redhat.com>
11414
11415         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11416         * src/nm-device-802-11-wireless.c
11417                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11418                 Gnome #346875
11419
11420 2006-08-13  Dan Williams  <dcbw@redhat.com>
11421
11422         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11423         * src/nm-ap-security.c
11424           src/nm-ap-security.h
11425                 - Add authentication_required bits for subclasses to specify whether
11426                 or not real authentication is required for connections, i.e. whether
11427                 the AP rejects us when an encryption key is wrong or not.
11428
11429         * src/nm-ap-security-wep.c
11430           src/nm-ap-security-wpa-eap.c
11431           src/nm-ap-security-wpa-psk.c
11432           src/nm-ap-security-leap.c
11433                 - Implement authentication_required appropriately for each method
11434
11435         * src/nm-device-802-11-wireless.c
11436                 - Be smarter about when to request a key; for example, using a wrong key
11437                 in WEP shared key mode previously just timed out and did not request
11438                 a new key
11439
11440 2006-08-13  Dan Williams  <dcbw@redhat.com>
11441
11442         * gnome/libnm_glib/libnm_glib.c
11443                 - dbus_connection_disconnect() -> dbus_connection_close() for
11444                 dbus >= 0.90
11445
11446 2006-08-07  Dan Williams  <dcbw@redhat.com>
11447
11448         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11449         * src/NetworkManagerSystem.c
11450                 - Respect specified MTU.  Gnome #344967
11451
11452 2006-08-07  Dan Williams  <dcbw@redhat.com>
11453
11454         * src/vpn-manager/nm-vpn-service.c
11455                 - Simplify print_vpn_config() arguments
11456
11457         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11458         * src/vpn-manager/Makefile.am
11459           src/vpn-manager/nm-vpn-service.c
11460                 - Add new API for passing VPN config options as a dict. Gnome #344967
11461
11462 2006-08-06  Dan Williams  <dcbw@redhat.com>
11463
11464         * gnome/applet/applet-dbus-devices.c
11465           gnome/applet/applet-dbus-vpn.c
11466           gnome/applet/applet-dbus.c
11467           gnome/applet/applet-dbus.h
11468           src/nm-dbus-nmi.c
11469           utils/nm-utils.c
11470           utils/nm-utils.h
11471                 - Make pending call tracking code generic,
11472                 so we can use it in NM as well as the applet
11473
11474 2006-08-06  Dan Williams  <dcbw@redhat.com>
11475
11476         * src/nm-activation-request.c
11477                 - Refcount pending call objects
11478
11479 2006-08-06  Dan Williams  <dcbw@redhat.com>
11480
11481         Patch from Christan Chiesa <christanc@gmail.com>
11482         * configure.in
11483                 - Tell sha1.c to use bigendian mode on PPC
11484
11485 2006-08-04  Robert Love  <rml@novell.com>
11486
11487         Glib Memory Slices!
11488         * configure.in: Require glib 2.10 or later.
11489         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11490           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11491           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11492           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11493           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11494           Memory Slices are the greatest thing since bread slices.
11495         * src/NetworkManagerAP.c: Also, fix memory leak.
11496
11497 2006-08-01  Robert Love  <rml@novell.com>
11498
11499         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11500
11501 2006-07-31  Robert Love  <rml@novell.com>
11502
11503         * src/backends/interface_parser.c: Declarations must begin the block.
11504
11505 2006-07-24  Dan Williams  <dcbw@redhat.com>
11506
11507         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11508         * src/backends/Makefile.am
11509           src/backends/NetworkManagerArch.c
11510           src/backends/NetworkManagerDebian.c
11511           src/backends/NetworkManagerGeneric.c
11512           src/backends/NetworkManagerGeneric.h
11513           src/backends/NetworkManagerGentoo.c
11514           src/backends/NetworkManagerPaldo.c
11515           src/backends/NetworkManagerRedHat.c
11516           src/backends/NetworkManagerSlackware.c
11517           src/backends/NetworkManagerSuSE.c
11518                 - Genericize common backend functions
11519
11520 2006-07-18  Robert Love  <rml@novell.com>
11521
11522         * configure.in: Add "--with-notify" option to allow disabling of
11523           libnotify support.
11524
11525 2006-07-13  Dan Williams  <dcbw@redhat.com>
11526
11527         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11528         * gnome/applet/applet.glade
11529           gnome/applet/Makefile.am
11530           gnome/applet/nm-gconf-wso.c
11531           gnome/applet/nm-gconf-wso-leap.c
11532           gnome/applet/nm-gconf-wso-leap.h
11533           gnome/applet/wireless-security-manager.c
11534           gnome/applet/wso-leap.c
11535           gnome/applet/wso-leap.h
11536           include/NetworkManager.h
11537           libnm-util/dbus-helpers.c
11538           libnm-util/dbus-helpers.h
11539           src/Makefile.am
11540           src/NetworkManagerAP.c
11541           src/nm-ap-security.c
11542           src/nm-ap-security-leap.c
11543           src/nm-ap-security-leap.h
11544                 - Add LEAP authentication support
11545
11546 2006-07-13  Dan Williams  <dcbw@redhat.com>
11547
11548         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11549         * configure.in
11550           src/backends/NetworkManagerArch.c
11551           src/backends/NetworkManagerDebian.c
11552           src/backends/NetworkManagerGentoo.c
11553           src/backends/NetworkManagerPaldo.c
11554           src/backends/NetworkManagerRedHat.c
11555           src/backends/NetworkManagerSlackware.c
11556           src/backends/NetworkManagerSuSE.c
11557                 - Convert hardcoding of 'ip' path to configure-time
11558                         detected one
11559
11560 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11561
11562         * configure.in: added ru to ALL_LINGUAS
11563
11564 2006-07-10  Dan Williams  <dcbw@redhat.com>
11565
11566         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11567         * src/nm-device.c
11568                 - (real_act_stage3_ip_config_start): don't infinite loop when
11569                         dhcdbd isn't running (Gnome #346845)
11570
11571 2006-07-09  Dan Williams  <dcbw@redhat.com>
11572
11573         * gnome/applet/applet.c
11574                 - (nma_destroy): don't pass NULL to notify_notification_close
11575                         (RH #197917)
11576
11577 2006-07-09  Dan Williams  <dcbw@redhat.com>
11578
11579         * gnome/applet/applet.c
11580                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11581
11582 2006-07-04  Tor Krill  <tor@krill.nu>
11583
11584         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11585         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11586         (nm_system_restart_mdns_responder), (ArchReadConfig),
11587         (nm_system_device_get_system_config):
11588                 - Explicitly check for DHCP configuration
11589                 - Check if daemons are running before starting them
11590
11591 2006-06-25  Dan Williams  <dcbw@redhat.com>
11592
11593         * libnm-util/dbus-dict-helpers.[ch]
11594           test/libnm-util/test-dbus-dict-helpers.c
11595                 - Add string array support
11596
11597 2006-06-24  Dan Williams  <dcbw@redhat.com>
11598
11599         * src/dhcp-manager/nm-dhcp-manager.c
11600                 - (nm_dhcp_manager_process_signal): clean up spacing
11601
11602 2006-06-21  Dan Williams  <dcbw@redhat.com>
11603
11604         * src/nm-dbus-device.c
11605                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11606                         through dbus
11607
11608 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11609
11610         * configure.in: Added 'lv' to ALL_LINGUAS
11611
11612 2006-06-19  Dan Williams  <dcbw@redhat.com>
11613
11614         * src/NetworkManagerAP.c
11615                 - Clarify usage of user_created
11616
11617         * src/nm-ap-security-wep.c
11618           src/nm-ap-security-wpa-eap.c
11619           src/nm-ap-security-wpa-psk.c
11620           src/nm-ap-security.c
11621           src/nm-ap-security.h
11622                 - s/user_created/adhoc, because we really do mean adhoc
11623
11624         Patch from Bernard Blackham <bernard@blackham.com.au>
11625         * src/nm-device-802-11-wireless.c         
11626                 - (supplicant_send_network_config): instead of user_created,
11627                         use adhoc, and do AP_SCAN 2 for adhoc networks
11628
11629 2006-06-18  Robert Love  <rml@novell.com>
11630
11631         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11632           we have a value to set.  Gconf generates a warning if `val' is NULL.
11633         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11634           unless we actually received a valid private key file passphrase or
11635           password.  Otherwise, we don't know to later ask the applet to pull
11636           the key from the keyring.
11637
11638 2006-06-17  Dan Williams  <dcbw@redhat.com>
11639
11640         * libnm-util/dbus-dict-helpers.[ch]
11641           test/libnm-util/test-dbus-dict-helpers.c
11642                 - Fixes for zero-length byte arrays
11643                 - Replace return values of 0 with FALSE for clarity
11644                 - Test zero-length byte arrays
11645
11646 2006-06-17  Dan Williams  <dcbw@redhat.com>
11647
11648         * libnm-util/dbus-dict-helpers.[ch]
11649           test/libnm-util/test-dbus-dict-helpers.c
11650                 - Add helpers for byte arrays
11651                 - Rework bits of the testcase
11652
11653 2006-06-16  Dan Williams  <dcbw@redhat.com>
11654
11655         * libnm-util/Makefile.am
11656         * libnm-util/dbus-dict-helpers.[ch]
11657                 - Add some helpers to take the pain out of using dict types in
11658                         dbus.
11659
11660         * test/libnm-util/Makefile.am
11661         * test/libnm-util/test-dbus-dict-helpers.c
11662                 - Test cases for the dict helper functions
11663
11664 2006-06-15  Robert Love  <rml@novell.com>
11665
11666         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11667           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11668           if there is no key to pass.
11669         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11670           receiving a non-NULL key.
11671
11672 2006-06-14  Robert Love  <rml@novell.com>
11673
11674         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11675           copy the strings.
11676
11677
11678 2006-06-14  Dan Williams  <dcbw@redhat.com>
11679
11680         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11681         * src/nm-device-802-11-wireless.c
11682                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11683                         or ones where the driver is unknown
11684                 - (supplicant_exec): don't wait for supplicant startup here
11685                 - (supplicant_interface_init): finer grained polling for supplicant
11686                         startup
11687
11688 2006-06-13  Robert Love  <rml@novell.com>
11689
11690         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11691           if it is currently set to TRUE.  Otherwise, we will reset the value
11692           when we connect normally.
11693         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11694           the old BSSID is valid, too.  The recently added ESSID check may not be
11695           sufficient (we can remove it?).  What we really want to catch is the
11696           case of going from all-zeros to the BSSID of some other network, which
11697           happens on failure.
11698
11699 2006-06-09  Dan Williams  <dcbw@redhat.com>
11700
11701         * src/NetworkManagerSystem.[ch]
11702                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11703                         it was unused and pointless
11704                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11705                         fix for set_up_down_with_iface change
11706
11707         * src/vpn-manager/nm-vpn-connection.c
11708                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11709
11710         * src/backends/NetworkManagerPaldo.c
11711           src/backends/NetworkManagerRedHat.c
11712           src/backends/NetworkManagerSuSE.c
11713           src/backends/NetworkManagerArch.c
11714           src/backends/NetworkManagerDebian.c
11715           src/backends/NetworkManagerGentoo.c
11716                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11717                         appropriate
11718                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11719                         where appropriate
11720
11721 2006-06-09  Dan Williams  <dcbw@redhat.com>
11722
11723         Patch from Peter Jones:
11724         * src/nm-device-802-11-wireless.c
11725                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11726                         SSID hasn't changed from what we expect before automatically
11727                         updating the saved BSSID from a new AP
11728
11729 2006-06-08  Robert Love  <rml@novell.com>
11730
11731         Add 'fallback' support.  NetworkManager will attempt to brute-force
11732         connect to networks marked as fallback if there are no better wireless
11733         connections available.  This is useful as a method of last resort, to
11734         work around driver problems, and for use with hidden networks.
11735         * gnome/applet/applet-dbus-devices.c,
11736           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11737         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11738           pass it on via DBUS.
11739         * gnome/applet/applet.c: No fallback by default.
11740         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11741           Update other-network-dialog to add UI checkbox toggling fallback.
11742         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11743           propery from AP object.  Add "fallback" property to AP object.
11744         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11745         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11746         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11747           separate function.  Add get_best_fallback_ap() for returning an AP
11748           on which to attempt fallback.
11749         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11750         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11751
11752 2006-06-07  Robert Love  <rml@novell.com>
11753
11754         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11755           checked that the return type was GCONF_VALUE_STRING, not the correct
11756           GCONF_VALUE_BOOL, and thus it never worked.
11757         * src/NetworkManagerAPList.c: Before concluding that two networks are
11758           identical based on their BSSID, make sure that the BSSID in question
11759           is actually valid.  Specifically, an empty or all zero BSSID does not
11760           cut it.
11761         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11762           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11763           similar invariant clean up.
11764
11765 2006-06-02  Robert Love  <rml@novell.com>
11766
11767         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11768
11769 2006-05-28  Dan Williams  <dcbw@redhat.com>
11770
11771         * gnome/applet/applet.glade
11772           gnome/vpn-properties/nm-vpn-properties.glade
11773                 - Set window icons on dialogs  (Gnome.org #333420)
11774
11775 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11776
11777         * gnome/vpn-properties/nm-vpn-properties.glade:
11778         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11779         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11780         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11781                 - Make the VPN properties pages prettier and more HIG
11782                   compliant. Gnome Bug #336913.
11783
11784 2006-05-28  Dan Williams  <dcbw@redhat.com>
11785
11786         Patch from Christian Persch <chpe@gnome.org>
11787         * gnome/vpn-properties/nm-vpn-properties.c
11788         * gnome/vpn-properties/nm-vpn-properties.glade
11789                 - HIG-ification love  (Gnome.org #336846)
11790
11791 2006-05-28  Dan Williams  <dcbw@redhat.com>
11792
11793         Patch from Christian Persch <chpe@gnome.org>
11794         * configure.in
11795           gnome/vpn-properties/nm-vpn-properties.c
11796                 - (main): Fix option parsing.  Gnome.org #336847
11797
11798 2006-05-28  Dan Williams  <dcbw@redhat.com>
11799
11800         * gnome/vpn-properties/nm-vpn-properties.c
11801                 - (find_vpn_ui_by_service_name): protect against NULL service names
11802                 - (update_edit_del_sensitivity): protect against NULL service names
11803                         Gnome.org #341306
11804
11805 2006-05-28  Dan Williams  <dcbw@redhat.com>
11806
11807         Patch from Chris Fuller <crf@grandecom.net>:
11808         * src/nm-device-802-11-wireless.c
11809                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11810                         don't dispose of wireless-specific stuff unless it is actually
11811                         initialized.  Gnome.org #341263
11812
11813 2006-05-28  Dan Williams  <dcbw@redhat.com>
11814
11815         * src/NetworkManagerPolicy.c
11816                 - (nm_policy_device_change_check): don't switch devices if the "best"
11817                         AP is essentially the same as the current activation request, but
11818                         the current activation request isn't done activating yet.  Fixes
11819                         multiple requests for keyring password on startup for Gnome applet.
11820                         Gnome.org #341297
11821
11822 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11823
11824         * src/NetworkManager.c: use GOptions instead of getopt
11825         * configure.in: bump glib required version to >= 2.6 for GOption
11826           support
11827
11828 2006-05-25  Robert Love  <rml@novell.com>
11829
11830         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11831           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11832           instead of dumping ifdef's throughout the code.
11833         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11834           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11835           use nm_ioctl_info() in lieu.
11836
11837 2006-05-25  Robert Love  <rml@novell.com>
11838
11839         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11840         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11841           not using gcrypt.  Otherwise, we get a linker error.
11842
11843 2006-05-25  Robert Love  <rml@novell.com>
11844
11845         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11846         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11847           configure flag to disable building of the GNOME-based applet.
11848
11849 2006-05-25  Robert Love  <rml@novell.com>
11850
11851         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11852           parameter from link, because it shadows a global variable with some
11853           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11854           should never have exported to the entire system a common four letter
11855           word.  But we here at NetworkManager are team players.  Fixes
11856           GNOME bug #336532.
11857
11858 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11859
11860         * configure.in: Added mk.po, Macedonian translation.
11861
11862 2006-05-24  Robert Love  <rml@novell.com>
11863
11864         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11865           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11866           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11867
11868 2006-05-24  Robert Love  <rml@novell.com>
11869
11870         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11871           libnm-util/Makefile.am, src/Makefile.am,
11872           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11873           vpn-daemons/openvpn/properties/Makefile.am,
11874           vpn-daemons/pptp/auth-dialog/Makefile.am,
11875           vpn-daemons/pptp/properties/Makefile.am,
11876           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11877           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11878           user passed for --datadir, if anything, when setting the GNOME locale
11879           directory.  It should be a function of the specified datadir and not
11880           the prefix.
11881
11882 2006-05-24  Robert Love  <rml@novell.com>
11883
11884         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11885           src/NetworkManager.c: Take care to call bindtextdomain with the
11886           location of msgid files.
11887         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11888           files.
11889
11890 2006-05-22  Robert Love  <rml@novell.com>
11891
11892         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11893           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11894           99% of the time there is a real problem with wireless, and a
11895           seemingly successful connection via Zeroconf just confuses the user.
11896           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11897
11898 2006-05-22  Robert Love  <rml@novell.com>
11899
11900         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11901           autofs on interface up if NIS is configured.  On interface down, do
11902           nothing.
11903
11904 2006-05-22  Robert Love  <rml@novell.com>
11905
11906         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11907           to avoid calling g_object_unref() on stale pointers on error in
11908           nma_icons_free().  This happens because we short-circuit loaded the
11909           icons on the first failure but then free all icons.  Normally we have
11910           no issue because the icons were zero'ed out malloc, but we have stale
11911           pointer data after nma_icon_theme_changed().
11912         * gnome/applet/main.c: Return error code if nma_new() failed.
11913
11914 2060-05-21  Dan Williams  <dcbw@redhat.com>
11915
11916         * initscript/NetworkManager.in
11917                 - Ensure both dhcdbd and named are started before NM
11918
11919 2006-05-21  Dan Williams  <dcbw@redhat.com>
11920
11921         * configure.in
11922                 - Bump version to 0.7 to signify we are in 0.7 development
11923
11924 2006-05-21  Dan Williams  <dcbw@redhat.com>
11925
11926         Patch from Adam Schreiber <sadam@clemson.edu>
11927         * gnome/vpn-properties/nm-vpn-properties.c
11928                 - (main): correct Gnome program name  (gnome.org #342498)
11929
11930 2006-05-21  Dan Williams  <dcbw@redhat.com>
11931
11932         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11933
11934         * src/NetworkManagerDbus.[ch]
11935                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11936                         clarify that function's argument should be an escaped dbus object
11937                         path, and look for path segment end before returning a match
11938         * src/nm-dbus-nm.c:
11939                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11940
11941 2006-05-17  Robert Love  <rml@novell.com>
11942
11943         Functionality to differentiate Ad-Hoc networks from infrastructure
11944         networks in the applet, by displaying a special icon:
11945         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11946         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11947         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11948           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11949           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11950           networks, encrypted or not.
11951         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11952           accessor functions to get and set the mode of a given network,
11953           wireless_network_get_mode() and wireless_network_set_mode().
11954
11955 2006-05-17  Robert Love  <rml@novell.com>
11956
11957         Functionality to automatically add BSSIDs to the allowed-MAC list as
11958         one roams from access point to access point on a given network:
11959         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11960           helper function to compare two ether_addr structures and return TRUE
11961           if they contain the same MAC address.
11962         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11963           prototype.
11964         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11965           stored with the current AP.  If the BSSID has indeed changed, we
11966           send it out to the applet, allowing the allowed-MAC list to grow
11967           automatically in response to roaming.
11968
11969 2006-05-16  Robert Love  <rml@novell.com>
11970
11971         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11972           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11973
11974 2006-05-13  Dan Williams  <dcbw@redhat.com>
11975
11976         * src/nm-device-802-3-ethernet.c
11977                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11978                         carrier detect (Debian bug #366373)
11979
11980 2006-05-11  Dan Williams  <dcbw@redhat.com>
11981
11982         Patch from Michael Biebl <biebl@teco.edu>
11983         * src/backends/NetworkManagerDebian.c
11984                 - Debian backend fixups
11985
11986 2006-05-10  Robert Love  <rml@novell.com>
11987
11988         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11989
11990 2006-05-09  Robert Love  <rml@novell.com>
11991
11992         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11993           private certificate passphrase, if any, in the GNOME Keyring.
11994         * libnm-utils/dbus-helpers.c: Update.
11995
11996 2006-05-05  Dan Williams  <dcbw@redhat.com>
11997
11998         * src/nm-device-802-11-wireless.c
11999                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12000                         nm_device_802_11_wireless_disable_encryption() since that's all
12001                         we use it for anymore; we don't ever set WEP keys ourselves.
12002                 - (real_deactivate_quickly): reset SSID and encryption keys
12003                 - (real_deactivate): move SSID and encryption key reset to
12004                         real_deactivate_quickly(), which gets run before us anyway
12005
12006 2006-05-05  Robert Love  <rml@novell.com>
12007
12008         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12009           root has a wacky default of its own (or, more common, a user has a
12010           bad umask and uses su/sudo to restart NetworkManager).  Anything
12011           other than 0022 does not do what we want with, for example,
12012           resolv.conf.  This problem is amplified by our judicious use of
12013           fopen(), which uses mode 0666 -- implying that the only way to get
12014           the permissions we want is with a umask of 0022.
12015
12016 2006-05-05  Dan Williams  <dcbw@redhat.com>
12017
12018         * gnome/libnm_glib/libnm_glib.c
12019                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12020                         to reconnect; instead wait a bit more with each reconnect attempt
12021                         up to a max of one minute.
12022
12023 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12024
12025         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12026           the WirelessNetwork structure using the proper function instead of
12027           just casting it directly to (const char *) (gnome.org #336991)
12028
12029 2006-05-03  Robert Love  <rml@novell.com>
12030
12031         * src/backends/NetworkManagerSuSE.c: Respect the variable
12032           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12033           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12034           to dynamically update /etc/resolv.conf.
12035
12036 2006-05-02  Peter Jones  <pjones@redhat.com>
12037
12038         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12039
12040 2006-05-02  Robert Love  <rml@novell.com>
12041
12042         Patch by Timo Hoenig;
12043         * tests/nm-online.c: Print pretty status indicator as timeout winds
12044           down.  Also fix possible race between DBUS startup and failure
12045           return.
12046
12047 2006-05-01  Robert Love  <rml@novell.com>
12048
12049         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12050           empty, too.
12051
12052 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12053
12054         * src/nm-device.c (discover_device_type): Actually use the hal
12055         device type instead of ioctl poking
12056
12057 2006-04-26  Robert Love  <rml@novell.com>
12058
12059         * tests/nm-online.c: New file.  Simple utility that returns exit status
12060           noting whether the connection is offline or online.  If offline on
12061           start, it waits 30 seconds (or a command-line given value) for an
12062           online signal.  If it times out, it again returns offline.  This is
12063           useful for scripts that want to wait for network connections.
12064
12065 2006-04-25  Robert Love  <rml@novell.com>
12066
12067         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12068           key mode (the authentication algorithm), e.g. open or shared, when we
12069           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12070           only shared was broken.  If the user specified a shared key, set it
12071           explicitly, otherwise let wpa_supplicant go with the default.
12072
12073 2006-04-24  Dan Williams  <dcbw@redhat.com>
12074
12075         * src/nm-device-802-11-wireless.c
12076                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12077
12078 2006-04-24  Dan Williams  <dcbw@redhat.com>
12079
12080         Commit the async scanning patch
12081
12082         * src/nm-device-802-11-wireless.c
12083                 - get rid of scan_mutex
12084                 - (wireless_event_helper): act on wireless scan events
12085                 - (real_start): schedule a pending scan
12086                 - (link_to_specific_ap): fake the link to the AP during a scan
12087                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12088                         strength during scans
12089                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12090                         nm_device_set_bitrate): unused with new scanning code, disable
12091                 - (nm_device_wireless_schedule_scan): removed
12092                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12093                 - (request_and_convert_scan_results): new function; retrieve scan
12094                         results from the driver and schedule the processing function
12095                 - (scan_results_timeout): timeout triggered when card doesn't send
12096                         a scan results wireless event during a certain interval
12097                 - (schedule_scan_results_timeout): new function; schedule the scan
12098                         results timeout
12099                 - (cancel_scan_results_timeout): new function; cancel the scan
12100                         results timeout
12101                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12102                         to do the scanning.  Otherwise, just request a scan but don't
12103                         grab results here; instead schedule a timeout for scan results and
12104                         let netlink notify us of scan completion events
12105                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12106                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12107                 - (supplicant_status_cb): ignore disconnect events while scanning
12108                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12109                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12110                         timeouts
12111                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12112
12113 2006-04-24  Dan Williams  <dcbw@redhat.com>
12114
12115         * gnome/applet/applet-dbus.c
12116                 - Disable the pending call debug stuff, seems under control now
12117
12118 2006-04-20  Robert Love  <rml@novell.com>
12119
12120         Fix bug where hidden ESSID's would not show up in the applet, even
12121         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12122         because nm_policy_device_list_update_from_allowed_list() would merge
12123         the data, putting a name to the hidden networks, but never notify NMI
12124         of the changes.  Simple fix is to invoke the function
12125         nm_dbus_signal_wireless_network_change() if we make a mapping.
12126         * src/NetworkManagerAPList.c: Call the function
12127           nm_dbus_signal_wireless_network_change() if we made a successful
12128           BSSID to ESSID mapping, notifying the applet of the "new" network.
12129         * src/NetworkManagerAPList.h: Update the prototypes for both
12130           nm_ap_list_copy_essids_by_address() and
12131           nm_ap_list_copy_one_essid_by_address().
12132
12133 2006-04-20  Robert Love  <rml@novell.com>
12134
12135         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12136           not set.  Just return zero.
12137
12138 2006-04-20  Robert Love  <rml@novell.com>
12139
12140         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12141           only one copy of nm-vpn-properties is running at a time via the 'ol
12142           X selection trick.  This prevents the user from opening two "VPN
12143           Connections" windows from within the applet, which leads to mass
12144           hysteria.
12145         * clipboard.c: New file, implementing simple X selection logic.
12146         * clipboard.h: New file.
12147         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12148
12149 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12150
12151         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12152         * configure.in
12153           initscript/Gentoo/Makefile.am
12154           initscript/Gentoo/NetworkManagerDispatcher.in
12155                 - New script
12156         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12157           Gentopia
12158
12159 2006-04-16  Dan Williams  <dcbw@redhat.com>
12160
12161         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12162         * configure.in
12163           initscript/Slackware/Makefile.am
12164           initscript/Slackware/rc.networkmanager-dispatcher.in
12165           initscript/Slackware/rc.networkmanager.in
12166                 - Update slackware initscripts
12167
12168 2006-04-10  Robert Love  <rml@novell.com>
12169
12170         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12171           the "delete_event" signal on the druid's parent window and handle it
12172           our way, lest using the WM to close the druid results in a series of
12173           bloody and ultimately lethal errors.
12174
12175 2006-04-10  Robert Love  <rml@novell.com>
12176
12177         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12178           'Back' too or else the 'Forward' option is initially disabled despite
12179           valid input.
12180
12181 2006-04-06  Robert Love  <rml@novell.com>
12182
12183         Fix bad but simple bug where an active modem connection did not update
12184         NM's connection state, breaking any app that did online/offline:
12185         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12186           represented whether a dial up connection is active, or not.
12187         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12188           to modem activation and deactivation.
12189         * src/NetworkManagerDbus.c: When asked our state, do not return
12190           disconnected if the modem is active.
12191
12192 2006-04-04  Robert Love  <rml@novell.com>
12193
12194         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12195           applet.  It just confuses the crap out of people and does not make a
12196           lot of sense, as the daemon still runs.
12197
12198 2006-04-02  Tor Krill  <tor@krill.nu>
12199
12200         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12201           in start of service.
12202         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12203           get Archlinux backend up to date.
12204
12205 2006-03-29  Robert Love  <rml@novell.com>
12206
12207         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12208         to add support for per-route MSS and improve support for per-interface
12209         MTU:
12210         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12211           optionally take an MSS parameter and set it for the given route.
12212           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12213           NMIP4Config's stored MSS, if any.
12214         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12215           the interface's MTU and the route's MSS, respectively.  Add functions
12216           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12217           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12218           MSS.
12219         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12220           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12221           nm_ip4_config_set_mss.
12222         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12223           VPN daemon.
12224         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12225           Change the retval of nm_system_get_mtu to guint32.
12226         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12227           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12228           servers can specify MTU's, we should set it here if the MTU was not
12229           provided.
12230
12231 2006-03-27  Jürg Billeter  <j@bitron.ch>
12232
12233         * configure.in:
12234         * initscript/Makefile.am:
12235         * initscript/paldo/Makefile.am:
12236         * initscript/paldo/NetworkManager.in:
12237         * initscript/paldo/NetworkManagerDispatcher.in:
12238         * src/backends/Makefile.am:
12239         * src/backends/NetworkManagerPaldo.c:
12240                 - Add paldo support
12241
12242 2006-03-27  Dan Williams  <dcbw@redhat.com>
12243
12244         Patch from Christian Persch <chpe@gnome.org>
12245         * gnome/applet/applet.glade
12246                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12247
12248 2006-03-27  Dan Williams  <dcbw@redhat.com>
12249
12250         Patch from Diffe <diffie@blazebox.homeip.net>
12251         * src/backends/NetworkManagerSlackware.c
12252                 - Don't restart howl, since it's been replaced by Avahi
12253                         in most distributions
12254
12255 2006-03-27  Dan Williams  <dcbw@redhat.com>
12256
12257         Patch from Tor Krill <bugzilla@krill.nu>
12258         * configure.in
12259           initscript/Makefile.am
12260           src/backends/Makefile.am
12261           src/backends/NetworkManagerArch.c
12262           initscript/Arch/Makefile.am
12263           initscript/Arch/networkmanager-dispatcher.in
12264           initscript/Arch/networkmanager.in
12265                 - Add Arch Linux support, fixes gnome.org #335147
12266
12267 2006-03-27  Dan Williams  <dcbw@redhat.com>
12268
12269         Patch from Diffe <diffie@blazebox.homeip.net>
12270      * initscript/Slackware/rc.networkmanager
12271         - update, fixed gnome.org #333368
12272
12273 2006-03-27  Robert Love  <rml@novell.com>
12274
12275         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12276           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12277
12278 2006-03-27  Robert Love  <rml@novell.com>
12279
12280         Patch by Jürg Billeter <j@bitron.ch>:
12281         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12282           systems.
12283         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12284           as we prefer glibc over kernel headers, if possible.
12285
12286 2006-03-27  Robert Love  <rml@novell.com>
12287
12288         Patch by Jon Escombe <list@dresco.co.uk>:
12289         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12290         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12291           fail, don't bail out.  We don't expect all of the various WPA-EAP
12292           values to be present.
12293         * src/nm-ap-security.c: We need to match all capabilities for each
12294           encryption type, not any one of them.
12295
12296 2006-03-27  Robert Love  <rml@novell.com>
12297
12298         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12299           restart, not reload, ypbind.  Unfortunately there is no superior
12300           solution.
12301
12302 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12303
12304         * gnome/applet/applet-notifications.c:
12305         When displaying a notification, make sure to get rid of the
12306         previous notification so as to not have competing bubbles,
12307         and stop leaking the old one.
12308
12309         * gnome/applet/applet.c:
12310         * gnome/applet/applet.h:
12311         Add a new 'notification' member to the applet, and zero it out
12312         and free it appropriately.
12313
12314 2006-03-23  Robert Love  <rml@novell.com>
12315
12316         Patch by j <j@bootlab.org>:
12317         * gnome/applet/applet.glade: Don't set the invisible_char property,
12318           which simply overrides the GTK default.  By and by, this behavior
12319           ought to be fixed in Glade.
12320
12321 2006-03-22  Robert Love  <rml@novell.com>
12322
12323         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12324
12325 2006-03-22  Robert Love  <rml@novell.com>
12326
12327         Bug fix by Timo Hoenig <thoenig@suse.de>:
12328         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12329           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12330           and the applet going AWOL.
12331
12332 2006-03-22  Robert Love  <rml@novell.com>
12333
12334         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12335           preprocessor define and use it instead of open-coded the DHCP
12336           timeout, which is currently 25 seconds, everywhere.
12337
12338 2006-03-22  Robert Love  <rml@novell.com>
12339
12340         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12341         key exchange via WPA, ostensibly providing good security without
12342         requiring hardware that supports full WPA.  Also, add UI elements to
12343         allow the user to select the pairwise & group cipher for WPA Enterprise
12344         networks, too:
12345         * gnome/applet/applet.glade: Update glade file.
12346         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12347           key type, too, to and from gconf.
12348         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12349           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12350           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12351           the capabilities match.
12352         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12353           prototype.
12354         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12355           serialize from UI to DBUS.
12356         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12357           one element.
12358         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12359           nmu_security_serialize_wpa_eap_with_cipher(), and
12360           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12361           serialize/deserialize the key type via DBUS as the new third DBUS
12362           parameter.
12363         * libnm-util/dbus-helpers.h: Update prototypes.
12364         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12365           too.  If the key type is WEP104, do Dynamic WEP, which means
12366           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12367           pairwise and group ciphers (fixes a FIXME).
12368
12369 2006-03-21  Robert Love  <rml@novell.com>
12370
12371         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12372           nm_system_get_mtu(), which returns a user-provided or system-mandated
12373           MTU value for a given device, if any, or zero if no such value
12374           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12375           if we have a provided value.
12376         * src/nm-device.c: Set the MTU of devices.
12377         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12378         * src/backends/NetworkManagerDebian.c,
12379           src/backends/NetworkManagerGentoo.c,
12380           src/backends/NetworkManagerRedHat.c,
12381           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12382
12383 2006-03-21  Robert Love  <rml@novell.com>
12384
12385         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12386           configuration file.
12387
12388 2006-03-17  Robert Love  <rml@novell.com>
12389
12390         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12391           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12392           it, in case it is not running in the first place.  We just want its
12393           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12394
12395 2006-03-15  Robert Love  <rml@novell.com>
12396
12397         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12398           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12399           label "WEP 40/128-bit" is inconsistent because the physical key size
12400           is 40 or 104-bits, to which a 24-bit initialisation vector is
12401           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12402           to read "40/104" or "64/128".  I do not care much which, but most
12403           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12404           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12405           WEP passphrase support only handles 128-bit keys, and any future
12406           64-bit passphrase support will require a new option (no way to auto-
12407           detect the target key size), explicitly label our passphrase support
12408           "WEP 128-bit Passphrase".
12409
12410 2006-03-15  Robert Love  <rml@novell.com>
12411
12412         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12413           the system init scripts (or some other mechanism) starting it (or a
12414           compatible DBUS service) before NetworkManager runs.  This means that
12415           distributions might need to update their init scripts.  This fixes
12416           possible races and is quite a bit cleaner.
12417         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12418           starting the NetworkManager daemon.
12419
12420
12421 2006-03-14  Robert Love  <rml@novell.com>
12422
12423         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12424           before adding anything.
12425
12426 2006-03-13  Robert Love  <rml@novell.com>
12427
12428         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12429           widgets, too, if they exist, in case the user hit the back button.
12430           Fixes a bug where the details page contains the widgets of multiple
12431           VPN modules (Novell bug #157048).
12432
12433 2006-03-13  Robert Love  <rml@novell.com>
12434
12435         Patch by Timo Hoenig <thoenig@suse.de>:
12436         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12437           daemon survive DBUS restarts, too.
12438
12439 2006-03-10  Robert Love  <rml@novell.com>
12440
12441         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12442           passphrase or key.
12443         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12444           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12445           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12446           in response to "toggled" signal on new toggle.
12447
12448 2006-03-10  Robert Love  <rml@novell.com>
12449
12450         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12451           serialization if strings are NULL, lest DBUS get angry.
12452
12453 2006-03-10  Robert Love  <rml@novell.com>
12454
12455         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12456
12457 2006-03-09  Robert Love  <rml@novell.com>
12458
12459         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12460           configurations.
12461
12462 2006-03-09  Dan Williams  <dcbw@redhat.com>
12463
12464         Track pending call requests in the applet, and report how many are
12465         outstanding, and how long each completed one takes.
12466         
12467         * gnome/applet/applet-dbus-devices.c
12468           gnome/applet/applet-dbus-vpn.c
12469                 - Track pending calls
12470
12471         * gnome/applet/applet-dbus.[ch]
12472                 - Remove some unused enums
12473                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12474                         new functions to track dbus pending calls and spit out some
12475                         statistics about them
12476
12477 2006-03-09  Robert Love  <rml@novell.com>
12478
12479         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12480           nm_ap_set_timestamp() take the second and micro-second parameters as
12481           direct arguments, which avoids both a dynamic memory allocation and a
12482           structure-to-structure copy!  Add a new interface, the aptly named
12483           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12484           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12485           the return from nm_ap_get_timestamp().  New users should use the new
12486           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12487           the extreme benefit to performance.
12488         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12489           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12490
12491 2006-03-08  Robert Love  <rml@novell.com>
12492
12493         * gnome/applet/applet.glade: Hide the password entry text with
12494           asterisks.
12495
12496 2006-03-08  Robert Love  <rml@novell.com>
12497
12498         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12499           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12500           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12501           a second argument, NMData.
12502         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12503         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12504           config files as trusted.
12505
12506 2006-03-06  Robert Love  <rml@novell.com>
12507
12508         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12509         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12510           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12511           Rivera, detect if the applet was auto-started.  If so, ask the user
12512           if he or she would like to stop automatically running the applet on
12513           login.  If so, disable autostart.
12514
12515 2006-03-06  Robert Love  <rml@novell.com>
12516
12517         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12518           directory in CFLAGS so developers can actually use NetworkManager.h.
12519
12520 2006-03-06  Robert Love  <rml@novell.com>
12521
12522         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12523           open-coded integer constants.  Add state_to_string() to map a given
12524           state to a textual description, and provide that when notifying of
12525           state change.
12526         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12527           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12528           this header directly, but it is currently not installed on most
12529           systems.
12530
12531 2006-03-05  Dan Williams  <dcbw@redhat.com>
12532
12533         Process netlink messages in device subclasses rather than in
12534         NetworkManager.c.  Also add support for recognizing Wireless Events.
12535         
12536         * configure.in
12537                 - Find GLIB_GENMARSHAL
12538
12539         * src/Makefile.am
12540                 - Since we're marshalling custom types for wireless event signals,
12541                         we get to create our own marshallers using GLIB_GENMARSHAL
12542
12543         * src/NetworkManager.c
12544                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12545                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12546                         cut down somewhat.  We no longer process signals here.
12547                 - (nm_data_new): create the netlink monitor here, and remove a
12548                         useless call to nm_policy_schedule_device_change_check()
12549                 - (nm_data_free): get rid of the netlink monitor here
12550                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12551                 - (main): don't create the netlink monitor here, let nm_data_new
12552                         do that.  Call nm_policy_schedule_device_change_check() right
12553                         before we jump to the mainloop to figure out which device
12554                         to use first
12555
12556         * src/NetworkManagerSystem.[ch]
12557                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12558                         convert back and forth from interface names to interface
12559                         indexes
12560
12561         * src/nm-device-802-11-wireless.c
12562                 - (real_init): connect to wireless-event signals from the netlink
12563                         monitor object
12564                 - (nm_device_802_11_wireless_event): new function, schedule handler
12565                         for wireless event signals from the netlink monitor object.  We
12566                         want the handler to run in the device's context
12567                 - (wireless_event_helper): handle wireless-event signals from netlink
12568                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12569                         signal handler
12570
12571         * src/nm-device-802-11-wireless.h
12572                 - remove unused prototype for nm_device_802_11_wireless_new
12573
12574         * src/nm-device-802-3-ethernet.c
12575                 - (real_init): new function; set up signal handlers for link events
12576                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12577                         handler for netlink link activated events on device's main loop
12578                 - (link_activated_helper): when we get a link activated event, set
12579                         the device's link to be active
12580                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12581                         handler for netlink link deactivated events on device's main loop
12582                 - (link_deactivated_helper): when we get a link deactivated event, set
12583                         the device's link to be inactive
12584                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12585                         dispose
12586
12587         * src/nm-device-802-3-ethernet.h
12588                 - remove unused prototype for nm_device_802_3_ethernet_new
12589
12590         * src/nm-device.[ch]
12591                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12592                         but locks the device list
12593                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12594
12595         * src/nm-netlink-monitor.[ch]
12596                 - (nm_netlink_monitor_class_install_signals): New signal
12597                         "wireless-event"
12598                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12599                         at the device list
12600                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12601
12602         * src/nm-marshal-main.c
12603                 - Include generated nm-marshal.c and nm-marshal.h
12604
12605         * src/nm-marshal.list
12606                 - List of custom marshal functions
12607
12608 2006-03-05  Dan Williams  <dcbw@redhat.com>
12609
12610         * gnome/applet/applet-notifications.h
12611                 - Protect prototype of nma_send_event_notification() because it
12612                         includes libnotify-specific types
12613                 - Include libnotify/libnotify.h too, since we technically need it
12614
12615         * gnome/applet/applet.c
12616                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12617                 - (nma_show_vpn_login_banner_dialog): add some error checking
12618
12619 2006-03-04  Dan Williams  <dcbw@redhat.com>
12620
12621         Clean up activation cancellation.  Should be a lot faster now.  Observed
12622         an issue with wireless devices between stage 2 and 3 of activation, where
12623         activation would be cancelled, but the device thread wouldn't notice until
12624         the supplicant association timed out.  Reorganize activation such that
12625         a cancellation handler gets immediately scheduled in the device's thread,
12626         and devices have a chance to perform any custom cleanup too.
12627
12628         * src/nm-device.[ch]
12629                 - (activation_cancel_handler): new device-type-specific function
12630                         for cleaning up device-type-specific stuff on cancellation
12631                 - (cancel_activation): removed
12632                 - (nm_device_activation_cancel): subsume functionality of
12633                         real_cancel_activation, but instead of doing anything, punt
12634                         operation to a handler that's run in device-thread context
12635                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12636                         a warning message
12637                 - (activation_handle_cancel_helper): cancellation handler run in
12638                         device-thread context, calls device-type-specific cancelation,
12639                         then tears down the activation request
12640                 - (real_activation_cancel_handler): generic cancellation handler,
12641                         deals with cancelling any in-process DHCP request
12642                 - (nm_device_activate_stage1_device_prepare,
12643                    nm_device_activate_stage2_device_config,
12644                    nm_device_activate_stage3_ip_config_start,
12645                    nm_device_activate_stage4_ip_config_get,
12646                    nm_device_activate_stage4_ip_config_timeout,
12647                    nm_device_activate_stage5_ip_commit): don't call
12648                         nm_device_schedule_activation_handle_cancel() any more, since
12649                         cancellation will have been already scheduled for us by
12650                         nm_device_activation_cancel().  Just exit the function and
12651                         assume that the cancel handler will be called next.
12652
12653         * src/nm-device-802-3-ethernet.c
12654                 - (real_act_stage2_config): remove; didn't do anything anyway
12655
12656         * src/nm-device-802-11-wireless.c
12657                 - (supplicant_status_cb): ensure we don't do anything if the activation
12658                         got cancelled
12659                 - (real_activation_cancel_handler): implement; cancel user key request
12660                         on activation cancellation
12661
12662 2006-03-04  Dan Williams  <dcbw@redhat.com>
12663
12664         * src/nm-device-802-11-wireless.c
12665                 - (supplicant_send_network_config): assume that drivers that don't
12666                         support WPA pretty much suck, and can't handle NM scanning
12667                         along with wpa_supplicant.
12668
12669 2006-03-03  Robert Love  <rml@novell.com>
12670
12671         * configure.in: Bump version to 0.6.0.
12672         * NEWS: Update.
12673
12674 2006-03-03  Robert Love  <rml@novell.com>
12675
12676         * configure.in: Require DBUS 0.60 or later.
12677
12678 2006-03-03  Dan Williams  <dcbw@redhat.com>
12679
12680         Fix a crash if an "Other wireless network" was chosen, failed, then
12681         chosen again from the applet's menu.  If the other network wasn't
12682         noticed in a scan, it wouldn't have any capabilities, but would still
12683         be listed because the user forced the network.  To fix this, we set
12684         sensible capabilities on the forced network, which will get overwritten
12685         with the correct ones if the network shows up later in a scan.
12686         
12687         * src/nm-ap-security.h
12688                 - Add a new "get_default_capabilities_func" member to the
12689                         NMAPSecurity class
12690
12691         * src/nm-ap-security.c
12692                 - (nm_ap_security_get_default_capabilities): new function
12693
12694         * src/nm-ap-security.c
12695           src/nm-ap-security-wep.c
12696           src/nm-ap-security-wpa-psk.c
12697           src/nm-ap-security-wpa-eap.c
12698                 - Implement get_default_capabilities_func() for all, which
12699                         uses the information contained in a specific NMAPSecurity
12700                         object to determine default AP capabilites necessary
12701                         to support that object
12702
12703         As a secondary measure, we now prune artificial access points that fail
12704         to be activated right away.  The thing failed, and we have no scan data for
12705         it, so it's pretty much useless since security information is only saved
12706         in the applets when a connection is successful.
12707
12708         * src/NetworkManagerAPList.c
12709                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12710                         not artificial.  If we see it, it's no longer a figment of the
12711                         user's imagination :)
12712
12713         * src/NetworkManagerPolicy.c
12714                 - (nm_policy_activation_failed): send along the failed AP if we
12715                         have it
12716
12717         * src/nm-device-802-11-wireless.c
12718                 - (real_activation_failure_handler): remove artificial APs from
12719                         the device list, because activation failed
12720
12721 2006-03-02  Robert Love  <rml@novell.com>
12722
12723         Add support for retrieving both the per-device speed and the
12724         per-network maximum supported rate.  Then change the getProperties
12725         DBUS API for both networks and devices to report this informaiton.
12726         Finally, display the information via both nm-applet and nm-tool:
12727         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12728           and set it.
12729         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12730           Information' dialog.
12731         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12732         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12733           network_device_get_speed() and network_device_set_speed() for
12734           retrieving and setting, respectively, a network device's current
12735           speed.
12736         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12737         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12738           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12739           not matter (yet) what the units are, because we only feed it its own
12740           output.  Implement SIOCGIRATE and set the per-network maximum
12741           supported rate during scanning.
12742         * src/nm-device-802-11-wireless.h: Export the function
12743           nm_device_802_11_wireless_get_bitrate().
12744         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12745           function nm_device_802_3_ethernet_get_speed() for returning an
12746           802.3's current speed, in Mb/s.
12747         * test/nm-tool.c: Display the per-device current speed, if available,
12748           and the per-network maximum rate.
12749
12750 2006-03-02  Dan Williams  <dcbw@redhat.com>
12751
12752         * src/nm-device-802-11-wireless.c
12753                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12754                         card when it gets initialized.  Since devices don't get added to
12755                         the scan list until they are initialized, this function wasn't
12756                         setting the intitial scan interval correctly, and was leaving
12757                         it at 0.  This caused cards to get many scan requests in a short
12758                         amount of time when they were initialized
12759
12760 2006-03-02  Robert Love  <rml@novell.com>
12761
12762         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12763           active device.  But do not do what we used to do and override the
12764           state, which caused the dreaded icon race of '05.
12765
12766 2006-03-02  Robert Love  <rml@novell.com>
12767
12768         Commit Dan's update of my previous commit:
12769         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12770           set_mode() function itself does the check.  But do only set the
12771           frequency if in Ad-Hoc mode.
12772
12773 2006-03-02  Robert Love  <rml@novell.com>
12774
12775         Patch by Brian Magnuson <magnuson@rcn.com>:
12776         * src/nm-device-802-11-wireless.c: During scanning, only set the
12777           wireless mode to infrastructure if it is not currently in
12778           infrastructure mode.  For some driver, setting the mode is a costly
12779           operation, apparently.
12780
12781 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12782
12783         * Makefile.am: use the correct dir for autostart mechanism.
12784
12785 2006-02-28  Dan Williams  <dcbw@redhat.com>
12786
12787         Patch from Brian Magnuson <magnuson@rcn.com>
12788         * gnome/applet/applet.c
12789                 - (nma_show_vpn_failure_dialog): fix errors left over from
12790                         libnotify support changes
12791
12792 2006-02-28  Dan Williams  <dcbw@redhat.com>
12793
12794         * src/vpn-manager/nm-vpn-act-request.[ch]
12795                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12796                         just one value
12797                 - (nm_vpn_act_request_is_failed): new function; return whether or
12798                         not the vpn activation request has failed
12799
12800         * src/vpn-manager/nm-vpn-manager.c 
12801                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12802                         daemon to kill the connection when the activation request fails.
12803                         Fixes issue where NM would get confused if the VPN activation
12804                         request timed out, and would not allow further VPN connections
12805                         on that service.
12806
12807 2006-02-28  Dan Williams  <dcbw@redhat.com>
12808
12809         * gnome/applet/applet.c
12810                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12811                         overlapping connection requests, disable all VPN menu items
12812                         but the active VPN connection
12813
12814 2006-02-28  Dan Williams  <dcbw@redhat.com>
12815
12816         * src/vpn-manager/nm-vpn-connection.c
12817                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12818                         called g_object_unref() on the connection's parent device
12819                         when it should have been ref-ed instead.  Fixes crash with
12820                         repeated vpn connect requests
12821
12822 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12823
12824         * gnome/applet/applet.glade:
12825         Mark a few strings non-translatable, since they shouldn't be.
12826
12827 2006-02-28  Dan Williams  <dcbw@redhat.com>
12828
12829         * src/vpn-manager/nm-vpn-service.c
12830                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12831                         already running, don't blindly ask it to connect, but wait until
12832                         it's in the STOPPED state first.  Fixes an assertion when user
12833                         starts a second vpn connection without stopping the first.
12834                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12835                         dbus service exists before continuing with the connection
12836                         process, and reduce latency while waiting for it to become
12837                         available
12838                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12839                         waiting for the vpn service daemon to become available
12840                 - General log message cleanups; show progress via "Stage x of 4"
12841                         rather than not telling anyone how many stages there are
12842
12843 2006-02-28  Robert Love  <rml@novell.com>
12844
12845         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12846         * src/backends/NetworkManagerSuSE.c: Implement the interface
12847           nm_system_should_modify_resolv_conf() for SUSE.
12848         * src/backends/NetworkManagerDebian.c,
12849           src/backends/NetworkManagerGentoo.c,
12850           src/backends/NetworkManagerRedHat.c,
12851           src/backends/NetworkManagerSlackware.c: Add stub.
12852         * src/named-manager/Makefile.am: Grab includes from src.
12853         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12854           automatic updating of resolv.conf.  This is useful for testing,
12855           broken static configurations, and administrator lock-down.
12856
12857 2006-02-28  Dan Williams  <dcbw@redhat.com>
12858
12859         * src/nm-device-802-11-wireless.c
12860                 - Move all the wpa_supplicant-related management stuff into its
12861                         own struct, just for oranization's sake
12862                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12863                         to a GIOChannel/GSource
12864                 - (supplicant_log_stdout): new function; grab output from the
12865                         wpa_supplicant stdout pipe and write it to our logs.
12866
12867 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12868
12869         * src/nm-device-802-11-wireless.c:
12870         Err, fix thinko in my previous commit.
12871
12872 2006-02-28  Robert Love  <rml@novell.com>
12873
12874         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12875
12876 2006-02-28  Robert Love  <rml@novell.com>
12877
12878         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12879           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12880           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12881           deserializers are responsible for freeing the returned DBUS strings.
12882
12883 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12884
12885         * src/nm-device-802-11-wireless.c:
12886         The scan list is being pruned prematurely.  We should prune after
12887         the device has gone MIA for three scans, not one.  Split out the
12888         interval to realtime seconds function to better serve this.
12889
12890 2006-02-27  Robert Love  <rml@novell.com>
12891
12892         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12893           Open the pid file O_TRUNC, so if it already exists we truncate it to
12894           zero length.  Also, be more verbose about warnings generated during
12895           writing out the pid file.  Finally, always write out the pid file if
12896           in daemon mode.  Use "--pid-file" to override the default.
12897
12898 2006-02-27  Robert Love  <rml@novell.com>
12899
12900         Patch by R. Vinay <rvinay@novell.com>:
12901         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12902           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12903           Novell bug #153628).
12904           
12905 2006-02-27  Robert Love  <rml@novell.com>
12906
12907         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12908           entry so user can hit <ENTER> after entering passphrase (Novell bug
12909           #153738).
12910
12911 2006-02-27  Dan Williams  <dcbw@redhat.com>
12912
12913         * gnome/applet/*
12914                 - Mass search/replace of:
12915                         nmwa -> nma
12916                         NMWirelessApplet -> NMApplet
12917                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12918                    (it ain't just for wireless anymore, ma!)
12919                 - Fix duplicate function name printing when using nm_warning
12920                 - wireless-applet.glade -> applet.glade
12921
12922 2006-02-27  Dan Williams  <dcbw@redhat.com>
12923
12924         * dispatcher-daemon/NetworkManagerDispatcher.c
12925                 - Accept --pid-file with a path to a pidfile, write it out on
12926                         startup, and delete it on shutdown
12927
12928         * src/NetworkManager.c
12929                 - Accept --pid-file with a path to a pidfile, write it out on
12930                         startup, and delete it on shutdown
12931                 - Move nm_print_usage() lower
12932
12933         * initscripts/RedHat/NetworkManager.in
12934                 - Use new --pid-file option
12935                 - Fix service stopping to wait a bit for NM to quit
12936
12937         * initscripts/RedHat/NetworkManagerDispatcher.in
12938                 - Use new --pid-file option
12939
12940 2006-02-26  Dan Williams  <dcbw@redhat.com>
12941
12942         * src/Makefile.am
12943                 - make and install nm-crash-logger
12944
12945         * src/nm-logging.[ch]
12946                 - New files; consolidate logging and crash handling
12947
12948         * src/nm-crash-logger.c
12949           src/gdb-cmd
12950                 - Standalong crashlogger for NM, grab a backtrace
12951                         using GDB
12952
12953         * src/NetworkManager.[ch]
12954                 - Remove signal handling and put it into nm-logging.c
12955
12956 2006-02-26  Dan Williams  <dcbw@redhat.com>
12957
12958         * configure.in
12959           gnome/applet/Makefile.am
12960                 - Conditionalize all the notify stuff
12961
12962         Merge most of Chris Aillon's notification patch:
12963         
12964         * gnome/applet/applet-notifications.[ch]
12965                 - New files; show a notification
12966         
12967         * gnome/applet/applet-dbus-devices.[ch]
12968                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12969                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12970                         new functions, do the right thing when a device change occurs
12971
12972         * gnome/applet/applet-dbus.c
12973                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12974                         signals, so we can handle them specially
12975
12976         * gnome/applet/applet.[ch]
12977                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12978                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12979                 - (nmwa_notify_state): remove
12980                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12981                         notification work is now done when the appropriate dbus signals
12982                         are received.
12983                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12984                         defer execution of the notification/dialog stuff.  That was an
12985                         artifact of the previous multi-threaded nature of the applet
12986                         and is now pointless.
12987                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12988                         no longer needed.  Function folded into applet-notifications.c
12989
12990         * src/NetworkManagerPolicy.c
12991                 - (nm_policy_activation_finish): send the AP along with the device
12992                         status change signal, if the connection is wireless.  Should
12993                         fix the race where applet would show a connection to "unknown"
12994
12995 2006-02-25  Robert Love  <rml@novell.com>
12996
12997         Add WPA Enterprise support:
12998         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12999           nm-gconf-wso-wpa-eap.h.
13000         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13001           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13002           serialization and deserialization.
13003         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13004           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13005           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13006         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13007           settings related to WPA Enterprise.
13008         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13009           instantiate WPA Enterprise wireless-security-option.
13010         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13011           Implement WPA Enterprise wireless-security-option object.
13012         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13013           defines.  Cleanup.
13014         * libnm-util/cipher-wpa-psk-hex.c,
13015           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13016         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13017           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13018           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13019           including the cipher to DBUS method, and
13020           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13021           to output.
13022         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13023           nm-ap-security-wpa-eap.h
13024         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13025           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13026         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13027           files.  Implement NMAPSecurityWPA_EAP object.
13028         * src/nm-ap-security-wpa-psk.c: Cleanup.
13029         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13030           an NMAPSecurityWPA_EAP object via the method
13031           nm_ap_security_wpa_eap_new_deserialize().
13032         * src/nm-dbus-nm.c: Cleanup.
13033         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13034           WPA Enterprise support.
13035
13036 2006-02-24  Robert Love  <rml@novell.com>
13037
13038         Patch from Timo Hoenig <thoenig@suse.de>:
13039         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13040
13041 2006-02-24  Robert Love  <rml@novell.com>
13042
13043         Patch from Dan Winship <danw@novell.com>:
13044         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13045           area to transparent.
13046
13047 2006-02-21  Dan Williams  <dcbw@redhat.com>
13048
13049         * gnome/applet/applet.[ch]
13050           gnome/applet/applet-dbus.c
13051                 - Implement notification support for VPN messages too
13052
13053 2006-02-21  Dan Williams  <dcbw@redhat.com>
13054
13055         * gnome/applet/applet-dbus-info.c
13056                 - Clean up warning messages to not double-print the function
13057
13058 2006-02-21  Dan Williams  <dcbw@redhat.com>
13059
13060         * gnome/applet/applet-compat.c
13061                 - (convert_one_entry): accept entries without a key_type and
13062                         convert them to unencrypted networks
13063
13064 2006-02-21  Dan Williams  <dcbw@redhat.com>
13065
13066         * gnome/libnm_glib/libnm_glib.c
13067                 - Use __func__ everywhere we can
13068                 - Code cleanups
13069                 - Use dbus pending calls rather than blocking
13070                 - Reduce busywaits for our thread to start and stop
13071                         (gnome.org #330562)
13072                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13073                         stomp on others using the default shared dbus connection.
13074                         Fixes #rh177546# and gnome.org #326572
13075
13076 2006-02-21  Dan Williams  <dcbw@redhat.com>
13077
13078         Patch from Rodney Dawes <dobey@novell.com>
13079         * configure.in
13080           gnome/applet/Makefile.am
13081           gnome/applet/applet.c
13082                 - Add libnotify support if '--enable-notify=yes' is passed
13083                   at configure time
13084
13085 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13086
13087         * configure.in (ALL_LINGUAS): ko added. (Korean)
13088
13089 2006-02-15  Robert Love  <rml@novell.com>
13090
13091         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13092           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13093           and WPA_SUPPLICANT_CONTROL_SOCKET.
13094         
13095 2006-02-15  Robert Love  <rml@novell.com>
13096
13097         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13098           information about what connection stage we are at, provide the total
13099           number of stages, e.g. "Stage 2 of 5", so users know how far along
13100           they are if they experience problems.
13101
13102 2006-02-15  Robert Love  <rml@novell.com>
13103
13104         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13105           define to $sysconfdir.
13106         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13107           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13108           type of VPN and then editing another results in a mangled dialog
13109           box containing the widgets from both VPNs (fixes Novell #150854).
13110           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13111
13112 2006-02-14  Robert Love  <rml@novell.com>
13113
13114         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13115           syslog's file descriptor.
13116
13117 2006-02-14  Robert Love  <rml@novell.com>
13118
13119         Fix bug around since the change to "deal with APs changing settings on
13120         us," checked in on the fifth of February in the year of the dog, 
13121         wherein connecting to non-broadcast encrypted networks always fails
13122         because nm_ap_get_encrypted() always returns FALSE, even when the user
13123         provided a key, because the newly-created fake AP does not have any
13124         capabilities set, which is a sypmtom of security settings not matching
13125         capabilities (Novell bug #150784):
13126         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13127           nm_ap_add_capabilities_from_security(), which sets the given AP's
13128           capabilities off the given security settings.  Also improve our
13129           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13130           NM_AUTH_CIPHER_AUTO.
13131         * src/nm-device-802-11-wireless.c: Call the function
13132           nm_ap_add_capabilities_from_security() to ensure that capabilities
13133           match newly updated security settings.
13134
13135 2006-02-14  Robert Love  <rml@novell.com>
13136
13137         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13138           error as a string, not an integer, if possible; do not print the
13139           function name twice; always give the interface, if possible; misc.
13140           cleanup.
13141
13142 2006-02-12  Dan Williams  <dcbw@redhat.com>
13143
13144         Patch from Tom Parker <palfrey@tevp.net>
13145         * src/NetworkManagerSystem.h
13146                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13147                         no longer used
13148
13149         * src/backends/NetworkManagerDebian.c
13150                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13151                         unused variables
13152
13153 2006-02-12  Dan Williams  <dcbw@redhat.com>
13154
13155         * vpn-daemons/openvpn/intltool-extract.in
13156           vpn-daemons/openvpn/intltool-merge.in
13157           vpn-daemons/openvpn/intltool-update.in
13158           vpn-daemons/pptp/intltool-extract.in
13159           vpn-daemons/pptp/intltool-merge.in
13160           vpn-daemons/pptp/intltool-update.in
13161                 - Remove from CVS, they should get created by intltoolize,
13162                         shouldn't they?
13163
13164 2006-02-12  Dan Williams  <dcbw@redhat.com>
13165
13166         * vpn-daemons/pptp/src/pppd/patchlevel.h
13167         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13168                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13169                         Makefile-defined VERSION
13170
13171 2006-02-09  Dan Williams  <dcbw@redhat.com>
13172
13173         Patch from: Vinay A R <rvinay@novell.com>
13174         * src/vpn-manager/nm-vpn-act-request.[ch]
13175                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13176                         IPSec VPNs require them for std gateway.
13177                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13178                         and 'user_routes_count'
13179                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13180                         defined routes  from NMVPNActRequest object, returns the string
13181                         array of routes.
13182
13183         * src/vpn-manager/nm-vpn-manager.[ch]
13184                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13185                         for 'user_routes' and 'user_routes_count'
13186         
13187         * src/vpn-manager/nm-dbus-vpn.c
13188                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13189                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13190         
13191         * src/vpn-manager/nm-vpn-service.c
13192                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13193                         the vpn daemon
13194
13195         Modifications by Dan:
13196         * src/vpn-manager/nm-vpn-service.c
13197                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13198                         arrays into dbus
13199
13200         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13201         * vpn-daemons/pptp/src/nm-pptp-service.c
13202         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13203                 - Grab user routes from dbus message
13204                 - Free all string arrays we got from dbus
13205
13206 2006-02-07  Robert Love  <rml@novell.com>
13207
13208         Patch by Stefan Seyfried <seife@suse.de>:
13209         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13210
13211 2006-02-06  Robert Love  <rml@novell.com>
13212
13213         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13214
13215 2006-02-06  Robert Love  <rml@novell.com>
13216
13217         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13218           test ">=" is never false.  If no newline is found, we loop forever.
13219           We can just check for ">" because the following if() will see the
13220           zero-th argument if the while() gets that far.
13221
13222 2006-02-05  Dan Williams  <dcbw@redhat.com>
13223
13224         Refine handling of non-broadcast networks.
13225
13226         * src/NetworkManagerAPList.c
13227                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13228                         property from scanned AP to the AP from the device list
13229
13230         * src/nm-device-802-11-wireless.c
13231                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13232                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13233                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13234                         networks since those don't have APs.
13235                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13236                         AP as non-SSID-broadcasting
13237                 - (process_scan_results): don't handle non-SSID-broadcasting here
13238
13239 2006-02-05  Dan Williams  <dcbw@redhat.com>
13240
13241         * src/nm-device-802-11-wireless.c
13242                 - (get_supplicant_timeout): new function; return
13243                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13244                         14 channels.  These are likely a/b/g cards, like Atheros, and
13245                         slow as hell to scan.
13246                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13247                         get_supplicant_timeout()
13248
13249 2006-02-05  Dan Williams  <dcbw@redhat.com>
13250
13251         * src/dhcp-manager/nm-dhcp-manager.c
13252                 - Loose a commit race with Robert; make sure size check
13253                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13254
13255 2006-02-05  Robert Love  <rml@novell.com>
13256
13257         Patch by Christoph Brill <chrisbrill@gmx.net>:
13258         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13259           with DHCP_SERVICE_NAME.
13260
13261 2006-02-05  Dan Williams  <dcbw@redhat.com>
13262
13263         Remove anything having to do with device_setup_func from the
13264         AP security objects, since it's no longer used.
13265
13266         * src/nm-ap-security.h
13267                 - Kill device_setup_func and nm_ap_security_device_setup()
13268
13269         * src/nm-ap-security-wep.c
13270           src/nm-ap-security-wpa-psk.c
13271                 - (real_device_setup): remove
13272
13273         * src/nm-ap-security.c
13274                 - (real_device_setup): remove
13275                 - (nm_ap_security_device_setup): remove
13276
13277         * src/nm-device-802-11-wireless.[ch]
13278                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13279                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13280                         and done by wpa_supplicant now anyway
13281
13282 2006-02-05  Dan Williams  <dcbw@redhat.com>
13283
13284         * src/nm-device-802-11-wireless.c
13285                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13286                         settings on us.  Previously NM would loop asking for the
13287                         key but getting the same one back.  Now, if the NMI-supplied
13288                         cipher doesn't overlap with the scanned AP capabilities,
13289                         we request a completely new key from the user.
13290
13291 2006-02-05  Dan Williams  <dcbw@redhat.com>
13292
13293         * src/NetworkManagerUtils.c
13294                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13295                         Handle newline killing better
13296
13297 2006-02-05  Dan Williams  <dcbw@redhat.com>
13298
13299         * gnome/applet/nm-gconf-wso.c
13300                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13301                         of unencrypted access point security info.
13302
13303 2006-02-03  Robert Love  <rml@novell.com>
13304
13305         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13306           user's encryption key, so we print the err_msg_cmd not the command,
13307           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13308           sense.
13309
13310 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13311
13312         * initscript/RedHat/NetworkManagerDispatcher.in:
13313         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13314         Patch from Dan Walsh <dwalsh@redhat.com>
13315
13316 2006-02-03  Robert Love  <rml@novell.com>
13317
13318         * dispatcher-daemon/NetworkManagerDispatcher.c,
13319           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13320           but use the sysconfdir.
13321
13322 2006-02-03  Robert Love  <rml@novell.com>
13323
13324         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13325           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13326           'char *'.
13327         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13328           nm_ip4_config_get_hostname() and
13329           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13330         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13331           leak g_strdup() result.
13332
13333 2006-02-03  Robert Love  <rml@novell.com>
13334
13335         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13336           broadcast == TRUE.  Also, copy broadcast and artificial properties
13337           from source network to destination in nm_ap_copy().
13338         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13339           since we now default new networks to non-hidden.
13340
13341 2006-02-03  Dan Williams  <dcbw@redhat.com>
13342
13343         * gnome/applet/main.c
13344                 - (main): change the NEVER->ALWAYS so we start at the
13345                         beginning of the session, if being session-managed
13346
13347 2006-02-03  Dan Williams  <dcbw@redhat.com>
13348
13349         * gnome/applet/main.c
13350                 - (main): in a variation on Robert's patch, change
13351                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13352                         he wants.
13353
13354 2006-02-02  Robert Love  <rml@novell.com>
13355
13356         * src/Makefile.am: If we aren't going to create the run directory at,
13357           uh, run-time, create it during install.  Then users just doing
13358           'make install' are cool, too.  While we are here, create the
13359           dispatcher.d directory, too.
13360         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13361           the exact run directory.
13362         * Makefile.am: Install nm-applet.desktop.
13363
13364 2006-02-02  Robert Love  <rml@novell.com>
13365
13366         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13367           structure, which denotes whether or not the AP is hidden.  This is a
13368           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13369           can show up in the scan list.  Add nm_ap_get_broadcast() and
13370           nm_ap_set_broadcast() accessor interfaces.
13371         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13372           nm_ap_set_broadcast().
13373         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13374           "getProperties" method, which denotes whether or not the given
13375           network is hidden.
13376         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13377           an artificial network.  Set broadcast to TRUE when scanning returns
13378           an ESSID and FALSE when not.
13379         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13380           from "getProperties" method on a network.  Possible TODO is to
13381           somehow display this.
13382         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13383
13384 2006-02-02  Dan Williams  <dcbw@redhat.com>
13385
13386         * src/nm-device-802-11-wireless.c
13387                 - (supplicant_interface_init): don't try to create
13388                         /var/run/NetworkManager, since that should be done by
13389                         the distro package.  Causes problems for stuff like SELinux
13390
13391 2006-02-02  Robert Love  <rml@novell.com>
13392
13393         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13394         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13395           Check for and handle empty string for iface.
13396
13397 2006-02-01  Robert Love  <rml@novell.com>
13398
13399         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13400           manpage.
13401
13402 2006-01-31  Dan Williams  <dcbw@redhat.com>
13403
13404         * nm-applet.desktop
13405                 - Add --sm-disable to Exec arguments, presuming that when
13406                         using autostart, we don't want session management
13407
13408 2006-01-31  Robert Love  <rml@novell.com>
13409
13410         * src/NetworkManagerAP.c: Add two new manufacturer default network
13411           names: linksys-a and linksys-g.  These are found (at least) on the
13412           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13413           own ESSID.
13414
13415 2006-01-31  Robert Love  <rml@novell.com>
13416
13417         * src/NetworkManagerAP.c: Optimize the function
13418           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13419           machine code.  This is the first in a series of code tweaks aiming to
13420           generate better machine code and make NetworkManager all the better.
13421           Just kidding.  Who has time to go through the assembly generated for
13422           every function?  I certainly don't.  I have a wife, a kid, a job,
13423           a mortgage, a mistress.  But this function was so bad, I was called
13424           to arms.  Like the book.
13425
13426 2006-01-31  Robert Love  <rml@novell.com>
13427
13428         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13429           AP is not broadcasting, to scan with probe request frames.  Required
13430           for non-broadcast networks.
13431
13432 2006-01-31  Robert Love  <rml@novell.com>
13433
13434         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13435           preprocessor define (still 20s).  Fix message text in nm_info()
13436           s/too too/took too/.
13437
13438 2006-01-30  Dan Williams  <dcbw@redhat.com>
13439
13440         * src/nm-device-802-11-wireless.c
13441                 - (supplicant_monitor_start): increase connect/auth timeout to
13442                         20 seconds from 10 seconds
13443
13444 2006-01-30  Dan Williams  <dcbw@redhat.com>
13445
13446         * src/Makefile.am
13447                 - Define LOCALSTATEDIR
13448
13449         * src/nm-device-802-11-wireless.c
13450                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13451                         socket where we want it to
13452
13453         * src/wpa_ctrl.[ch]
13454                 - (wpa_ctrl_open): accept location to put local control socket
13455
13456 2006-01-30  Robert Love  <rml@novell.com>
13457
13458         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13459           get_ip4_string() for "domain_name".
13460
13461 2006-01-30  Robert Love  <rml@novell.com>
13462
13463         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13464           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13465           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13466           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13467           support for "Automatic" pairwise and group cipher configuration by
13468           letting wpa_supplicant handle the details.  Add UI elements, new
13469           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13470           charm.  Note this does more than add a nice feature, it fixes a bug.
13471           Apparently, some people have AP's where the pairwise cipher does not
13472           match the group cipher.  Insane, but true.
13473
13474 2006-01-30  Dan Williams  <dcbw@redhat.com>
13475
13476         * gnome/applet/applet-dbus-devices.c
13477                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13478                         functions, grab device driver name from NetworkManager
13479                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13480
13481         * gnome/applet/applet.c
13482                 - (nmwa_update_info): show driver name in Connection Information
13483                         dialog
13484
13485         * gnome/applet/nm-device.[ch]
13486                 - (network_device_get_driver, network_device_set_driver): add
13487                         accessors for driver name
13488
13489         * gnome/applet/wireless-applet.glade
13490                 - Add line for driver name to Connection Information dialog
13491
13492         * src/nm-dbus-device.c
13493                 - (nm_dbus_device_get_driver): new function to return driver name
13494                 - (nm_dbus_device_methods): hook up driver name function to dbus
13495
13496         * test/nm-tool.c
13497                 - (get_driver_name): new function
13498                 - (detail_device): grab and show driver name
13499
13500 2006-01-30  Robert Love  <rml@novell.com>
13501
13502         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13503           does not parse the markup if it is not part of the format.
13504
13505 2006-01-30  Robert Love  <rml@novell.com>
13506
13507         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13508           FALSE, we have no security options for this dialog, so we throw up
13509           an error dialog instead of a broken passphrase dialog.  Fixes
13510           Novell #138404.
13511         * gnome/applet/wireless-security-manager.c,
13512           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13513           does not add any security options, not even NONE, print a warning
13514           and return FALSE.  This let's functions constructing a dialog bail
13515           out if the device's capabilities and the network's requirements have
13516           zero overlap.
13517
13518 2006-01-27  Robert Love  <rml@novell.com>
13519
13520         * configure.in: Require wpa_supplicant.  Detect location of binary and
13521           use it.  Override with "--with-wpa_supplicant=foo".
13522         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13523           path to wpa_supplicant but use the auto-detected or user-provided
13524           value from configure.
13525
13526 2006-01-27  Robert Love  <rml@novell.com>
13527
13528         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13529           but the DHCP server did not return a hostname, try to look up our
13530           name via DNS and set the system hostname to that.
13531
13532 2006-01-27  Dan Williams  <dcbw@redhat.com>
13533
13534         * src/backends/NetworkManagerRedHat.c
13535                 - Add NM_CONTROLLED system network script support for RH/Fedora
13536
13537 2006-01-27  Dan Williams  <dcbw@redhat.com>
13538
13539         * src/backends/NetworkManagerGentoo.c
13540                 - (nm_system_device_get_disabled): add missing function.
13541                         Gnome BZ #328780
13542
13543 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13544
13545         * configure.in: Added vi in ALL_LINGUAS line.
13546         
13547 2006-01-26  Robert Love  <rml@novell.com>
13548
13549         * src/Makefile.am, src/kernel-types.h: Now that two different source
13550           files are feeling the crack-addled leakage of kernel types such as
13551           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13552           types in user-space -- define a header and include it as needed.
13553         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13554         * src/nm-device-802-3-ethernet.h: Remove defines.
13555         * src/wpa.c: Remove defines and include kernel-types.h.
13556
13557 2006-01-26  Robert Love  <rml@novell.com>
13558
13559         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13560           work.
13561
13562 2006-01-26  Robert Love  <rml@novell.com>
13563
13564         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13565         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13566           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13567           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13568           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13569           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13570           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13571           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13572           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13573           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13574           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13575           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13576           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13577           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13578           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13579           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13580           Kill unused variables, labels, and static functions.  Don't pass
13581           string literals as the format string for printf-like functions.
13582
13583 2006-01-25  Dan Williams  <dcbw@redhat.com>
13584
13585         * gnome/applet/wireless-applet.glade
13586                 - Remove WPA2 Checkbox
13587
13588         * gnome/applet/wireless-security-manager.c
13589                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13590                         This means the Wireless Security menu now has two WPA options,
13591                         one for "WPA Personal" and one for "WPA2 Personal"
13592
13593         * gnome/applet/wso-wpa-psk.[ch]
13594                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13595                         'wpa2' argument to determine WPA version to use
13596                 - (append_dbus_params_func): pass stored WPA version to cipher
13597                         rather than using the (removed) checkbox
13598
13599 2006-01-24  Robert Love  <rml@novell.com>
13600
13601         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13602           before we g_strdup(), not the ultimate string.
13603
13604 2006-01-23  Dan Williams  <dcbw@redhat.com>
13605
13606         * src/NetworkManagerAP.[ch]
13607                 - (nm_ap_new_from_ap): copy original essid too
13608                 - (nm_ap_unref): free original essid
13609                 - (nm_ap_get_orig_essid): new function
13610                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13611                         but keep original essid around too
13612
13613         * src/nm-device-802-11-wireless.c
13614                 - (supplicant_send_network_config): send wpa_supplicant the
13615                         _original_ essid, and not as a string, but in hex.  Should
13616                         allow us to connect to more APs that use wierd character
13617                         encodings for their essids
13618
13619         * utils/nm-utils.[ch]
13620                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13621                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13622                         use the current locale as a hint for what encoding the essid
13623                         might be in.  Obviously not 100% accurate, but the idea here is
13624                         that if a user's locale is ex. ja_JP, they are more likely than
13625                         not to be in Japan, where access points will likely be in some
13626                         Japanese encoding.
13627
13628 2006-01-23  Dan Williams  <dcbw@redhat.com>
13629
13630         * libnm-util/cipher-private.h
13631           libnm-util/cipher.c
13632           libnm-util/cipher.h
13633                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13634
13635 2006-01-23  Robert Love  <rml@novell.com>
13636
13637         Patch by Timo Hoenig <thoenig@suse.de>:
13638         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13639           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13640           by DHCP and pass it to the backends, allowing distribution-specific
13641           behavior with respect to the DHCP-supplied hostname (if nothing else,
13642           some distributions might not want to set the hostname).
13643         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13644           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13645           Also update our NIS behavior.
13646         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13647           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13648           Add stub functions.
13649
13650 2006-01-23  Robert Love  <rml@novell.com>
13651
13652         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13653           gnome-session does autostart.  TODO: We need to install this to
13654           $prefix/share/autostart/.
13655
13656 2006-01-22  Dan Williams  <dcbw@redhat.com>
13657
13658         * src/NetworkManagerAP.[ch]
13659           src/nm-dbus-nmi.c
13660           src/nm-device-802-11-wireless.c         
13661                 - Make nm_ap_get_essid return "const char *"
13662
13663 2006-01-22  Dan Williams  <dcbw@redhat.com>
13664
13665         * src/NetworkManagerAP.[ch]
13666                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13667
13668         * src/NetworkManagerAPList.[ch]
13669                 - (nm_ap_list_diff): removed
13670                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13671                         deal with access points changing essids on us
13672
13673         * src/nm-device-802-11-wireless.c
13674                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13675                         src/NetworkManagerAPList.c
13676                 - (real_can_interrupt_activation): new function; allow interruption
13677                         of device activation if we are waiting for a network key
13678
13679         * src/NetworkManagerPolicy.c
13680                 - (nm_policy_device_change_check): allow interruption of currently
13681                         activating devices if the device allows it.  Previous behavior
13682                         would refuse to activate a just-plugged wired device if a
13683                         wireless device was waiting for a key.
13684
13685         * src/nm-device.[ch]
13686                 - (nm_device_can_interrupt_activation): new function; ask devices
13687                         whether their activation can be interrupted
13688
13689 2006-01-20  Robert Love  <rml@novell.com>
13690
13691         * Makefile.am, configure.in: Add new man subdirectory.
13692         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13693           man/Makefile.am: Add man pages for NetworkManager and its
13694           crime-solving bumbling buddy, NetworkManagerDispatcher.
13695         * man/.cvsignore: Add.
13696         * initscript/Debian/NetworkManager,
13697           initscript/Gentoo/NetworkManager.in,
13698           initscript/RedHat/NetworkManager.in,
13699           initscript/RedHat/NetworkManagerDispatcher.in,
13700           initscript/SUSE/networkmanager-dispatcher.in,
13701           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13702
13703 2006-01-20  Robert Love  <rml@novell.com>
13704
13705         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13706           instead of queuing.  This prevents the running of multiple NM
13707           daemons concurrently, which does not work whatsoever and results in
13708           neither daemon working correctly.  Also, we don't handle queuing and
13709           name-owner-changes, anyhow.
13710
13711 2006-01-20  Robert Love  <rml@novell.com>
13712
13713         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13714         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13715           to sbin, not bin.
13716
13717 2006-01-19  Robert Love  <rml@novell.com>
13718
13719         * configure.in: Require hal 0.5.0 or later.
13720
13721 2006-01-18  Robert Love  <rml@novell.com>
13722
13723         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13724           Allow backends to flag a device (in whatever distro-dependent way
13725           they so desire) as disabled.  NM will ignore any such device.
13726         * src/backends/NetworkManagerDebian.c,
13727           src/backends/NetworkManagerRedHat.c,
13728           src/backends/NetworkManagerSlackware.c: Add stub function
13729           nm_system_device_get_disabled() that always returns FALSE (enabled).
13730         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13731           SUSE-specific configuration structure.  Fill it in from the
13732           NM_CONTROLLED variable in the system networking scripts.  If this var
13733           exists and is "no", we ignore the device.
13734
13735 2006-01-17  Robert Love  <rml@novell.com>
13736
13737         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13738           identical for NM.  For a full discussion, see the thread at
13739           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13740
13741 2006-01-17  Dan Williams  <dcbw@redhat.com>
13742
13743         * src/nm-device.c
13744                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13745                         function.  Fixes crash when wired DHCP fails.
13746
13747 2006-01-16  Robert Love  <rml@novell.com>
13748
13749         * src/Makefile.am: Don't install NMLoadModules
13750         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13751           from src/ to test/ as no one uses it anymore.  Note that I would be
13752           fine with removing it altogether.
13753
13754 2006-01-16  Robert Love  <rml@novell.com>
13755
13756         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13757           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13758           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13759           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13760           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13761           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13762           declarations, ever.
13763         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13764           NM_STATE_DISCONNECTED is zero).
13765
13766 2006-01-16  Robert Love  <rml@novell.com>
13767
13768         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13769           uninitialized parameter and buffer overflow.  Novell #143496.
13770
13771 2006-01-16  Dan Williams  <dcbw@redhat.com>
13772
13773         Apply the PtP Address bits of a patch from Tim Niemueller
13774
13775         * src/nm-ip4-config.[ch]
13776                 - Add ip4_ptp_address member to object
13777                 - (nm_ip4_config_copy): copy ptp address too
13778                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13779                         new functions
13780                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13781                         rather than local tunnel ip address
13782
13783         * src/vpn-manager/nm-vpn-service.c
13784                 - (print_vpn_config): update for PtP address
13785                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13786                         DBusMessageIters in preparation for getting routes from the VPN
13787                         service daemons too
13788
13789         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13790                 - (send_config_info): update for PtP address, clean up code
13791                 - (main): update for PtP address, clean up code, fix typo
13792
13793         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13794                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13795
13796         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13797                 - (pptp_ip_up): update for PtP address
13798
13799         * vpn-daemons/pptp/src/nm-pptp-service.c
13800                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13801
13802         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13803                 - (print_vpn_config): update for PtP address
13804                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13805
13806 2006-01-16  Dan Williams  <dcbw@redhat.com>
13807
13808         * gnome/applet/applet.c
13809                 - (nmwa_add_networks_helper): don't indicate an active network
13810                         if NM is disconnected or asleep
13811
13812 2006-01-16  Dan Williams  <dcbw@redhat.com>
13813
13814         * src/NetworkManagerPolicy.c
13815                 - (nm_policy_device_change_check): switch devices if we lose the link
13816                         on an ethernet device. 
13817
13818 2006-01-16  Dan Williams  <dcbw@redhat.com>
13819
13820         * gnome/applet/wso-wpa-psk-hex.[ch]
13821                 - Renamed -> wso-wpa-psk.[ch]
13822
13823         * gnome/applet/wso-wpa-psk.[ch]
13824                 - New files
13825
13826         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13827                 - Removed, rolled into wso-wpa-psk.[ch]
13828
13829         * gnome/applet/Makefile.am
13830                 - Updated for above changes
13831
13832         * gnome/applet/wireless-applet.glade
13833                 - Consolidate WPA-PSK options into one notebook
13834                         widget, and make dialogs invisible by default
13835                         to fix screen oddities
13836
13837         * gnome/applet/wireless-security-manager.c
13838                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13839                         than both the old hex & passphrase ones
13840
13841 2006-01-16  Dan Williams  <dcbw@redhat.com>
13842
13843         * gnome/applet/other-network-dialog.c
13844                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13845
13846 2006-01-16  Dan Williams  <dcbw@redhat.com>
13847
13848         * gnome/applet/applet.c
13849                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13850                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13851                         prevention to realize window before trying to get server
13852                         time
13853
13854         * gnome/applet/other-network-dialog.c
13855                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13856                         prevention to realize window before trying to get server
13857                         time
13858
13859         * gnome/applet/passphrase-dialog.c
13860                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13861                         prevention to realize window before trying to get server
13862                         time
13863
13864 2006-01-16  Robert Love  <rml@novell.com>
13865
13866         Patch from Timo Hoenig  <thoenig@suse.de:
13867         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13868           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13869           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13870           libnm-util/dbus-helpers.h: add checks whether headers are used
13871           within a C++ build.
13872
13873 2006-01-16  Dan Williams  <dcbw@redhat.com>
13874
13875         * gnome/applet/wireless-security-option.c
13876                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13877
13878 2006-01-16  Dan Williams  <dcbw@redhat.com>
13879
13880         * libnm-util/cipher-wpa-psk-passphrase.c
13881                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13882                         be 8 - 63 characters inclusive
13883
13884 2006-01-16  Dan Williams  <dcbw@redhat.com>
13885
13886         * src/nm-dbus-nm.c
13887                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13888
13889 2006-01-13  Robert Love  <rml@novell.com>
13890
13891         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13892         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13893           modules that do not use an interface.
13894
13895 2006-01-13  Dan Williams  <dcbw@redhat.com>
13896
13897         * src/nm-device.c
13898           src/nm-device.h
13899                 - Allow subclasses to implement deactivate_quickly()
13900                 - (nm_device_deactivate_quickly): call subclass
13901                         deactivate_quickly() methods
13902                 - (nm_device_set_active_link): small cleanups, and don't
13903                         deactivate the device right away because we risk a deadlock
13904                         when called from device thread, waiting for the device
13905                         thread to cancel activation
13906
13907         * src/nm-device-802-11-wireless.c
13908                 - (real_deactivate_quickly): new function
13909                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13910                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13911                         so that we kill the supplicant when we sleep too
13912                 - (supplicant_interface_init): work around naive naming attempts of
13913                         wpa_ctrl when naming sockets
13914
13915 2006-01-13  Dan Williams  <dcbw@redhat.com>
13916
13917         * src/nm-device-802-11-wireless.c
13918                 - (supplicant_cleanup): delete old device control sockets too
13919                 - (supplicant_get_device_socket_path): new function to consolidate
13920                         locations that need a path to a device's control socket
13921
13922 2006-01-12  Robert Love  <rml@novell.com>
13923
13924         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13925           description so that the description is unique for each
13926           pair (device,provider).  Fixes Novell #142773.
13927
13928 2006-01-12  Dan Williams  <dcbw@redhat.com>
13929
13930         * src/nm-device-802-11-wireless.c
13931                 - (supplicant_exec): ensure GError is correctly initialized
13932                         Reported by Diego González (gnome.org #326708)
13933
13934 2006-01-11  Robert Love  <rml@novell.com>
13935
13936         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13937           define if_mii(), open code the same results, and do so without any
13938           type punning.
13939
13940 2006-01-11  Robert Love  <rml@novell.com>
13941
13942         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13943           that wso_foo_new() returned non-NULL.  Instead, only append the new
13944           wso to wsm->options if the wso is non-NULL.  The crux is that we
13945           assume that the relevant key types are implied by WEP and WPA as
13946           appropriate.  To be sure, they should be, but we should not expect
13947           drivers to not be oozing piles of wolf fecal matter.
13948
13949 2006-01-11  Robert Love  <rml@novell.com>
13950
13951         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13952         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13953           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13954           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13955           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13956           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13957           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13958         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13959           comparing values within DBL_EPSILON.  Also fix shadowed variable
13960           usage.
13961
13962 2006-01-11  Dan Williams  <dcbw@redhat.com>
13963
13964         Add options for WPA2 and WPA1+CCMP (AES).
13965
13966         * gnome/applet/wireless-applet.glade
13967                 - Add UI bits for WPA+CCMP
13968
13969         * gnome/applet/other-network-dialog.c
13970                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13971                         and don't allow creation of WPA2 Ad-Hoc networks since
13972                         wpa_supplicant doesn't support them
13973
13974         * gnome/applet/wireless-security-manager.c
13975                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13976                         on to the specific wireless security option being created
13977
13978         * gnome/applet/wireless-security-option.[ch]
13979                 - (wso_wpa_create_key_type_model): new utility function to create
13980                         the model required for WPA Key Type combo box
13981
13982         * gnome/applet/wso-private.h
13983           gnome/applet/wireless-security-option.h
13984                 - Move private function prototypes into wso-private.h
13985
13986         * gnome/applet/wso-wpa-psk-hex.[ch]
13987           gnome/applet/wso-wpa-psk-passphrase.[ch]
13988                 - (append_dbus_params_func): get WPA version from checkbox and pass
13989                         it to the dbus serialization helper
13990                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13991                         key type combo changes
13992                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13993                         model and options
13994
13995         * libnm-util/cipher-wpa-psk-hex.c
13996           libnm-util/cipher-wpa-psk-passphrase.c
13997                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13998                         new function; allow the cipher to be changed after object creation
13999
14000         * src/nm-ap-security-wpa-psk.c
14001                 - (set_description): Do WPA2 descriptions too
14002
14003         * src/nm-ap-security.c
14004                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14005
14006 2006-01-11  Robert Love  <rml@novell.com>
14007
14008         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14009           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14010           from the ifreq structure in lieu of an open coded solution.  Removes
14011           a life-threatening type-punning.
14012         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14013           types, ever, whatsoever, baby.
14014
14015 2006-01-11  Robert Love  <rml@novell.com>
14016
14017         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14018           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14019           assignments to applet->nm_state into a new nmwa_set_state() function
14020           for both cleanliness and to help debugging.
14021
14022 2006-01-10  Robert Love  <rml@novell.com>
14023
14024         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14025           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14026           seconds, exclusive.  That is, we want to sleep x seconds such that
14027           1 < x < 2.
14028
14029 2006-01-10  Robert Love  <rml@novell.com>
14030
14031         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14032           the attr fields according to the example in the email available at
14033           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14034           Conversely, we do have to free 'name', so we do so, fixing a leak.
14035
14036 2006-01-10  Robert Love  <rml@novell.com>
14037
14038         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14039           sure that we close the socket!
14040
14041 2006-01-10  Robert Love  <rml@novell.com>
14042
14043         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14044           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14045           src/nm-device.c: Fix a FIXME!  Reimplement the function
14046           nm_device_update_hw_address() in device subclass variants,
14047           nm_device_802_3_ethernet_set_address() and
14048           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14049           This fixes the existing bug where MAC addresses are all zeros.
14050
14051 2006-01-10  Robert Love  <rml@novell.com>
14052
14053         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14054           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14055           option to give users ability to globally disconnect and put NM to
14056           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14057           clean disconnect.
14058
14059 2006-01-09  Robert Love  <rml@novell.com>
14060
14061         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14062           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14063           User-space does not supply these types, so we have to define them
14064           ourselves.  The relevant kernel maintainer refused to accept a patch
14065           switching these headers to the proper C99 types.
14066
14067 2006-01-09  Dan Williams  <dcbw@redhat.com>
14068
14069         Apply Robert's 'tray icon redo' patch with fixes
14070         * gnome/applet/applet.c
14071           gnome/applet/applet.h
14072                 - Instead of using a menu bar + menu item, simulate menu
14073                         behavior using a popup menu.  Highlight the area around
14074                         the icon more like a menu too, by playing with the
14075                         applet's size requisition
14076
14077 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14078         * libnm-util/dbus-helpers.c
14079           libnm-util/dbus-helpers.h
14080                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14081                         to 'exception_namespace' (:namespace is a keyword in
14082                         C++)
14083
14084 2006-01-09  Dan Williams  <dcbw@redhat.com>
14085
14086         * src/NetworkManagerPolicy.c
14087                 - (nm_policy_device_change_check): don't autoswitch away from
14088                         Ad-Hoc networks, since there's really no concept of
14089                         "link"
14090
14091         * src/nm-dbus-nm.c
14092                 - (nm_dbus_nm_create_wireless_network): mark created networks
14093                         as Ad-Hoc networks
14094
14095         * src/nm-device-802-11-wireless.c
14096                 - (real_activation_success_handler): add user-created Ad-Hoc
14097                         networks to the device's scan list
14098
14099 2006-01-08  Dan Williams  <dcbw@redhat.com>
14100
14101         We now require a patch for wpa_supplicant to support Ad-Hoc
14102         networks:
14103           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14104
14105         * src/nm-device-802-11-wireless.c
14106                 - (supplicant_send_network_config): turn off wpa_supplicant's
14107                         scanning.  Fixes Ad-Hoc networks.
14108
14109 2006-01-08  Dan Williams  <dcbw@redhat.com>
14110
14111         * src/nm-ap-security.c
14112           src/nm-ap-security.h
14113                 - Add a user_created argument to the write_supplicant_config
14114                         functions
14115
14116         * src/nm-ap-security-wep.c
14117           src/nm-ap-security-wpa-psk.c
14118           src/nm-device-802-11-wireless.c
14119                 - Make Ad-Hoc mode somewhat work, at least write the
14120                         correct options to wpa_supplicant
14121
14122 2006-01-08  Dan Williams  <dcbw@redhat.com>
14123
14124         * src/nm-device-802-11-wireless.c
14125                 - Remove unused code from the old device activation path
14126
14127 2006-01-08  Dan Williams  <dcbw@redhat.com>
14128
14129         * libnm-util/dbus-helpers.c
14130                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14131                         dbus when key == NULL
14132
14133 2006-01-08  Dan Williams  <dcbw@redhat.com>
14134
14135         * gnome/applet/nm-gconf-wso-wpa-psk.c
14136                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14137                         correct arguments to nmu_security_deserialize_wpa_psk()
14138
14139         * src/nm-ap-security-wpa-psk.c
14140                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14141                         arguments to nmu_security_deserialize_wpa_psk()
14142
14143 2006-01-08  Dan Williams  <dcbw@redhat.com>
14144
14145         * gnome/applet/wso-wpa-psk-hex.c
14146           gnome/applet/wso-wpa-psk-passphrase.c
14147                 - Hook up the append_dbus_params_func() function
14148
14149 2006-01-08  Dan Williams  <dcbw@redhat.com>
14150
14151         * src/nm-device-802-11-wireless.c
14152                 - (get_wireless_capabilities): correctly detect driver WPA
14153                         capabilities
14154
14155 2006-01-08  Dan Williams  <dcbw@redhat.com>
14156
14157         * gnome/applet/Makefile.am
14158           gnome/applet/wso-wpa-psk-hex.c
14159           gnome/applet/wso-wpa-psk-hex.h
14160                 - New files, implement WPA-PSK Hex key input
14161
14162         * gnome/applet/wireless-applet.glade
14163                 - Change existing wpa-psk stuff to wpa-psk-hex
14164                 - Add new widgets for wpa-psk-passphrase
14165
14166         * gnome/applet/wireless-security-manager.c
14167                 - (wsm_set_capabilities): enable WPA options
14168
14169         * gnome/applet/wso-wpa-psk-passphrase.c
14170                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14171                         for WPA-PSK passphrase
14172
14173 2006-01-08  Dan Williams  <dcbw@redhat.com>
14174
14175         * include/NetworkManager.h
14176                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14177                         applet/info-daemons
14178
14179         * gnome/applet/passphrase-dialog.c
14180                 - Use the constant.  Fixes a bug where the arguments to
14181                         dbus_message_new_error() were incorrect
14182
14183         * src/nm-dbus-nmi.c
14184                 - Use the constant
14185
14186 2006-01-07  Dan Williams  <dcbw@redhat.com>
14187
14188         * src/nm-device-802-11-wireless.c
14189                 - Add a link timeout so we allow the supplicant time to
14190                         reassociate if it can, before we deactivate the card
14191                 - Fix up link status and link updating so things work better
14192
14193 2006-01-07  Dan Williams  <dcbw@redhat.com>
14194
14195         * src/nm-device-802-11-wireless.c
14196                 - Switch over to using wpa_supplicant
14197                 - Add a timeout of 10s for association of the supplicant
14198                 - Start the monitor callback of the supplicant
14199
14200 2006-01-07  Dan Williams  <dcbw@redhat.com>
14201
14202         * src/NetworkManagerUtils.c
14203                 - (nm_utils_supplicant_request,
14204                   nm_utils_supplicant_request_with_check):
14205                         pass correct buffer length to wpa_ctrl_request()
14206
14207 2006-01-07  Dan Williams  <dcbw@redhat.com>
14208
14209         * src/nm-device-private.h
14210           src/nm-device.c
14211                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14212                         this function available to subclasses
14213
14214 2006-01-06  Robert Love  <rml@novell.com>
14215
14216         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14217           user plugging in a network cable signals their preference for to
14218           switch, unless the user explicitly selected a wireless network and
14219           therefore signaled their preference for said wireless network over
14220           wired.  In other words, do exactly what makes sense.
14221
14222 2006-01-06  Robert Love  <rml@novell.com>
14223
14224         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14225           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14226           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14227           showing up in my greps.
14228
14229 2006-01-06  Robert Love  <rml@novell.com>
14230
14231         * gnome/applet/applet-dbus-devices.c,
14232           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14233           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14234           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14235           New Network' both failed in the non-encrypted case because we were
14236           not appending the security options to the DBUS message.  And
14237           'Connect to Other' was also failing in the encrypted case because
14238           we were not incrementing to the next DBUS parameter.  All fixed.
14239           Thanks to dcdw for some debugging help.
14240
14241 2006-01-06  Robert Love  <rml@novell.com>
14242
14243         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14244           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14245           hangup code and add per-device hangup.  Tie last commit into the
14246           GNOME applet.  TODO:  Save, understand, and respond to the state of
14247           each dialup device.
14248
14249 2006-01-06  Robert Love  <rml@novell.com>
14250
14251         Patch by Timo Hoenig <thoenig@suse.de>:
14252         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14253           hangup specific dialup devices.
14254         * src/backends/NetworkManagerDebian.c,
14255           src/backends/NetworkManagerGentoo.c,
14256           src/backends/NetworkManagerRedHat.c,
14257           src/backends/NetworkManagerSlackware.c: Add stub backend.
14258         * src/backends/NetworkManagerRedHat.c,
14259           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14260           hangup specific dialup devices.
14261
14262 2006-01-04  Robert Love  <rml@novell.com>
14263
14264         * gnome/applet/applet-dbus-devices.c,
14265           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14266           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14267           connections.
14268
14269 2006-01-04  Dan Williams  <dcbw@redhat.com>
14270
14271         First dump of wpa_supplicant-related code.  It's not hooked up to
14272         anything yet though.  Thanks to Kay Sievers for
14273         wpa_supplicant_wrapper.c, which formed the basis for this work,
14274         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14275
14276         * src/Makefile.am
14277           src/wpa_ctrl.[ch]
14278                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14279
14280         * src/NetworkManagerUtils.[ch]
14281                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14282                         Add convenience functions for talking to wpa_supplicant
14283
14284         * src/nm-ap-security.[ch]
14285           src/nm-ap-security-wep.c
14286           src/nm-ap-security-wpa-psk.[ch]
14287                 - Update and implement real_write_supplicant_config functions
14288                         in all security types
14289                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14290                         nm-ap-security-wpa-psk.c
14291
14292         * src/nm-device-802-11-wireless.c
14293                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14294                    wpa_supplicant_start, wpa_supplicant_interface_init,
14295                    wpa_supplicant_send_network_config): add functions to talk to
14296                         wpa_supplicant and write network config to it
14297
14298 2006-01-04  Robert Love  <rml@novell.com>
14299
14300         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14301           values so that distribution-backends can differentiate between the
14302           various types (modem, ISDN, et cetera) of dialup device that they
14303           support.
14304         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14305           needed.
14306
14307 2006-01-03  Dan Williams  <dcbw@redhat.com>
14308
14309         * src/NetworkManagerPolicy.c
14310           src/nm-device.[ch]
14311           src/nm-device-802-11-wireless.c
14312                 - Move wireless-specific activation failure and success code
14313                         into wireless device class
14314
14315 2006-01-03  Robert Love  <rml@novell.com>
14316
14317         Patch by Preggna S:
14318         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14319           IPsec does not require that a VPN client be bound to an interface,
14320           due to the use of the in-kernel IPSec bits.  So make the tunnel
14321           device optional.
14322
14323 2006-01-03  Dan Williams  <dcbw@redhat.com>
14324
14325         * src/NetworkManagerAP.c
14326                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14327                         the WPA IE specifies that WEP is supported
14328
14329         * src/nm-device-802-11-wireless.c
14330                 - (process_scan_results): don't mark an AP as supporting WEP
14331                         if there's already other encryption capability info
14332
14333 2006-01-03  Dan Williams  <dcbw@redhat.com>
14334
14335         * src/dhcp-manager/nm-dhcp-manager.c
14336                 - Recognize activation cancellation when waiting for DHCP
14337                         configuration from dhcdbd
14338                 - Ignore non-dhcdbd messages
14339
14340         * src/nm-device.c
14341                 - (real_act_stage3_ip_config_start): return to correct behavior
14342                         of letting the dhcp-manager notify us of failure or
14343                         success rather than incorrectly doing that ourselves
14344                 - (nm_device_activate_stage4_ip_config_get): deal with
14345                         activation cancellation a bit earlier
14346
14347 2006-01-03  Dan Williams  <dcbw@redhat.com>
14348
14349         * src/nm-device-802-11-wireless.c
14350           src/nm-device.[ch]
14351                 - Add hooks to subclasses for stage3_ip_config_start and
14352                         stage4_ip_config_timeout
14353
14354         * src/nm-device-802-3-ethernet.c
14355                 - (real_get_generic_capabilities): make devices NM-supported
14356                         by default
14357
14358 2006-01-03  Robert Love  <rml@novell.com>
14359
14360         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14361           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14362           latter cannot differentiate between error and the address -1; misc.
14363           clean up.
14364
14365 2006-01-03  Dan Williams  <dcbw@redhat.com>
14366
14367         * src/NetworkManager.c
14368                 - Move link-checking/probing into the device subclasses
14369                         themselves
14370
14371         * src/nm-device.[ch]
14372           src/nm-device-802-11-wireless.c
14373           src/nm-device-802-3-ethernet.c
14374                 - Do periodic link checking in device subclasses rather
14375                         than being triggered from NetworkManager.c
14376                 - discover_wireless_capabilities -> get_wireless_capabilities
14377                 - discover_generic_capabilities -> get_generic_capabilities
14378                 - Device subclass activation routines now return a value of type
14379                         NMActStageReturn to indicate what step to perform next
14380                 - Devices now override stage4_get_ip4_config if they choose
14381
14382 2006-01-01  Dan Williams  <dcbw@redhat.com>
14383
14384         * src/nm-device-802-11-wireless.c
14385                 - (real_init): don't chain up to parent init because we don't
14386                         need to do that anymore
14387
14388         * src/nm-device.c
14389                 - (discover_device_type): fix arguments to ioctl() to correctly
14390                         pass interface name
14391                 - (nm_device_new): consolidate generic device initialization into
14392                         nm_device_new()
14393                 - (real_init): remove, consolidated to nm_device_new()
14394                 - (nm_device_deactivate, real_deactivate): consolidate
14395
14396 2006-01-01  Dan Williams  <dcbw@redhat.com>
14397
14398         * src/nm-activation-request.c
14399                 - Change dhcp_state member of the NMActRequest structure
14400                         from guint8 to guint32
14401
14402         * src/dhcp-manager/nm-dhcp-manager.[ch]
14403                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14404                         than guint8 to match the dbus argument.  Turns out we were
14405                         overwriting memory since we were passing in only a guint8
14406
14407 2005-12-31  Dan Williams  <dcbw@redhat.com>
14408
14409         * refactor NMDevice into a GObject-based framework with separate
14410                 objects for wired and wireless.  The following files are no
14411                 longer used but should stick around for a bit so we don't
14412                 loose code through the cracks:
14413                         NetworkManagerDevice.c
14414                         NetworkManagerDevice.h
14415                         NetworkManagerWireless.c
14416                         NetworkManagerWireless.h
14417
14418         The intent here is to allow each device type to manage its own
14419         connection & activation life-cycle, ie to allow wireless devices
14420         to interface with wpa_supplicant, etc.  There's a fair bit of
14421         encapsulation breakage right now that should gradually get pulled
14422         back into each device, along with things like periodic property
14423         updates and link probing.
14424
14425 2005-12-29  Dan Williams  <dcbw@redhat.com>
14426
14427         * include/NetworkManager.h
14428                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14429                         between networks that don't have any encryption at all
14430
14431 2005-12-29  Dan Williams  <dcbw@redhat.com>
14432
14433         * test/test-common.c
14434           test/test-common.h
14435           test/Makefile.am
14436                 - Move to a test-common subdirectory
14437
14438         * test/libnm-util/test-ciphers.c
14439                 - Move test data to test-inputs.h
14440                 - Test WPA ciphers too
14441
14442         * test/libnm-util/test-dbus-helpers.c
14443                 - Test serialization/deserialization of ciphers
14444
14445 2005-12-29  Dan Williams  <dcbw@redhat.com>
14446
14447         * gnome/applet/applet-dbus-devices.c
14448                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14449                         in dbus calls to NM
14450                 - Set capabilities on WirelessNetwork objects
14451                 - Receive and save type-specific device capabilities too
14452
14453         * gnome/applet/applet-dbus-info.c
14454           gnome/applet/applet-dbus.c
14455                 - Passphrase dialog no longer a singleton; new instance gets created
14456                         on each request.  Updates to deal with that.
14457
14458         * gnome/applet/applet.c
14459                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14460                         than single 'encrypted' flag
14461                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14462                         menu items
14463                 - Passphrase dialog updates per above
14464
14465         * gnome/applet/menu-items.c
14466                 - (network_menu_item_update): use AP capabilities to determine
14467                         encryption
14468
14469         * gnome/applet/nm-device.[ch]
14470                 - Add accessors for type-specific device capabilities
14471
14472         * gnome/applet/other-network-dialog.c
14473                 - Rework to respect device capabilities.  i.e., if the device doesn't
14474                         support WPA, remove that option from the security dropdown
14475
14476         * gnome/applet/passphrase-dialog.c
14477                 - Massive rework so that a new instance is created each time
14478                         it's used, to support wireless network capabilities
14479
14480         * gnome/applet/wireless-network.[ch]
14481                 - Add accessors and members for wireless network capabilities
14482
14483         * gnome/applet/wireless-security-manager.[ch]
14484                 - (wsm_set_capabilities): called after creation to set which
14485                         security options get shown to the user
14486
14487 2005-12-29  Dan Williams  <dcbw@redhat.com>
14488
14489         * libnm-util/cipher-wpa-psk-passphrase.c
14490                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14491                         like other ciphers
14492
14493 2005-12-23  Dan Williams  <dcbw@redhat.com>
14494
14495         * gnome/applet/applet-dbus-info.c
14496                 - (nmi_dbus_get_key_for_network): if there's no entry in
14497                         GConf for a network, assume we want a new key
14498                 - (nmi_save_network_info): serialize wireless security info
14499                         into GConf so its saved
14500
14501         * src/nm-dbus-nm.c
14502                 - Fix warning as we may not be passed security info when
14503                         connecting to a wireless network
14504
14505 2005-12-23  Dan Williams  <dcbw@redhat.com>
14506
14507         * gnome/applet/applet-compat.c
14508                 - Fix bugs in GConf entry conversion
14509
14510         * gnome/applet/applet-dbus-info.c
14511                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14512                         list being zero-length
14513
14514         * libnm-util/cipher-*
14515           libnm-util/dbus-helpers.c
14516                 - All ciphers must now return hashed keys as UTF-8 valid
14517                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14518                         through dbus as strings too.
14519                 - Consolidate various functions that do bin->hex and hex->bin
14520                         conversion into cipher.c
14521
14522         * src/nm-ap-security-wep.c
14523           src/nm-ap-security-wpa-psk.c
14524                 - Handle NULL keys since we may not know keys right away
14525
14526         * src/nm-dbus-nmi.c
14527                 - (nm_dbus_get_network_data_cb): actually advance to the start
14528                         of the wireless security info before we try to deserialize it
14529
14530         * libnm-util/test-ciphers.c
14531                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14532
14533 2005-12-22  Dan Williams  <dcbw@redhat.com>
14534
14535         * gnome/applet/applet-compat.[ch]
14536                 - Convert old-format GConf and keyring entries
14537                         when the applet starts up.
14538
14539         * gnome/applet/applet.c
14540                 - (nmwa_get_instance): Call the conversion function
14541                         on startup before dbus is initialized
14542
14543 2005-12-22  Dan Williams  <dcbw@redhat.com>
14544
14545         * gnome/applet/applet-dbus-info.c
14546                 - Remove nmi_dbus_create_error_message() in favor of
14547                         nmu_create_dbus_error_message()
14548                 - (nmi_dbus_get_network_properties): Error message cleanups
14549                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14550                         gconf key rather than 'addresses', since they really are BSSIDs
14551                 - (nmi_dbus_get_network_properties): Dispose of the security
14552                         object when we're done with it
14553
14554 2005-12-21  Dan Williams  <dcbw@redhat.com>
14555
14556         * Consolidate the info-daemon's "updateNetworkInfo" and
14557                 "addNetworkAddress" calls into just "updateNetworkInfo"
14558
14559 2005-12-21  Dan Williams  <dcbw@redhat.com>
14560
14561         * Make connection after key retrieval work again
14562
14563 2005-12-21  Dan Williams  <dcbw@redhat.com>
14564
14565         * gnome/applet/nm-gconf-wso*
14566                 - Make the serialize functions return gboolean
14567                         rather than int
14568
14569         * gnome/applet/nm-gconf-wso.c
14570                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14571                         parent class handling so we don't segfault
14572
14573         * src/NetworkManagerAP.[ch]
14574                 - (nm_ap_get_capabilities): new function, return capabilities
14575                         now that something can use them
14576                 - (nm_ap_set_encrypted): assume that an access point supports
14577                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14578                         we even tell whether it just supports WEP40?
14579
14580         * src/NetworkManagerDevice.c
14581                 - (ap_need_key): resurrect and update for the New World Order
14582                 - (nm_device_wireless_get_activation_ap): if we're not given
14583                         security info to use, create some based on access point
14584                         capabilities
14585
14586         * src/nm-ap-security-wep.c
14587                 - (nm_ap_security_wep_new_from_ap): create a new object
14588                         based on a certain access point's capabilities
14589
14590         * src/nm-ap-security.c
14591                 - (nm_ap_security_new_from_ap): delegate creation of a new
14592                         object based on access point capabilities to a subclass
14593                 - (nm_ap_security_copy_properties): don't segfault if we
14594                         don't have a key yet
14595
14596         * src/nm-dbus-nm.c
14597                 - (nm_dbus_nm_set_active_device): provide more informative
14598                         output when errors occur.  Also construct security info
14599                         for a given access point if we weren't given any
14600
14601 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14602
14603         * configure.in: Added Lithuanian to ALL_LINGUAS.
14604
14605 2005-12-21  Dan Williams  <dcbw@redhat.com>
14606
14607         * test/libnm-util
14608                 - Add some testcases for WEP ciphers
14609
14610 2005-12-17  Dan Williams  <dcbw@redhat.com>
14611
14612         * Fix bugs
14613
14614 2005-12-17  Dan Williams  <dcbw@redhat.com>
14615
14616         * include/NetworkManager.h
14617                 - Finally kill NMEncKeyType
14618
14619         * gnome/applet/applet-dbus-info.c
14620                 - (nmi_save_network_info): convert to NMGConfWSO
14621
14622         * gnome/applet/nm-gconf-wso-*.c
14623                 - Implement gconf serialization functions
14624
14625         * src/NetworkManagerPolicy.c
14626                 - (nm_policy_activation_finish): fix up meaning of
14627                         automatic/user_requested
14628
14629 2005-12-17  Dan Williams  <dcbw@redhat.com>
14630
14631         * gnome/applet/*
14632                 - More applet cleanups
14633                 - Use the dbus-method-dispatcher
14634
14635         * libnm-util/dbus-method-dispatcher.[ch]
14636                 - Generalize the implementation from NM in
14637                         NetworkManagerUtils.c
14638
14639 2005-12-16  Dan Williams  <dcbw@redhat.com>
14640
14641         * gnome/applet/*
14642                 - Fix up the passphrase dialog to use all the
14643                         WirelessSecurityOption stuff (untested)
14644
14645 2005-12-16  Dan Williams  <dcbw@redhat.com>
14646
14647         * Move nm_gconf_get_*_helper() functions to separate files,
14648                 gconf-helpers.c & gconf-helpers.h
14649
14650         * New NMGConfWSO objects for managing the gconf side of things.
14651                 Eventually these should be merged with the
14652                 WirelessSecurityOption objects and a common base (that can
14653                 serialize/deserialize from dbus & gconf) should be
14654                 refactored out, but for now they are separate.
14655
14656 2005-12-16  Robert Love  <rml@novell.com>
14657
14658         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14659           binaries unless they exist (nm_spawn_process() emits a warning if
14660           asked to spawn a non-existant process).
14661
14662 2005-12-16  Dan Williams  <dcbw@redhat.com>
14663
14664         * gnome/applet/applet-dbus-info.c
14665                 - Clean up lots of gconf-related code
14666
14667 2005-12-16  Robert Love  <rml@novell.com>
14668
14669         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14670
14671 2005-12-16  Dan Williams  <dcbw@redhat.com>
14672
14673         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14674
14675         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14676                 bits still to be done)
14677
14678 2005-12-16  Dan Williams  <dcbw@redhat.com>
14679
14680         * Finally move info-daemon related stuff out of
14681                 NetworkManagerDbus.c to nm-dbus-nmi.c
14682
14683 2005-12-16  Dan Williams  <dcbw@redhat.com>
14684
14685         * Kill auth_method for access points, since that's now done
14686                 by NMAPSecurity objects
14687
14688         * Add a copy-constructor of sorts to NMAPSecurity
14689                 (how do you do this properly in glib???)
14690
14691 2005-12-15  Dan Williams  <dcbw@redhat.com>
14692
14693         * Exorcise encryption key hashing on APs
14694         * Use libnm-util's serialization/deserialization in both the
14695                 applet and NM
14696         * Random other stuff
14697
14698 2005-12-15  Robert Love  <rml@novell.com>
14699
14700         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14701           is being added to the icon naming spec, so let's use that (Tango CVS
14702           has the icon).  Because it is new, however, we fall back to the
14703           current "gnome-lockscreen" if the new icon is not around, thus
14704           behavior is the same.
14705         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14706           factory junk.
14707
14708 2005-12-15  Robert Love  <rml@novell.com>
14709
14710         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14711           well, help to give.  Couple other misc. bits.
14712
14713 2005-12-15  Dan Williams  <dcbw@redhat.com>
14714
14715         * libnm-util/dbus-helpers.[ch]
14716                 - Make this the one-stop-shop for serializing/deserializing
14717                         AP & connection security settings over dbus.  Both NM
14718                         and applets should use this to ensure consistent dbus
14719                         API going forwared.
14720
14721 2005-12-15  Robert Love  <rml@novell.com>
14722
14723         Patch by Timo Hoenig  <thoenig@suse.de>:
14724         * src/NetworkManagerDbus.c
14725                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14726                         if HAL jumps off the system bus.  Otherwise libdbus
14727                         (dbus_connection_dispatch) will try to run the filter
14728                         function of our libhal context which is already freed.
14729
14730 2005-12-15  Alexander Shopov  <ash@contact.bg>
14731
14732         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14733
14734 2005-12-14  Dan Williams  <dcbw@redhat.com>
14735
14736         * include/NetworkManager.h
14737           src/NetworkManagerWireless.c
14738                 - Rearrange 802.11 wireless-specific capabilities again
14739
14740         * src/Makefile.am
14741                 - Forgot to add wpa.c/wpa.h to the makefiles
14742
14743         * src/NetworkManagerAP.[ch]
14744                 - Implement access point capabilities and parse the
14745                         WPA/RSN IEs into the capability bitfield
14746                 - Switch the "encrypted" attribute to utilize the bitfield
14747                         and capabilities rather than being independent
14748
14749         * src/NetworkManagerDevice.c
14750                 - (nm_device_wireless_get_activation_ap): break it horribly
14751                         until we can push NMAPSecurity objects into access point
14752                         objects and through the activation chain
14753                 - Stuff WPA & RSN IEs into AP capabilities
14754
14755         * src/nm-dbus-nm.c
14756                 - Take a shot at actually making setActiveDevice work
14757
14758         * src/wpa.[ch]
14759                 - Make the API a bit saner
14760
14761 2005-12-14  Dan Williams  <dcbw@redhat.com>
14762
14763         * include/NetworkManager.h
14764                 - Add 802.11-specific capability for 802.1x key
14765                         management
14766
14767         * src/wpa.[ch]
14768                 - Pull in WPA IE and RSN IE parsing code from
14769                         wpa_supplicant so we can determine access point
14770                         capabilities
14771                 - Move WPA-related constants here from NetworkManagerAP.h
14772                         and NetworkManagerDevice.c
14773
14774         * src/NetworkManagerDevice.c
14775           src/NetworkManagerAP.[ch]
14776                 - Use WPA-related constants from wpa.h
14777
14778 2005-12-14  Dan Williams  <dcbw@redhat.com>
14779
14780         * include/NetworkManager.h
14781                 - Update and split 802.11 wireless-specific capabilities from
14782                         generic device capabilities
14783
14784         * src/NetworkManagerDevice.c
14785           src/NetworkManagerDevicePrivate.h
14786                 - (nm_device_wireless_discover_capabilities): Move 802.11
14787                         wireless-specific capability checks to
14788                         NetworkManagerWireless.c
14789                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14790                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14791
14792         * src/NetworkManagerWireless.[ch]
14793                 - (nm_802_11_wireless_discover_capabilities): Check extended
14794                         802.11 wireless-specific capabilities of the driver
14795
14796 2005-12-14  Robert Love  <rml@novell.com>
14797
14798         Patch from Stefan Scheler <sscheler@suse.de>:
14799         * src/NetworkManagerDevice.c: call backend code to activate and
14800           deactivate NIS.
14801         * src/NetworkManagerSystem.h: add new NIS interfaces.
14802         * src/backends/NetworkManagerDebian.c,
14803           src/backends/NetworkManagerGentoo.c,
14804           src/backends/NetworkManagerRedHat.c,
14805           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14806           support.
14807         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14808
14809 2005-12-14  Dan Williams  <dcbw@redhat.com>
14810
14811         * src/nm-ap-security*.[ch]
14812                 - Add AP security abstractions to NetworkManager
14813
14814         * src/nm-dbus-device.c
14815                 - Begin to parse new format dbus messages from the applet
14816                         and construct an AP security object from the message
14817
14818         * libnm-util/dbus-helpers.c
14819                 - Use message iters so we can append the key as a fixed
14820                         array of bytes, which actually works rather than
14821                         using dbus_message_append_args() as we were before
14822
14823 2005-12-14  Dan Williams  <dcbw@redhat.com>
14824
14825         * src/NetworkManagerDbus.c
14826           gnome/applet/applet-dbus.c
14827                 - Fix up dbus service replacement options.  The applet
14828                         should allow replacement, NM itself should not.
14829
14830 2005-12-13  Robert Love  <rml@novell.com>
14831
14832         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14833           Instead, fail silently if config is NULL by not asserting and not
14834           returning FALSE.  Also, make sure we always fclose() the file.
14835
14836 2005-12-13  Robert Love  <rml@novell.com>
14837
14838         Patch by Stefan Scheler <sscheler@suse.de>:
14839         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14840            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14841            via DHCP.  Still need the backends to commit the NIS domain name and
14842            and servers to yp.conf as needed.
14843
14844 2005-12-13  Robert Love  <rml@novell.com>
14845
14846         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14847           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14848
14849 2005-12-13  Robert Love  <rml@novell.com>
14850
14851         * src/named-manager/nm-named-manager.c: Don't unref the config until
14852           after we call rewrite_resolv_conf(), because get_last_default_domain()
14853           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14854           `config != NULL' failed" assertion failures and "Could not commit DNS
14855           changes" warnings.
14856
14857 2005-12-12  Dan Williams  <dcbw@redhat.com>
14858
14859         * libnm-util/dbus-helpers.[ch]
14860           libnm-util/Makefile.am
14861                 - new helper calls to consolidate locations where
14862                         NM's setDevice method is called
14863
14864         * gnome/applet/applet-dbus-devices.c
14865           gnome/applet/wireless-security-option.c
14866           gnome/applet/wso-*
14867                 - Implement dbus message param append function for
14868                         all wireless security options
14869
14870 2005-12-12  Robert Love  <rml@novell.com>
14871
14872         * libnm-util/cipher-wep-passphrase.c,
14873           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14874           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14875           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14876           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14877           When handling keys, we don't care what the sign is.  The compiler
14878           guarantees us that we get our 8-bits, which is all we care about.
14879         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14880
14881 2005-12-12  Dan Williams  <dcbw@redhat.com>
14882
14883         * gnome/applet/applet-dbus-devices.[ch]
14884           gnome/applet/applet.c
14885           gnome/applet/other-network-dialog.c
14886           gnome/applet/wireless-security-manager.[ch]
14887           gnome/applet/wireless-security-option.[ch]
14888           gnome/applet/wso-*
14889                 - Push the wireless security options further into the applet
14890
14891 2005-12-12  Robert Love  <rml@novell.com>
14892
14893         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14894           return any name servers.  That is perfectly valid.  (Novell #134369).
14895
14896 2005-12-11  Dan Williams  <dcbw@redhat.com>
14897
14898         * gnome/applet/wso-*
14899           gnome/applet/wireless-security-option.*
14900           gnome/applet/Makefile.am
14901                 - split each security option out so we can eventually
14902                         have each one build up their own dbus message
14903                         arguments to send to NM
14904
14905 2005-12-11  Dan Williams  <dcbw@redhat.com>
14906
14907         * Make validation of the key work correctly
14908
14909 2005-12-11  Dan Williams  <dcbw@redhat.com>
14910
14911         * Hook more bits of the Other Network Dialog up to the
14912                 wireless security manager stuff, and restructure
14913                 bits of the dialog so there's less code.
14914
14915 2005-12-10  Dan Williams  <dcbw@redhat.com>
14916
14917         * gnome/applet/Makefile.am
14918                 - Add libnm-util to includes
14919                 - Add libnm-util to link list
14920                 - Add wireless-security-common.* to compile list
14921
14922         * gnome/applet/other-network-dialog.c
14923                 - Convert to using the WirelessSecurityManager code and
14924                         widgets
14925
14926         * gnome/applet/passphrase-dialog.c
14927                 - Comment out references to stuff in the glade file that
14928                         cause runtime errors until it can be fixed up
14929                         to use the WirelessSecurityManager code
14930
14931         * gnome/applet/wireless-applet.glade
14932                 - Rename some widgets
14933                 - Add widgets for the WirelessSecurityManager code
14934                 - Remove passphrase-related stuff since that's now
14935                         handled by the WirelessSecurityManager code
14936
14937 2005-12-10  Dan Williams  <dcbw@redhat.com>
14938
14939         * gnome/applet/applet-dbus-devices.c
14940                 - Print out error message details for dbus pending call callbacks
14941                 - Move nmwa_dbus_update_devices() up
14942
14943         * gnome/applet/applet-dbus-vpn.c
14944                 - Print out error message details for dbus pending call callbacks
14945
14946 2005-12-10  Dan Williams  <dcbw@redhat.com>
14947
14948         * libnm-util/*
14949                 - More fixups
14950                 - Remove cipher-manager.* because we don't need it
14951                 - Forgot to add gnome-keyring-md5 files to compile list
14952
14953 2005-12-09  Dan Williams  <dcbw@redhat.com>
14954
14955         * libnm-util/*
14956           configure.in
14957           Makefile.am
14958                 - Add a utility library for clients of NetworkManager.  It's
14959                         only targetted at applets for the moment, and contains
14960                         a generalized 802.11 cipher framework for different
14961                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14962
14963 2005-12-09  Robert Love  <rml@novell.com>
14964
14965         * src/NetworkManagerDevice.c: handle error better in
14966           nm_device_set_mode().
14967
14968 2005-12-08  Robert Love  <rml@novell.com>
14969
14970         * include/NetworkManager.h: add WPA capabilities constants
14971         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14972           or WPA2 and add the capabilities bits as appropriate.
14973
14974 2005-12-08  Robert Love  <rml@novell.com>
14975
14976         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14977           NetworkManagerDispatcher.
14978         * configure.in, initscript/SUSE/.cvsignore,
14979           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14980           initscript.
14981
14982 2005-12-08  Robert Love  <rml@novell.com>
14983
14984         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14985
14986 2005-12-08  Robert Love  <rml@novell.com>
14987
14988         * src/NetworkManagerDevice.c: We want to fall back on and default to
14989           IW_MODE_AUTO, not -1, which is more in line with our previous
14990           behavior.  Otherwise, we try to set the wireless mode to -1 in
14991           nm_device_set_mode().
14992
14993 2005-12-07  Robert Love  <rml@novell.com>
14994
14995         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14996           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14997           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14998           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14999           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15000           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15001           zero.
15002
15003 2005-12-07  Robert Love  <rml@novell.com>
15004
15005         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15006           supplied IP is invalid, fall back to DHCP.
15007
15008 2005-12-07  Dan Williams  <dcbw@redhat.com>
15009
15010         * Convert NETWORK_MODE_* constants to IW_MODE_*
15011         * Make all the get_mode/set_mode functions take and return 'int'
15012         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15013
15014 2005-12-07  Robert Love  <rml@novell.com>
15015
15016         * src/NetworkManagerDevice.c: strncpy() buffer check.
15017         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15018
15019 2005-12-06  Dan Williams  <dcbw@redhat.com>
15020
15021         * gnome/applet/applet-dbus.c
15022                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15023
15024         * gnome/applet/applet-dbus-vpn.c
15025                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15026                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15027                         to TRUE here if stage was ACTIVATED
15028
15029 2005-12-06  Dan Williams  <dcbw@redhat.com>
15030
15031         * Change nm_device_is_* functions to better names:
15032                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15033                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15034
15035 2005-12-06  Dan Williams  <dcbw@redhat.com>
15036
15037         * Change naming of NMDeviceType to something more sensible:
15038                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15039                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15040                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15041
15042 2005-12-06  Dan Williams  <dcbw@redhat.com>
15043
15044         * Move NetworkManager.h -> include/NetworkManager.h
15045         * Split out VPN stuff into include/NetworkManagerVPN.h
15046         * Fix up makefiles to include new location
15047         * Fix up sources to include NetworkManagerVPN.h
15048
15049 2005-12-06  Dan Williams  <dcbw@redhat.com>
15050
15051         Various changes in the applet to move VPN connection "state" -> "stage",
15052         which it actually is.  I'd like to change the signal as well when we
15053         break compat in the near future.
15054
15055 2005-12-06  Dan Williams  <dcbw@redhat.com>
15056
15057         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15058         * initscript/Slackware/rc.networkmanager
15059                 - Cosmetic fix
15060
15061         * src/backends/NetworkManagerSlackware.c
15062                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15063                         interfaces
15064
15065 2005-12-05  Robert Love  <rml@novell.com>
15066
15067         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15068           to free, particularly here as it just barfs.
15069
15070 2005-12-05  Dan Williams  <dcbw@redhat.com>
15071
15072         * gnome/applet/applet-dbus.c
15073                 - Work with dbus 0.6 too
15074
15075 2005-12-03  Dan Williams  <dcbw@redhat.com>
15076
15077         * src/NetworkManagerUtils.[ch]
15078           src/nm-ip4-config.c
15079                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15080                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15081
15082 2005-12-01  Robert Love  <rml@novell.com>
15083
15084         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15085           need a NULL for the '...' parameter, too, to fill the so-called
15086           sentinel.
15087
15088 2005-12-01  Robert Love  <rml@novell.com>
15089
15090         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15091           interface is already gone, so don't call rtnl_link_change() to down
15092           it (which will segfault, anyhow).
15093
15094 2005-11-22  Robert Love  <rml@novell.com>
15095
15096         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15097           gateway is not set, just print a little note.  Configurations without
15098           gateways are valid.
15099
15100 2005-11-22  Robert Love  <rml@novell.com>
15101
15102         * README: update
15103
15104 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15105
15106         * configure.in: Added Finnish translation to ALL_LINGUAS
15107
15108 2005-11-14  Robert Love  <rml@novell.com>
15109
15110         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15111           Niemueller <tim@niemueller.de>.
15112
15113 2005-11-08  Dan Williams  <dcbw@redhat.com>
15114
15115         Patch from Bill Moss <bmoss@clemson.edu>
15116         * src/NetworkManagerDevice.c
15117                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15118                         of nm_policy_schedule_activation_finish() to prevent a
15119                         race condition that causes the link to be dropped
15120
15121 2005-11-08  Dan Williams  <dcbw@redhat.com>
15122
15123         Patch from Bill Moss <bmoss@clemson.edu>
15124         * src/NetworkManagerAPList.c
15125           src/NetworkManagerDevice.c
15126           src/NetworkManagerDbus.c
15127                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15128                         we get more readable ether/mac addresses
15129
15130 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15131
15132         * gnome/applet/main.c: Don't set the restart command.  This fixes
15133         the issue where the restart command was getting copies of all its
15134         arguments for each time the applet was restarted.
15135
15136 2005-11-02  Robert Love  <rml@novell.com>
15137
15138         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15139           if the widget state differs from our saved state.  This ensures we
15140           do not enter an endless loop of death and destruction.  Also, this
15141           guarantees us that we enforce the widget state.
15142
15143 2005-11-02  Robert Love  <rml@novell.com>
15144
15145         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15146         * gnome/applet/applet-dbus-devices.c: invoke the new function
15147           nmwa_enable_wireless_set_active() to ensure that the state of the
15148           'Enable Wireless' checkbox matches the daemon's state.  This is a
15149           concern because the daemon remembers the state.
15150
15151 2005-11-02  Robert Love  <rml@novell.com>
15152
15153         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15154           Enabled", as checkboxes should be actions/commands not positive
15155           statements, otherwise they are confusing in the unselected case.  See
15156           examples in GNOME HIG, Chapter 6.
15157
15158 2005-11-02  Robert Love  <rml@novell.com>
15159
15160         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15161           show a list of wireless networks or the wireless devices or the
15162           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15163           a bad bug: If wireless is disabled and the user picks a wireless
15164           network, NM will switch to the network, only to immediately switch
15165           back, as wireless is disabled.  This also reassures people that NM
15166           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15167
15168 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15169
15170         * gnome/applet/applet.c:
15171         * gnome/applet/applet.h:
15172         Partial backout of Dan's timeout animation patch.
15173         Timeout IDs cannot legally be 0, so revert the code in place to handle
15174         a timeout ID of 0 to denote the timeout isn't running.
15175
15176 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15177
15178         * src/NetworkManagerPolicy.c:
15179         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15180
15181 2005-10-28  Robert Love  <rml@novell.com>
15182
15183         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15184           "Import Saved Configuration..." to make it clear that importing is
15185           not the next step, but an option.  As an aside, a nice TODO would be
15186           to move Importing out of the vpn-specific dialog and into the main
15187           property editor, as Importing goes with Adding, but that will require
15188           some rearchitecting of the VPN stuff I suspect.
15189
15190 2005-10-27  Dan Williams  <dcbw@redhat.com>
15191
15192         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15193         we should replace most of the distro-specific backend code
15194         with libnl stuff.
15195
15196         Get it here:  http://people.suug.ch/~tgr/libnl/
15197
15198         * configure.in
15199           src/Makefile.am
15200                 - Add checks for libnl pkgconfig file
15201                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15202
15203         * src/NetworkManagerSystem.c
15204           src/nm-ip4-config.[ch]
15205                 - Use libnl rather than ioctl() for most things
15206                 - Remove unused functions
15207
15208 2005-10-27  Robert Love  <rml@novell.com>
15209
15210         * src/backends/NetworkManagerSuSE.c: fix warning message text
15211
15212 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15213
15214         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15215
15216 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15217
15218         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15219         project page <http://www.gnome.org/projects/NetworkManager/>
15220
15221 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15222
15223         * gnome/applet.c: Also use translator credits if we don't have
15224         the new GtkAboutDialog (older versions of GTK+)
15225
15226 2005-10-26  Robert Love  <rml@novell.com>
15227
15228         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15229           failure; correct usage text for "--no-daemon"
15230
15231 2005-10-25  Dan Williams  <dcbw@redhat.com>
15232
15233         * src/NetworkManagerDevice.c
15234                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15235                         no scan results
15236                 - (free_process_scan_cb_data): unref the device when freeing results
15237                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15238                         so we don't unref the device underneath ourselves
15239
15240 2005-10-25  Dan Williams  <dcbw@redhat.com>
15241
15242         * Back out 2005-10-24 commit from Tor Krill.  Patch
15243                 causes nameservers never to be removed from named.
15244
15245 2005-10-24  Dan Williams  <dcbw@redhat.com>
15246
15247         Clean up wireless scanning and wireless link probing.
15248
15249         * src/NetworkManagerDevice.c
15250                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15251                         just see if there's an activation request on the device, and check the
15252                         current link against the activation request access point's ESSID.
15253                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15254                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15255                         don't call process_scan_results() on zero-length data
15256                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15257                         15 seconds (from 10)
15258
15259 2005-10-24  Dan Williams  <dcbw@redhat.com>
15260
15261         Cleanup some applet stuff:
15262
15263         - Animation timeouts.  If NM died while the applet was animating,
15264                 the applet would not hide itself.  This is now fixed.
15265
15266         - Remove some dead code
15267
15268         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15269                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15270
15271         - Track animation timeout using a gboolean rather than the timeout's
15272                 ID, since timeout IDs can legally be 0.
15273
15274 2005-10-24  Dan Williams  <dcbw@redhat.com>
15275
15276         * src/backends/interface_parser.c
15277                 - Add void to function declarations that need it
15278                         to match patch from Engin AYDOGAN
15279
15280         * src/backends/interface_parser.h
15281                 - Remove unused prototype for ifparser_interfaces()
15282
15283         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15284         * src/backends/interface_parser.h:
15285                 - Compile fixes for gcc 4.0.2 (add void)
15286
15287 2005-10-24  Dan Williams  <dcbw@redhat.com>
15288
15289         Patch from Tor Krill <tor@krill.nu>
15290         * src/named-manager/nm-named-manager.c
15291                 - Write more than just the first nameserver to /etc/resolv.conf
15292                 - Write out valid /etc/resolv.conf on exit
15293
15294 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15295
15296         * gnome/applet/applet-dbus-vpn.c:
15297         Get rid of spurious newlines in debug console output
15298
15299 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15300
15301         * src/backends/NetworkManagerGentoo.c:
15302         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15303
15304 2005-10-20  Robert Love  <rml@novell.com>
15305
15306         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15307           direct comparison of floating point values, which is never correct.
15308           Also some misc. cleanup.
15309
15310 2005-10-19  Robert Love  <rml@novell.com>
15311
15312         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15313
15314 2005-10-19  Robert Love  <rml@novell.com>
15315
15316         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15317           sensitivity of the buttons.  Specificaly, do the right thing if
15318           there are no entries.
15319
15320 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15321
15322         * configure.in: Update check for adequate wireless-tools
15323         with an AC_TRY_COMPILE for the new symbols we use.
15324
15325 2005-10-19  Dan Williams  <dcbw@redhat.com>
15326
15327         * src/NetworkManagerDevice.c
15328                 - (process_scan_results): don't drop the last (or only)
15329                         access point we see
15330
15331 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15332
15333         * src/backends/NetworkManagerSlackware.c:
15334         Patch from Nico <lordllucifer@gmail.com>
15335                 - Update the Slackware backend.
15336
15337 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15338
15339         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15340         if we've got GLib 2.8.0
15341
15342 2005-10-18  Robert Love  <rml@novell.com>
15343
15344         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15345           function nm_schedule_state_change_signal_broadcast() when we
15346           deactivate a device, too.
15347
15348 2005-10-18  Robert Love  <rml@novell.com>
15349
15350         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15351           be used uninitialized.
15352
15353 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15354
15355         * test/libnm_glib_test.c: Test unregistering, too.
15356
15357 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15358
15359         * configure.in: Bump to 0.5.0
15360
15361 2005-10-17  Dan Williams  <dcbw@redhat.com>
15362
15363         * NetworkManager.h
15364                 - Remove WPA-related constants so they aren't part of the
15365                         upcoming release.
15366
15367 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15368
15369         * gnome/applet/applet.c:
15370         * gnome/applet/applet.h:
15371         Desensitize the 'Connection Information' menu item when there is
15372         no active connection.
15373
15374 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15375
15376         * gnome/libnm_glib/libnm_glib.c:
15377         Make libnm_glib_unregister_callback () actually unregister the callback
15378
15379 2005-10-17  Robert Love  <rml@novell.com>
15380
15381         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15382           two seconds -- tries is updated every 1/10 of a second, not every
15383           second..
15384
15385 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15386
15387         * gnome/applet/applet-dbus-info.c:
15388         Let D-BUS know that we haven't handled a message when we haven't.
15389
15390 2005-10-17  Robert Love  <rml@novell.com>
15391
15392         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15393           in order to remain 64-bit clean.
15394
15395 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15396
15397         * gnome/applet/applet-dbus-info.c:
15398         Find network encryption keys asynchronously
15399
15400 2005-10-17  Robert Love  <rml@novell.com>
15401
15402         * src/backends/NetworkManagerDebian.c,
15403           src/backends/NetworkManagerRedHat,
15404           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15405           comment delimiter.
15406
15407 2005-10-17  Robert Love  <rml@novell.com>
15408
15409         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15410           "/etc"
15411
15412 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15413
15414         * src/NetworkManagerDevice.c: (process_scan_results)
15415         Fix logic that checks to see whether we have an ESSID.
15416
15417 2005-10-15  Dan Williams  <dcbw@redhat.com>
15418
15419         Move scanning code into NetworkManager rather than use iwlib's
15420         iw_scan() function, so that we can figure out AP capabilities.
15421
15422         * NetworkManager.h
15423                 - Add AP capability bits
15424
15425         * src/NetworkManagerAP.[ch]
15426                 - Add capability field to NMAccessPoint structure
15427                 - Add WPA & RSN Information Element fields and accessor
15428                         functions to NMAccessPoint
15429
15430         * src/NetworkManagerDevice.c
15431                 - Remove usage of iw_scan
15432                 - Add scanning code to NetworkManager rather than use
15433                         iw_scan() from iwlib
15434
15435         * src/NetworkManagerUtils.[ch]
15436                 - (nm_dispose_scan_results): remove, unused
15437
15438 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15439
15440         * gnome/libnm_glib/libnm_glib.c:
15441         * gnome/libnm_glib/libnm_glib.h:
15442         Use guint instead of gint for callback IDs.
15443
15444 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15445
15446         * gnome/applet/applet.c:
15447         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15448         every 1000ms.  It will unconditionally call nmwa_update_state which
15449         kills the existing animation timeout and registers a new one with a
15450         callback to draw a new frame every 100ms.  There are 11 connecting
15451         icon frames, so the last 2 frames kept getting dropped.  Only reset
15452         the animation timeout if we aren't animating.
15453
15454 2005-10-11  Dan Williams  <dcbw@redhat.com>
15455
15456         * gnome/applet/applet-dbus-devices.c
15457                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15458                         We want to grab the product & vendor from net.physical_dev
15459                         rather than info.parent.
15460
15461 2005-10-11  Dan Williams  <dcbw@redhat.com>
15462
15463         * src/NetworkManagerDevice.c
15464                 - Use the driver's WE version for scanning rather than
15465                         the WE version NM was compiled with.  Fixes random
15466                         crashes in iw_scan () in iwlib.
15467
15468 2005-10-10  Dan Williams  <dcbw@redhat.com>
15469
15470         * Remove nm_system_load_device_modules() from backend files
15471                 and from NetworkManager.c
15472
15473 2005-10-10  Dan Williams  <dcbw@redhat.com>
15474
15475         * src/NetworkManagerPolicy.c
15476                 - Fix some bugs introduced by the capabilities patch
15477
15478 2005-10-10  Dan Williams  <dcbw@redhat.com>
15479
15480         * gnome/applet/applet-dbus-info.c
15481                 - (nmi_dbus_get_network_key): hide the menu when putting up
15482                         the keyring dialog.  (not sure if the code is right...)
15483
15484 2005-10-09  Dan Williams  <dcbw@redhat.com>
15485
15486         Patch from Bill Moss <bmoss@clemson.edu>
15487         * src/NetworkManagerDevice.c
15488                 - (nm_device_set_user_key_for_network): don't try to set auth
15489                         mode on the AP from the allowed list if it's NULL
15490
15491 2005-10-09  Dan Williams  <dcbw@redhat.com>
15492
15493         * Replace the "driver support level" stuff with capabilities.  The
15494                 capability field is a bitfield that is more flexible than the
15495                 old driver support level thing.  It's mostly so we can easily
15496                 figure out what supports WPA and what doesn't, but should be
15497                 quite useful later.
15498
15499 2005-10-09  Dan Williams  <dcbw@redhat.com>
15500
15501         * test/nmtest.c
15502                 - Removed
15503
15504         * test/nm-tool.c
15505           test/Makefile.am
15506                 - Added new "nm-tool" tool that gives quite a bit more
15507                         information
15508
15509 2005-10-07  Robert Love  <rml@novell.com>
15510
15511         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15512           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15513           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15514           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15515           appropriate
15516
15517 2005-10-07  Robert Love  <rml@novell.com>
15518
15519         * configure.in: Change our compile flags for the betterment of mankind.
15520           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15521           prototype is very bad on 64-bit platforms as types default to int but
15522           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15523           "-Wmissing-declarations" to warn if we define an exported function
15524           but fail to put it in a header.
15525
15526 2005-10-07  Robert Love  <rml@novell.com>
15527
15528         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15529           by the name nm_update_device_wireless_timeouts() and once tried,
15530           without success, to steal my pet turtle.
15531
15532 2005-10-07  Robert Love  <rml@novell.com>
15533
15534         * Cleanup prototypes: put some functions in header files and mark
15535           others as 'static' -- feel free to invert
15536         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15537           nm_vpn_manager_vpn_connection_list_copy()
15538         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15539           nm_vpn_service_get_dbus_connection()
15540         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15541           nm_vpn_manager_vpn_connection_list_copy()
15542         * src/vpn-manager/nm-vpn-service.c: make
15543           nm_vpn_service_act_request_failed() and
15544           nm_vpn_service_stage2_daemon_wait() static
15545         * src/vpn-manager/nm-vpn-service.h: add prototype for
15546           nm_vpn_service_get_dbus_connection()
15547
15548 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15549
15550         * gnome/applet/applet.c:
15551         * gnome/applet/applet.h:
15552         * gnome/applet/icons/Makefile.am:
15553         Convey information about the current connection stage in the
15554         icons themselves instead of creating a separate progress bar.
15555
15556 2005-10-04  Robert Love  <rml@novell.com>
15557
15558         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15559           convert an ether_addr structure's MAC into a string, because the
15560           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15561           versus 07:3B:04, while the former will not.
15562
15563 2005-10-04  Robert Love  <rml@novell.com>
15564
15565         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15566           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15567           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15568           default route in the 'Connection Information' dialog, send primary
15569           and secondary name servers in in "getProperties" DBUS method, add
15570           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15571           secondary domain name servers are crucial pieces of information
15572           that a user might need in debugging a network problem.
15573
15574 2005-10-04  Robert Love  <rml@novell.com>
15575
15576         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15577           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15578           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15579           default route in the 'Connection Information' dialog, send default
15580           route in "getProperties" DBUS method, add network_device_set_route(),
15581           and network_device_get_route().  The Gateway is a crucial piece of
15582           connection-related information that a user might need in debugging a
15583           network problem.
15584
15585 2005-10-03  Robert Love  <rml@novell.com>
15586
15587         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15588           NULL.
15589
15590 2005-10-02  Dan Williams  <dcbw@redhat.com>
15591
15592         * Shorten time taken to sleep by fastpathing bits of device deactivation
15593                 necessary for sleep.
15594
15595         * Fix issue where deactivating a device might deactivate the active
15596                 VPN connection, even if the VPN was not using the device.
15597
15598 2005-10-02  Dan Williams  <dcbw@redhat.com>
15599
15600         * gnome/applet/applet.c
15601                 - Adjust signal strength -> icon mapping values slightly
15602                         (so that 51% signal doesn't show a 75% icon) by adding
15603                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15604                         shows 50% icon, etc.
15605
15606 2005-09-29  Robert Love  <rml@novell.com>
15607
15608         * src/NetworkManager.c: removed unused variable.
15609
15610 2005-09-28  Dan Williams  <dcbw@redhat.com>
15611
15612         Support for named + DBus, using Red Hat DBus patches for named.  You
15613         can find those patches here, with "dbus" in the patch's filename:
15614
15615                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15616
15617         Don't forget the named dbus service file either.
15618
15619         Instead of writing a config file and spawing a named process, NM will
15620         use an already-running dbus-enabled named if it finds one.  NM will
15621         update named's forwarder configuration on the fly using dbus.
15622
15623         If there is no dbus-enabled named running, NM will automatically fall
15624         back to writing the most-recent DNS server information to /etc/resolv.conf
15625         and calling nm_system_update_dns() to kick the system's resolver.
15626
15627         Accordingly, all named-related configure-time options have been removed.
15628
15629 2005-09-26  Robert Love  <rml@novell.com>
15630
15631         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15632           ISDN support!
15633         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15634           bug in error path if "ASKPASSWORD" is "no".
15635
15636 2005-09-26  Robert Love  <rml@novell.com>
15637
15638         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15639           comment in /etc/resolv.conf -- ';' is not.
15640
15641 2005-09-19  Dan Williams  <dcbw@redhat.com>
15642
15643         * src/backends/NetworkManagerRedHat.c:
15644         * src/backends/NetworkManagerDebian.c:
15645         * src/backends/NetworkManagerSlackware.c:
15646         * src/backends/NetworkManagerGentoo.c:
15647         * src/backends/NetworkManagerSUSE.c:
15648         Fix invocations of "/sbin/ip address" to use short form instead
15649
15650 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15651
15652         * src/nm-dbus-device.c: Don't assert when getting
15653         addresses of a not yet connected interface.
15654
15655         * gnome/applet/applet.c: Free icons if loading fails.
15656         Use translator-credits so translators can make themselves known.
15657
15658 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15659
15660         * src/NetworkManagerAP.c:
15661         * src/NetworkManagerAP.h:
15662         * src/NetworkManagerDevice.c:
15663         Set a blacklist for certain common manufacturer default ESSIDs:
15664         APs with these ESSIDs are extremely likely to be completely
15665         different networks: connecting to one should not make NM
15666         auto-connect to every other AP with the same default ESSID.
15667
15668 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15669
15670         * gnome/applet/wireless-applet.glade:
15671         The passphrase entry should also activate the default
15672
15673         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15674
15675         * gnome/applet/applet-dbus-devices.c:
15676         * gnome/applet/applet.c:
15677         * gnome/applet/nm-device.c:
15678         * gnome/applet/nm-device.h:
15679         * src/NetworkManagerUtils.c:
15680         * src/NetworkManagerUtils.h:
15681         * src/nm-dbus-device.c:
15682         I've got a fever, and the only cure for it is less ioctl.
15683         Make NM push IP data rather than make the applet open a socket
15684         to the device.
15685
15686 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15687
15688         * gnome/applet/applet.c:
15689         * gnome/applet/applet-dbus-devices.c:
15690         * gnome/applet/applet-dbus-info.c:
15691         * gnome/applet/passphrase-dialog.c:
15692         * gnome/libnm_glib/libnm_glib.c:
15693         * gnome/vpn-properties/nm-vpn-properties.c:
15694         * src/autoip.c:
15695         * src/backends/NetworkManagerRedHat.c:
15696         * src/named-manager/nm-named-manager.c:
15697         * src/NetworkManagerAPList.c:
15698         * src/NetworkManager.c:
15699         * src/NetworkManagerDbus.c:
15700         * src/NetworkManagerDevice.c:
15701         * src/NetworkManagerPolicy.c:
15702         * src/NetworkManagerSystem.c:
15703         * src/nm-dbus-device.c:
15704         * src/nm-dbus-nm.c:
15705         * src/vpn-manager/nm-vpn-manager.c:
15706         * src/vpn-manager/nm-vpn-service.c:
15707         * test/libnm_glib_test.c:
15708         * test/nminfotest.c:
15709         * test/nmtestdevices.c:
15710         Fix a bunch of 'unused variable' compiler warnings
15711
15712         * NetworkManager.h:
15713         * gnome/applet/applet-dbus-info.c:
15714         * gnome/applet/applet-dbus-info.h:
15715         * gnome/applet/applet.c:
15716         * gnome/applet/applet.h:
15717         * src/NetworkManager.c:
15718         * src/NetworkManagerDbus.c:
15719         * src/NetworkManagerDbus.h:
15720         * src/NetworkManagerDevice.c:
15721         * src/NetworkManagerDevice.h:
15722         * src/NetworkManagerMain.h:
15723         * src/NetworkManagerWireless.c:
15724         * src/NetworkManagerWireless.h:
15725         * src/nm-dbus-nm.c:
15726         Make NetworkManager be smart about how frequently to scan
15727         based on its current state.  Remove the UI for choosing when
15728         to scan.  Scanning still may disabled completely by the user
15729         via the "Wireless Enabled" menu item.
15730
15731 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15732
15733         * gnome/applet/applet.c:
15734         Also overlay the vpn connecting icons onto the wired icon,
15735         when appropriate.
15736
15737         * gnome/vpn-properties/nm-vpn-properties.glade:
15738         Clean up a few strings to use better grammar and proper casing.
15739
15740 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15741
15742         * gnome/applet/vpn-connection.c:
15743         * gnome/applet/vpn-connection.h:
15744         Add nmwa_vpn_connection_is_activating ()
15745
15746         * gnome/applet/applet.c:
15747         * gnome/applet/applet.h:
15748         * gnome/applet/icons/nm-vpn-connecting*.png:
15749         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15750         the user know something's happening between clicking the VPN item and it
15751         actually being connected.
15752
15753 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15754
15755         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15756         failure case as well.
15757
15758 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15759
15760         * gnome/panel/eggtrayicon.[ch]:
15761         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15762
15763 2005-09-07  Dan Williams  <dcbw@redhat.com>
15764
15765         Patch from Bill Moss <bmoss@clemson.edu>
15766         * src/applet-dbus.c
15767                 - (nmwa_dbus_filter): strip whitespace from beginning
15768                         and end of VPN login banner
15769
15770 2005-09-07  Dan Williams  <dcbw@redhat.com>
15771
15772         * The great VPN Manager rewrite of 2005
15773
15774 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15775
15776         * gnome/applet/menu-items.c:
15777         * gnome/applet/nm-device.c:
15778         * gnome/applet/wireless-network.c:
15779         * gnome/libnm_glib/libnm_glib.c:
15780         * src/NetworkManagerDbusUtils.c:
15781         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15782         g_malloc0 doesn't return NULL
15783
15784 2005-09-06  Dan Williams  <dcbw@redhat.com>
15785
15786         Patch from Tomislav Vujec <tvujec@redhat.com>
15787         * src/NetworkManagerDevice.c
15788                 - (nm_get_device_by_udi): don't return a device when we
15789                         actually didn't find what we were looking for
15790
15791 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15792
15793         * gnome/applet/applet-dbus-devices.c:
15794         * gnome/applet/applet-dbus-devices.h:
15795         * gnome/applet/applet-dbus.c:
15796         * src/NetworkManagerDbus.c:
15797         * src/NetworkManagerDbus.h:
15798         * src/NetworkManagerDevice.c:
15799         * src/nm-dbus-device.c:
15800         Make NM push updates about active device strength when it changes,
15801         rather than having the applet poll every 2s.
15802
15803 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15804
15805         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15806         network_device_set_strength
15807
15808 2005-09-04  Dan Williams  <dcbw@redhat.com>
15809
15810         Patch from Bill Nottingham <notting@redhat.com>
15811         * src/NetworkManagerDevice.c
15812                 - (nm_device_activation_cancel): reset the quit_activation flag
15813
15814 2005-09-04  Dan Williams  <dcbw@redhat.com>
15815
15816         * src/nm-activation-request.c
15817                 - (nm_act_request_unref): actually free the structure,
15818                         which we didn't seem to be doing before
15819
15820 2005-09-04  Dan Williams  <dcbw@redhat.com>
15821
15822         Patch from John Palmieri <johnp@redhat.com>
15823         * gnome/applet/applet-dbus-devices.c
15824                 - Fix up unreffing of DBusMessage objects
15825
15826 2005-09-04  Dan Williams  <dcbw@redhat.com>
15827
15828         Patch from John Palmieri <johnp@redhat.com>
15829         * gnome/applet/nm-device.c
15830                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15831
15832 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15833
15834         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15835
15836 2005-09-02  Bill Nottingham  <notting@redhat.com>
15837
15838         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15839
15840 2005-09-01  Dan Williams  <dcbw@redhat.com>
15841
15842         * src/NetworkManager.c
15843                 - (nm_remove_device_from_list): rename to nm_remove_device
15844                 - (nm_hal_device_removed): call nm_remove_device()
15845
15846         * src/NetworkManagerDevice.c
15847                 - Change the NMWirelessScanCB member 'reschedule' which
15848                         wasn't used to 'force' to indicate that we need to
15849                         force a scan when adding a device
15850
15851         * src/nm-dbus-nm.c
15852                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15853                         from the device list
15854                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15855
15856 2005-09-01  Robert Love  <rml@novell.com>
15857
15858         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15859           and the check "!iface" in the error case is probably never true.
15860
15861 2005-09-01  Dan Williams  <dcbw@redhat.com>
15862
15863         Patch from Bill Nottingham <notting@redhat.com>
15864         * src/backends/NetworkManagerRedHat.c
15865                 - Add initial dialup support to Red Hat/Fedora backend
15866
15867 2005-09-01  Dan Williams  <dcbw@redhat.com>
15868
15869         * gnome/applet/applet-dbus-devices.c
15870                 - Sort both wireless networks and devices again, which got
15871                         broken when removing threading
15872
15873 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15874
15875         * gnome/applet/applet.c:
15876         Only show the "Stop/Start All Wireless Devices" menuitem
15877         if we actually have wireless devices.
15878
15879         * gnome/applet/applet-dbus-info.c:
15880         * gnome/applet/applet.c:
15881         * gnome/applet/other-network-dialog.c:
15882         * gnome/applet/vpn-password-dialog.c:
15883         Drop the gtk_dialog_run () calls in favor of connecting to
15884         "response" signals, needed now that the applet is not threaded.
15885
15886 2005-08-31  Dan Williams  <dcbw@redhat.com>
15887
15888         Patch from Bill Moss <bmoss@clemson.edu>
15889         * src/NetworkManagerDevice.c
15890                 - (nm_device_wireless_scan): fix scan timeout values
15891
15892 2005-08-30  Dan Williams  <dcbw@redhat.com>
15893
15894         * gnome/applet/wireless-applet.glade
15895                 - HIG-ify the Other Wireless Networks dialog a bit more
15896                 - Fix some potential segfaults in the info dialog
15897
15898 2005-08-30  Dan Williams  <dcbw@redhat.com>
15899
15900         * gnome/applet/applet-dbus-devices.c
15901                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15902
15903 2005-08-30  Dan Williams  <dcbw@redhat.com>
15904
15905         * gnome/applet/applet-dbus.[ch]
15906                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15907                         they weren't being used anyway
15908
15909 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15910
15911         * test/nmtestdevices.c: (print_usage), (main):
15912         Check the number of arguments, and fix a typo
15913
15914 2005-08-29  Dan Williams  <dcbw@redhat.com>
15915
15916         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15917         * gnome/applet/applet.c
15918                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15919
15920 2005-08-29  Dan Williams  <dcbw@redhat.com>
15921
15922         * gnome/applet/*
15923                 - Don't use threads any more.  Anything that blocks
15924                         (like gtk_dialog_run()) will  have to get fixed up which
15925                         should happen quickly.  We really only had threads to make
15926                         the animation smooth, and when everything got converted over
15927                         to DBus Pending Calls, the need for threads kind of went away
15928
15929 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15930
15931         * gnome/applet/applet.c: Draw VPN connections as radio items
15932         since we don't yet support multiple VPNs.
15933         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15934         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15935
15936 2005-08-29  Dan Williams  <dcbw@redhat.com>
15937
15938         Patch from j@bootlab.org
15939         - Make --without-named work
15940         - Make --with-dhcdbd work correctly
15941
15942 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15943
15944         * configure.in: Added "ca" to ALL_LINGUAS.
15945
15946 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15947
15948         * Fix up VPN state handling between the applet and NetworkManager,
15949                 so that the applet doesn't show a VPN as connected when one
15950                 really is not
15951                         - The applet no longer has a pointer to the active VPN's
15952                                 name, but tracks each VPNs state individually
15953                         - NM no longer has a "getActiveVPNConnection" method
15954                         - NM no longer broadcasts the "VPNConnectionChange" signal
15955                         - NM now broadcasts a "VPNConnectionStateChange" signal
15956                                 whenever the state of a VPN changes
15957
15958 2005-08-26  Dan Williams <dcbw@redhat.com>
15959
15960         * gnome/applet/applet-dbus-devices.c
15961           gnome/applet/applet-dbus-vpn.c
15962                 - Remove calls to dbus_pending_call_ref() because we already
15963                         "own" the pending call
15964                 - Remove calls to dbus_pending_call_get_completed() because
15965                         when we are in the callback, the pending call is completed
15966                         by definition
15967
15968 2005-08-22  Dan Williams <dcbw@redhat.com>
15969
15970         Patch by Bill Moss <bmoss@clemson.edu>
15971         * src/dhcp-manager/nm-dhcp-manager.c
15972                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15973                         some time to send out a RELEASE if they like
15974
15975 2005-08-22  Dan Williams <dcbw@redhat.com>
15976
15977         Noticed by Bill Moss <bmoss@clemson.edu>
15978         * src/NetworkManagerDbus.c
15979                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15980                         instead of just cancelling its activation
15981
15982         * src/NetworkManagerDevice.c
15983                 - (nm_device_deactivate): some small cleanups
15984                 - (nm_device_set_user_key_for_network): deactivate the device
15985                         instead of just cancelling its activation
15986
15987 2005-08-22  Dan Williams <dcbw@redhat.com>
15988
15989         Noticed by Bill Moss <bmoss@clemson.edu>
15990         * src/NetworkManagerDevice.c
15991                 - (nm_device_wireless_scan): fix scan timeout, we were
15992                         waiting way too long for scans to complete
15993
15994 2005-08-22  Dan Williams <dcbw@redhat.com>
15995
15996         Patch from j@bootlab.org:
15997         * src/backends/NetworkManagerDebian.c
15998                 - Make the Debian backend work for static IP again
15999
16000 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16001
16002         * gnome/applet/other-network-dialog.c:
16003         The "Create New Network" and "Connect to Other Network"
16004         dialogs share alot of code, but shouldn't share a window
16005         title.  Give them different ones.
16006
16007         * gnome/applet/wireless-applet.glade:
16008         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16009         Some more minor UI tweaks.
16010
16011 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16012
16013         * gnome/applet/other-network-dialog.c:
16014         * gnome/applet/wireless-applet.glade:
16015         Also need mnemonic widgets, and underline enabled.
16016
16017 2005-08-19  Dan Williams <dcbw@redhat.com>
16018
16019         * vpn-daemons/vpnc/nm-vpnc-service.c
16020                 - (vpnc_watch_cb): remove no-longer-relevant comment
16021                 - (write_config_option): new function, helper to write
16022                         config options to vpnc's stdin
16023                 - (nm_vpnc_config_write): use the new helper, make the
16024                         code shorter
16025
16026 2005-08-19  Christopher Aillon <caillon@redhat.com>
16027
16028         * gnome/applet/passphrase-dialog.c:
16029         * gnome/applet/wireless-applet.glade:
16030         Make the passphrase dialog response based, and treat
16031         responses other than OK (such as Esc, [X]) as a cancel.
16032
16033 2005-08-18  Christopher Aillon <caillon@redhat.com>
16034
16035         * initscript/Gentoo/NetworkManager:
16036         * initscript/RedHat/NetworkManager:
16037         * initscript/RedHat/NetworkManagerDispatcher:
16038         * initscript/SUSE/networkmanager:
16039         CVS remove these in place of .in replacements
16040
16041         * configure.in:
16042         * initscript/Gentoo/NetworkManager.in:
16043         * initscript/RedHat/NetworkManager.in:
16044         * initscript/RedHat/NetworkManagerDispatcher.in:
16045         * initscript/SUSE/networkmanager.in:
16046         These scripts now are generated so they work still when
16047         NM is built using a bindir other than /usr/bin
16048
16049 2005-08-18  Dan Williams <dcbw@redhat.com>
16050
16051         * gnome/applet/main.c
16052                 - Revert previous change for --no-session since
16053                         --sm-disable does the same thing
16054
16055 2005-08-18  Dan Williams <dcbw@redhat.com>
16056
16057         * gnome/applet/applet-dbus-info.c
16058                 - (nmi_dbus_create_error_message): new function
16059                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16060                         functions.  Also don't check for both device _and_ network before
16061                         asking for a user's key, because we may not have gotten all our
16062                         networks back from NM quite yet (due to the dbus pending calls
16063                         coming in later).  Fixes a hang in NM/nm-applet.
16064
16065         * src/NetworkManagerDbus.c
16066                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16067                         slightly more sane manner, even though we are still broken for
16068                         certain other error conditions.
16069                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16070                         to the info-daemon too
16071
16072         * src/NetworkManagerDevice.c
16073                 - Fix some debug messages to be info messages instead
16074
16075 2005-08-18  Dan Williams <dcbw@redhat.com>
16076
16077         * gnome/applet/main.c
16078                 - Add new "--no-session" parameter that disables applet
16079                         session management, ie for testing
16080
16081 2005-08-18  Christopher Aillon <caillon@redhat.com>
16082
16083         * gnome/applet/other-network-dialog.c:
16084         * gnome/applet/wireless-applet.glade: More mnemonics
16085
16086 2005-08-17  Robert Love  <rml@novell.com>
16087
16088         * initscript/SUSE/networkmanager: update
16089
16090 2005-08-17  Dan Williams  <dcbw@redhat.com>
16091
16092         * Tag NM_0_4_1_RELEASE
16093
16094 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16095
16096         * gnome/applet/applet.c: More translatable string cleanup
16097
16098
16099 2005-08-17  Dan Williams  <dcbw@redhat.com>
16100
16101         * gnome/applet/applet-dbus-info.c
16102                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16103                         from the dbus message, which tells us to unconditionally
16104                         ask the user for a new key.  Otherwise, we pull the key from
16105                         the keyring and return it.  If we fail to get the key from the
16106                         keyring, we ask the user for a new key.
16107                 - (nmi_dbus_get_network_key): new function to grab the key for
16108                         an essid from the keyring.
16109                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16110                         Also, don't return any key in the dbus message.
16111
16112         * src/NetworkManagerDbus.[ch]
16113                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16114                         indicate that we unconditionally want a new key.  This function
16115                         is now also used to get keys from the info-daemon which are
16116                         pre-stored, not just for asking the user for a new key.  The
16117                         "new_key" parameter indicates whether or not we wish to ask the
16118                         user for a new key.
16119                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16120                         info-daemon in the return message, so use NULL instead.  The
16121                         key will be filled in at connect time by calling
16122                         nm_dbus_get_user_key_for_network()
16123
16124         * src/NetworkManagerDevice.c
16125                 - (nm_device_wireless_configure): update for "new_key" param to
16126                         nm_dbus_get_user_key_for_network().  We initially set new_key
16127                         to FALSE to see if we have a stored key in the info-daemon, but
16128                         if the connection is unsuccessful at this stage we request a
16129                         new one
16130
16131 2005-08-17  Dan Williams  <dcbw@redhat.com>
16132
16133         * gnome/applet/icons/nm-no-connection.png
16134           gnome/applet/icons/nm-device-wired.png
16135                 - Use Diana's new RJ45 connector icons
16136
16137 2005-08-17  Dan Williams  <dcbw@redhat.com>
16138
16139         * src/NetworkManagerPolicy.c
16140                 - (nm_policy_device_change_check): clarify switching rules if
16141                         both new and old devices are valid; mainly, don't switch
16142                         away from user-requested wireless connection back to a wired
16143                         one
16144
16145 2005-08-17  Dan Williams  <dcbw@redhat.com>
16146
16147         * gnome/applet/Makefile.am
16148                 - Relocate the applet to /usr/bin since it is no longer
16149                         executed by anything, but directly by the user
16150
16151 2005-08-17  Dan Williams  <dcbw@redhat.com>
16152
16153         Patch from Bill Moss <bmoss@clemson.edu>
16154
16155         * gnome/applet/applet-dbus-info.[ch]
16156                 - (nmi_save_network_info): save timestamp for network if it
16157                         was a change requested by the user
16158                 - (nmi_dbus_update_network_info): get user_requested from dbus
16159                         message and pass to nmi_save_network_info()
16160
16161         * gnome/applet/applet.c
16162                 - (nmwa_update_network_timestamp): remove
16163                 - (nmwa_menu_item_activate): don't set timestamp on networks
16164                         here, only after a successful connect in nmi_save_network_info()
16165
16166         * src/NetworkManagerDbus.[ch]
16167                 - (nm_dbus_update_network_info): pass user_requested into the 
16168                         dbus message
16169
16170         * src/NetworkManagerPolicy.c
16171                 - (nm_policy_activation_finish): pass user_requested to
16172                         nm_dbus_update_network_info()
16173
16174 2005-08-16  Robert Love  <rml@novell.com>
16175
16176         * gnome/applet/applet.c: Better "Dial Up" menu item.
16177
16178 2005-08-16  Robert Love  <rml@novell.com>
16179
16180         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16181           "Connection Information" menu item.
16182
16183 2005-08-16  Dan Williams  <dcbw@redhat.com>
16184
16185         Patch from j@bootlab.org
16186         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16187
16188         * configure.in: allow specifying the path to dhcdbd
16189
16190 2005-08-16  Robert Love  <rml@novell.com>
16191
16192         Patch from j@bootlab.org
16193         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16194           src/backends/interface_parser.h: Debian dialup support.
16195
16196 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16197
16198         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16199         * gnome/applet/applet.c: Add some mnemonics for VPNC
16200
16201         * vpn-daemons/.cvsignore: fix this up a little bit
16202
16203 2005-08-16  Robert Love  <rml@novell.com>
16204
16205         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16206           support.
16207
16208 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16209
16210         * gnome/applet/applet.c: Split markup out of translatable strings
16211         and clean up logic a little bit.  (fixes #309012)
16212
16213 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16214
16215         * gnome/vpn-properties/nm-vpn-properties.c:
16216         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16217         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16218         Makeshift fix to remove newlines from translatable strings.
16219         Note that we now return an allocated string, so callers of
16220         get_confirmation_details () must now call g_free () on the
16221         result. (fixes #309033).
16222
16223 2005-08-12  Robert Love  <rml@novell.com>
16224
16225         * gnome/applet/applet-dbus.c: remove newlines from translatable
16226           strings--not needed here anyway. (fix b.g.o #309011)
16227         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16228
16229 2005-08-11  Robert Love  <rml@novell.com>
16230
16231         * gnome/applet/applet.c: mark string as translatable.
16232
16233 2005-08-11  Robert Love  <rml@novell.com>
16234
16235         * initscript/SUSE/networkmanager: update.
16236
16237 2005-08-11  Dan Williams  <dcbw@redhat.com>
16238
16239         * src/nm-dhcp-manager.c
16240                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16241                         an gateway returned from DHCP, try to use the address of the DHCP
16242                         server as the gateway instead.  Found by Ralf Ertzinger.
16243
16244 2005-08-10  Robert Love  <rml@novell.com>
16245
16246         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16247           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16248
16249 2005-08-10  Dan Williams  <dcbw@redhat.com>
16250
16251         Patch from Bill Moss <bmoss@clemson.edu>
16252         * Consolidate writes of access point information updates to the info daemon
16253                 so that we only do it when the connection to the access point was
16254                 successful.  Also consolidates updates to GConf in the Gnome applet.
16255
16256         * src/nm-netlink-monitor.c
16257                 - Silence compile warning when calling g_object_new()
16258
16259 2005-08-08  Dan Williams  <dcbw@redhat.com>
16260
16261         Patch from Steev <steev@steev.net>:
16262         * src/backends/NetworkManagerGentoo.c
16263                 - Stub new dialup backend functions
16264
16265 2005-08-08  Dan Williams  <dcbw@redhat.com>
16266
16267         Patch from Colin Slater:
16268         * src/backends/NetworkManagerGentoo.c
16269                 - (nm_system_update_dns): Fix exit status check for restarting
16270                         nscd
16271
16272 2005-08-05  Robert Love  <rml@novell.com>
16273
16274         * NetworkManager.h,
16275           gnome/applet/applet-dbus-devices.c,
16276           gnome/applet/applet-dbus-devices.h,
16277           gnome/applet/applet-dbus.c,
16278           gnome/applet/applet.c,
16279           gnome/applet/applet.h,
16280           src/NetworkManager.c,
16281           src/NetworkManagerMain.h,
16282           src/NetworkManagerSystem.h,
16283           src/backends/NetworkManagerRedHat.c,
16284           src/backends/NetworkManagerSuSE.c,
16285           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16286
16287 2005-08-05  Robert Love  <rml@novell.com>
16288
16289         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16290           machine's hostname to make adhoc creation idiot-proof.
16291
16292 2005-08-04  Robert Love  <rml@novell.com>
16293
16294         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16295           freed.
16296
16297 2005-08-04  Dan Williams  <dcbw@redhat.com>
16298
16299         * gnome/applet/applet-dbus-info.c
16300           gnome/applet/applet-dbus-info.h
16301                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16302                         to store key, key type, and auth method rather than just auth method
16303                 - (nmi_dbus_update_network_info): new function
16304                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16305
16306         * gnome/applet/passphrase-dialog.c
16307                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16308                         of saving the info ourselves
16309
16310         * gnome/libnm_glib/libnm_glib.c
16311                 - Remove the stupid version check for dbus
16312
16313         * src/NetworkManagerAP.c
16314           src/NetworkManagerAP.h
16315                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16316
16317         * src/NetworkManagerDbus.c
16318           src/NetworkManagerDbus.h
16319                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16320                         more than just the auth method
16321
16322         * src/NetworkManagerDevice.c
16323                 - Update network info at the appropriate times
16324
16325 2005-07-29  Ray Strode  <rstrode@redhat.com>
16326
16327         * src/NetworkManager.c (nm_info_handler): don't use input as format
16328         string (Spotted by Ian Jackson).
16329
16330 2005-07-27  Dan Williams  <dcbw@redhat.com>
16331
16332         * src/nm-dbus-nm.c
16333           src/nm-dbus-net.c
16334                 - Random cleanups of spacing
16335
16336         * gnome/applet/applet.h
16337           gnome/applet/other-network-dialog.c
16338           gnome/applet/passphrase-dialog.c
16339                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16340
16341         Patch from Bill Moss:
16342                 - Make Other Wireless Networks work again with encryption keys
16343
16344 2005-07-26  Dan Williams  <dcbw@redhat.com>
16345
16346         Patch from Steev <steev@steev.net>:
16347         * src/backends/NetworkManagerGentoo.c
16348           src/backends/Makefile.am
16349                 - Fix up Gentoo backend
16350
16351 2005-07-26  Robert Love  <rml@novell.com>
16352
16353         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16354
16355 2005-07-25  Robert Love  <rml@novell.com>
16356
16357         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16358           in the same group as the wireless networks, since they are all
16359           mutually exclusive.
16360
16361 2005-07-24  Ray Strode  <rstrode@redhat.com>
16362
16363         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16364         remove unneeded NULL arg from g_object_new().  Any
16365         warnings caused by not having the extra NULL are just a
16366         result of a bug in glib 2.7.0 - 2.7.2.
16367
16368 2005-07-22  Robert Love  <rml@novell.com>
16369
16370         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16371
16372 2005-07-22  Robert Love  <rml@novell.com>
16373
16374         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16375           parameters (gcc 4.0.2 warning fix).
16376
16377 2005-07-18  Robert Love  <rml@novell.com>
16378
16379         Suggested by Aaron Bockover (abockover@novell.com)
16380         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16381           s/Ascii/ASCII
16382         * gnome/applet/passphrase-dialog.c: ditto
16383         * gnome/applet/wireless-applet.glade: ditto
16384
16385 2005-07-13  Dan Williams  <dcbw@redhat.com>
16386
16387         Patch from Ray Strode <halfline@gmail.com>
16388         * vpn-daemons/vpnc/nm-vpnc-service.c
16389                 - Don't let vpnc daemonize, fixes some races with PID file reading
16390
16391 2005-07-13  Dan Williams  <dcbw@redhat.com>
16392
16393         Patch from Ray Strode <halfline@gmail.com>
16394         * Random cleanups for strict CFLAGS
16395
16396 2005-07-07  Dan Williams  <dcbw@redhat.com>
16397
16398         Patch from Derek Atkins <warlord@MIT.EDU>
16399         * src/nm-dbus-net.c:
16400                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16401
16402 2005-07-07  Dan Williams  <dcbw@redhat.com>
16403
16404         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16405         * src/backends/NetworkManagerGentoo.c
16406                 - Gentoo backend Static IP nameserver fixes
16407                 - General Gentoo backend goodness
16408
16409 2005-07-07  Dan Williams  <dcbw@redhat.com>
16410
16411         Patch from Bastien Nocera:
16412         * gnome/applet/applet.c
16413                 - Fix up error reporting when icons or glade files are missing
16414
16415 2005-07-07  Robert Love  <rml@novell.com>
16416
16417         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16418           are not any VPN connections above it.
16419
16420 2005-07-07  Robert Love  <rml@novell.com>
16421
16422         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16423
16424 2005-07-05  Robert Love  <rml@novell.com>
16425
16426         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16427           zero.
16428
16429 2005-07-05  Robert Love  <rml@novell.com>
16430
16431         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16432           on wired or unencrypted wireless.
16433
16434 2005-07-01  Robert Love  <rml@novell.com>
16435
16436         * src/NetworkManagerSystem.c: Print the error via strerror().
16437
16438 2005-06-30  Robert Love  <rml@novell.com>
16439
16440         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16441           then exit if the glade file is not found.  currently the application
16442           just hangs.
16443
16444 2005-06-30  Robert Love  <rml@novell.com>
16445
16446         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16447           explicitly up all interfaces on wake from sleep.
16448
16449 2005-06-30  Robert Love  <rml@novell.com>
16450
16451         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16452           with information about the currently active connection.
16453         * gnome/applet/applet.h: (ditto)
16454         * gnome/applet/wireless-applet.glade: (ditto), new file
16455
16456 2005-06-30  Robert Love  <rml@novell.com>
16457
16458         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16459         * src/nm-dbus-nm.c: print when we sleep and wake up.
16460         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16461         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16462           in /sbin unless D-BUS is, folks).
16463         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16464
16465 2005-06-27  Robert Love  <rml@novell.com>
16466
16467         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16468           case.
16469
16470 2005-06-27  Robert Love  <rml@novell.com>
16471
16472         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16473           items radios.
16474
16475 2005-06-26  Robert Love  <rml@novell.com>
16476
16477         * src/NetworkManagerDevice.c: be specific about which device in
16478           nm_info() message.
16479
16480 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16481
16482         * src/nm-netlink-monitor.c: correct spelling error.
16483
16484 2005-06-23  Robert Love  <rml@novell.com>
16485
16486         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16487         * gnome/applet/passphrase-dialog.c: more of that keyring!
16488
16489 2005-06-23  Robert Love  <rml@novell.com>
16490
16491         * configure.in: remove extraneous GNOMEKEYRING directives.
16492         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16493         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16494         * gnome/applet/passphrase-dialog.c: whitespace.
16495
16496 2005-06-23  Robert Love  <rml@novell.com>
16497
16498         * src/NetworkManagerDevice.c: division in assignment was flipped.
16499
16500 2005-06-23  David Zeuthen  <david@fubar.dk>
16501
16502         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16503         signal to the child to indicate that we got what we wanted when we
16504         see two new-lines right after each other.
16505         (nmwa_vpn_request_password): Pass a structure with several members
16506         instead of just the passwords
16507
16508 2005-06-23  Dan Williams <dcbw@redhat.com>
16509
16510         * src/NetworkManager.c
16511           src/NetworkManagerMain.h
16512                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16513                 - (nm_hal_init): new function, init libhal context then add devices
16514                 - (nm_hal_deinit): new function, clean up libhal context
16515                 - (nm_data_free): Move Hal cleanup here
16516                 - (main): check whether Hal is running, and if so, get a list of
16517                         network devices from it
16518
16519         * src/NetworkManagerDbus.c
16520                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16521                         and when it appears, get a list of network devices from it.  If
16522                         Hal goes away, clean up the libhal context
16523
16524 2005-06-22  Robert Love  <rml@novell.com>
16525
16526         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16527           permissions of scripts before executing.
16528
16529 2005-06-21  Robert Love  <rml@novell.com>
16530
16531         * initscript/SUSE/networkmanager: update.
16532         * src/backends/NetworkManagerSuSE.c: cleanup.
16533
16534 2005-06-21  Robert Love <rml@novell.com>
16535
16536         * gnome/applet/applet.c: use menu mnemonics.
16537         * gnome/applet/menu-items.c: (ditto)
16538
16539 2005-06-21  Robert Love  <rml@novell.com>
16540
16541         * applet/applet-dbus-devices.c: mark non-static functions static.
16542         * applet/applet-dbus-vpn.c: (ditto)
16543         * applet/applet.c: (ditto)
16544         * applet/nm-device.h: (ditto)
16545         * applet/other-network-dialog.c: (ditto)
16546         * applet/passphrase-dialog.c: (ditto)
16547         * NetworkManager.c: (ditto)
16548         * NetworkManagerDbus.c: (ditto)
16549         * NetworkManagerDevice.c: (ditto)
16550         * NetworkManagerPolicy.c: (ditto)
16551         * NetworkManagerUtils.c: (ditto)
16552         * NetworkManagerWireless.c: (ditto)
16553         * NetworkManagerWireless.h: (ditto)
16554         * nm-netlink-monitor.c: (ditto)
16555         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16556         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16557         * autoip.c: include autoip.h.
16558         * autoip.h: new file.  define get_autoip().
16559         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16560         * NetworkManagerDbus.h: remove duplicate definitions.
16561
16562 2005-06-20  Robert Love  <rml@novell.com>
16563
16564         * Makefile.am: Add missing intltool-foo.in generated files to
16565           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16566           with the start of stuff to cleanup on 'distclea'.
16567         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16568           stuff right and 'distcheck' works.
16569         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16570           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16571           Makefile.am for each.  And systray/Makefile needs to be redone.
16572
16573 2005-06-19  Dan Williams <dcbw@redhat.com>
16574
16575         * src/NetworkManagerDevice.c
16576         - (nm_device_wireless_process_scan_results): scan every 20s when
16577           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16578
16579 2005-06-19  Dan Williams <dcbw@redhat.com>
16580
16581         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16582
16583 2005-06-18  Ray Strode <rstrode@redhat.com>
16584
16585         * src/nm-netlink-monitor.c 
16586         (nm_netlink_monitor_event_handler): check for the presence
16587         of either error condition not both. 
16588         
16589         (nm_netlink_monitor_error_handler): emit error signal if
16590         error occurs.
16591
16592         (nm_netlink_monitor_event_handler),
16593         (nm_netlink_monitor_error_handler),
16594         (nm_netlink_monitor_disconnect_handler): if an 
16595         assertion fails disconnect the event handler to prevent 
16596         infinite loops.
16597
16598         * src/nm-netlink-monitor.h: add new error condition
16599         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16600
16601 2005-06-18  Ray Strode <rstrode@redhat.com>
16602
16603         * src/nm-netlink-monitor.c 
16604         (nm_netlink_monitor_event_handler): remove bogus < 0
16605         check on unsigned value and return early if the kernel
16606         didn't send any bytes.
16607
16608 2005-06-17  Robert Love  <rml@novell.com>
16609
16610         * initscript/SUSE/networkmanager: Change the Provides and default
16611         run levels
16612
16613 2005-06-16  Dan Williams <dcbw@redhat.com>
16614
16615         Patch from Robert Love:
16616         * gnome/applet/applet.c
16617                 - Beautify some applet menu item names
16618
16619 2005-06-17  David Zeuthen  <davidz@redhat.com>
16620
16621         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16622         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16623         Also add new methods can_export, import_file and export.
16624
16625         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16626         to the main UI
16627
16628         * gnome/vpn-properties/nm-vpn-properties.c:
16629         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16630         nm-vpn-ui-interface.h.
16631         (update_edit_del_sensitivity): Also update "Export" sensitivity
16632         (add_vpn_connection): Also add new SVC_NAME column
16633         (import_settings): New function
16634         (retrieve_data_from_selected_connection): New function
16635         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16636         this function
16637         (export_cb): New function
16638         (init_app): Also setup the "export" widget
16639         (main): Support the --import-service and --import-file commandline
16640         arguments
16641
16642         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16643         D-BUS 0.34
16644
16645 2005-06-16  Dan Williams <dcbw@redhat.com>
16646
16647         Patch from Robert Love:
16648         * gnome/applet/menu-items.c
16649                 - (network_menu_item_new): pass -1 as wireless network
16650                         menu items height size request rather than ascent / 2
16651
16652 2005-06-16  Dan Williams <dcbw@redhat.com>
16653
16654         * Clean up wording in Wireless Scan Methods menu items and constants
16655
16656 2005-06-16  Robert Love  <rml@novell.com>
16657
16658         * po/POTFILES.in
16659                 - remove gtkcell* files
16660
16661 2005-06-15  Dan Williams <dcbw@redhat.com>
16662
16663         Patch from Robert Love: make the applet stetic
16664
16665         * gnome/applet/Makefile.am
16666                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16667
16668         * gnome/applet/gtkcellview.h
16669           gnome/applet/gtkcellview.c
16670           gnome/applet/gtkcellrendererprogress.h
16671           gnome/applet/gtkcellrendererprogress.c
16672                 - Removed
16673
16674         * gnome/applet/menu-items.c
16675                 - Progress bars are 5:1 size ratio
16676                 - Use GTK progress bars rather than internal ones
16677
16678 2005-06-15  Dan Williams <dcbw@redhat.com>
16679
16680         Patch from Robert Love:
16681         * initscript/SUSE/networkmanager
16682                 - Fix typo
16683
16684 2005-06-15  Dan Williams <dcbw@redhat.com>
16685
16686         * src/backends/NetworkManagerSuSE.c
16687           src/backends/NetworkManagerRedHat.c
16688           src/backends/NetworkManagerDebian.c
16689                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16690
16691 2005-06-15  Dan Williams <dcbw@redhat.com>
16692
16693         * src/backends/NetworkManagerDebian.c
16694                 - Add nm_system_device_get_use_dhcp() to debian backend
16695
16696         Patch from Kay Sievers:
16697         * src/backends/NetworkManagerSuSE.c
16698                 - Update debian backend for static IP nameservers
16699
16700         * src/NetworkManagerDevice.c
16701                 - Actually set the device to use static IP or DHCP rather
16702                         than always DHCP
16703
16704 2005-06-15  Dan Williams <dcbw@redhat.com>
16705
16706         Patch from Thom May:
16707         * src/backends/NetworkManagerDebian.c
16708                 - Update debian backend for static IP nameservers
16709
16710 2005-06-15  Dan Williams <dcbw@redhat.com>
16711
16712         Patches from Robert Love:
16713         * gnome/applet/wireless-applet.glade
16714                 - Tighten up wording
16715
16716         * src/NetworkManagerDevice.c
16717                 - Remove misplaced ';'
16718
16719         * configure.in
16720           initscript/Makefile.am
16721           initscript/SUSE/Makefile.am
16722           initscript/SUSE/networkmanager
16723                 - Add SUSE initscript
16724
16725 2005-06-12  David Zeuthen  <davidz@redhat.com>
16726
16727         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16728
16729         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16730
16731         * gnome/vpn-properties/nm-vpn-properties.c: New file
16732
16733         * gnome/vpn-properties/Makefile.am: New file
16734
16735         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16736         array of passwords
16737
16738         * src/vpn-manager/nm-vpn-manager.c
16739         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16740         instead of just a single one
16741
16742         * src/vpn-manager/nm-dbus-vpn.c:
16743         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16744         here
16745         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16746
16747         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16748         Change the interface here to give a list of passwords. Also, don't
16749         require username, but do require service
16750
16751         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16752         the binary for the auth-dialog and use that instead of putting up a
16753         dialog asking for a single password
16754
16755         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16756         however do remember the service
16757
16758         * gnome/applet/main.c (main): Setup i18n
16759
16760         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16761         connection to '%s'" to the tooltip if we are connected using VPN
16762         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16763         key to determine whether we the auth-dialog needs to
16764         reprompt. Also cope with the fact that the auth-dialog now returns
16765         an array of passwords.
16766         (nmwa_menu_configure_vpn_item_activate): New handler for
16767         "Configure VPN..." menu item
16768         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16769         (is_vpn_available): New function to determine if we got any
16770         NM-compatible VPN software installed
16771         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16772         items only if we have NM-compatible VPN software installed
16773         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16774         logic for detecting when VPN connections are removed
16775
16776         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16777         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16778         since these are defined elsewhere
16779
16780         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16781         function used to keep track of whether the last attempt succeded
16782         (nmwa_dbus_filter): Update last_attempt according to whether the
16783         VPN connection could be established or not
16784
16785         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16786         Change prototype to take an array of passwords, not just a single
16787         password
16788
16789         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16790         update service, not user
16791         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16792         dbus_active_vpn_name is not NULL before using it
16793         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16794         string array instead of assuming a single password
16795
16796         * gnome/applet/applet-dbus-info.c:
16797         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16798         user name; don't read from gconf
16799
16800         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16801         VPN_NAME_FILES_DIR
16802
16803         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16804
16805         * configure.in: Add checks for gmodule-2.0.
16806         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16807         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16808         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16809         for details
16810
16811         * vpn-daemons/Makefile.am: Removed
16812
16813         * vpn-daemons/README: New file to describe extensions points for VPN
16814         software
16815
16816 2005-06-10  Dan Williams <dcbw@redhat.com>
16817
16818         * src/backends/NetworkManagerRedHat.c
16819                 - (get_current_profile_name): new function, grab current network profile name from
16820                         /etc/sysconfig/network
16821                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16822                         update an IP4 Config structure's settings from it
16823                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16824                         get DNS info from current network profile
16825
16826 2005-06-09  Dan Williams <dcbw@redhat.com>
16827
16828         Patch from Robert Love:
16829         * src/NetworkManagerDevice.c
16830           src/NetworkManagerUtils.c
16831                 - 64-bit build fixes
16832
16833 2005-06-09  Dan Williams <dcbw@redhat.com>
16834
16835         Patch from Kay Sievers and Robert Love:
16836         * configure.in
16837           src/backends/Makefile.am
16838           src/backends/NetworkManagerSuSE.c
16839                 - Add SuSE support
16840
16841 2005-06-09  Dan Williams <dcbw@redhat.com>
16842
16843         * NetworkManager.h
16844                 - Add NMWirelessScanMethod enum for scan methods
16845
16846         * gnome/applet/applet-dbus-devices.c
16847                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16848                 - (nmwa_dbus_update_scanning_enabled): remove
16849                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16850                         since it got removed
16851                 - (nmwa_dbus_enable_scanning): remove
16852
16853         * gnome/applet/applet-dbus-info.c
16854                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16855                         update the wireless scanning method from NMI
16856                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16857                         method value to NetworkManager
16858                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16859
16860         * gnome/applet/applet-dbus-info.h
16861                 - Add prototype for nmi_dbus_signal_update_scan_method
16862
16863         * gnome/applet/applet.c
16864                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16865                         Wireless Scanning menu based on current wireless scan method
16866                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16867                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16868                         and update our menu items to make sure the right one is checked
16869                 - (nmwa_set_scanning_enabled_cb): remove
16870                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16871                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16872                         Scanning menu item
16873                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16874                         from GConf
16875                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16876                         so we get notified of preference values too
16877                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16878
16879         * gnome/applet/applet.h
16880                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16881                 - Add wireless scan method member to applet data
16882                 - Remove pause_scanning_item, add Wireless Scanning submenu
16883
16884         * src/NetworkManager.c
16885                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16886                 - (main): grab scanning method from NMI if we can
16887
16888         * src/NetworkManagerDbus.c
16889                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16890                         nm_dbus_update_wireless_scan_method()
16891                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16892                         from NMI
16893                 - (nm_dbus_nmi_is_running): redundant function, removed
16894                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16895                         when NMI comes back
16896
16897         * src/NetworkManagerDevice.c
16898                 - (nm_device_is_activated): return TRUE if the device is activated
16899                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16900                         and we are activated
16901
16902         * src/nm-dbus-nm.c
16903                 - (nm_dbus_nm_set_scanning_enabled): removed
16904                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16905                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16906
16907 2005-06-09  Dan Williams <dcbw@redhat.com>
16908
16909         * NetworkManager.h
16910           src/vpn-manager/nm-vpn-service.c
16911                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16912
16913 2005-05-27  Dan Williams <dcbw@redhat.com>
16914
16915         * vpn-daemons/vpnc/nm-vpnc-service.c
16916                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16917                         Should fix the bug where the VPN connection terminates the first time.
16918
16919 2005-05-20  Dan Williams <dcbw@redhat.com>
16920
16921         * NetworkManager.h
16922                 - Differentiate VPN config signals between bad VPN config options
16923                         and bad IP config
16924
16925         * gnome/applet/applet-dbus-info.h
16926                 - Add prototypes for wireless network and vpn connection update functions
16927
16928         * gnome/applet/applet-dbus.c
16929                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16930
16931         * gnome/applet/applet.c
16932                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16933                         error signals
16934                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16935                         propogation to NetworkManager
16936                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16937                         notify propogation to NetworkManager
16938
16939         * src/NetworkManagerDbus.c
16940                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16941                         are updating so a network can be removed from it if necessary
16942
16943         * src/vpn-manager/nm-vpn-manager.c
16944                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16945
16946         * vpn-daemons/vpnc/nm-vpnc-service.c
16947                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16948                 - (nm_vpnc_dbus_signal_launch_failed): remove
16949                 - (nm_vpnc_dbus_signal_connect_failed): remove
16950                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16951                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16952                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16953                         for new generalized error signal function, remove config file stuff
16954                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16955                         we can write configuration options to it
16956                 - (nm_vpnc_config_file_generate): removed
16957                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16958                 - (nm_vpnc_config_options_validate): validate the config options we receive
16959                         from NetworkManager to block potential exploits
16960                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16961                         starting vpnc
16962                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16963                         to NetworkManager
16964
16965 2005-05-16  Dan Williams  <dcbw@redhat.com>
16966
16967         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16968                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16969                         is not "connect"
16970
16971 2005-05-16  Dan Williams  <dcbw@redhat.com>
16972
16973         Patch from Tomislav Vujec <tvujec@redhat.com>
16974         * gnome/applet/applet-dbus-info.c
16975                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16976                         GConf and pass them to NetworkManager.  New key is 'routes' under
16977                         the VPN connection, and should be a string list
16978
16979         * src/NetworkManagerSystem.c
16980                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16981                         set them on the device when we set the rest of the VPN config.  Ensure
16982                         they are in the correct format since they are passed directly to the
16983                         command line.
16984
16985         * src/backends/NetworkManagerRedHat.c
16986           src/backends/NetworkManagerDebian.c
16987                 - (nm_system_device_add_route_via_device_with_iface): new function
16988
16989         * src/vpn-manager/nm-dbus-vpn.c
16990                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16991
16992         * src/vpn-manager/nm-vpn-manager.c
16993                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16994                         them into the IP4 config functions
16995
16996 2005-05-15  Dan Williams  <dcbw@redhat.com>
16997
16998         From Filip Miletic:
16999         * po/sr.po
17000           po/sr@Latn.po
17001           configure.in
17002                 - Serbian translation added
17003
17004 2005-05-15  Dan Williams  <dcbw@redhat.com>
17005
17006         * dispatcher-daemon/NetworkManagerDispatcher.c
17007                 - (main): sync arguments with NetworkManager and the applet, now use
17008                         "--no-daemon" rather than "daemon=no"
17009                 - (nmd_print_usage): Fix script path in usage message
17010
17011 2005-05-15  Dan Williams  <dcbw@redhat.com>
17012
17013         * src/NetworkManagerDevice.[ch]
17014           src/NetworkManagerPolicy.c
17015           src/NetworkManager.c
17016           src/nm-dbus-nm.c
17017                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17018                         longer send the DeviceNoLongerActive signal unconditionally, but only
17019                         when the device is actually active.
17020
17021         * dispatcher-daemon/NetworkManagerDispatcher.c
17022                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17023                         and simplify the logic
17024                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17025                         we free it later on
17026
17027         * initscript/RedHat/Makefile.am
17028           initscript/RedHat/NetworkManagerDispatcher
17029                 - Add initscript for NetworkManagerDispatcher
17030
17031
17032         Patch from Bill Moss:
17033         * dispatcher-daemon/NetworkManagerDispatcher.c
17034                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17035
17036         * src/NetworkManagerDbus.c
17037                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17038                         and DeviceNowActive gets signaled, then the device has a new IP address
17039                         anyway.  There's no need for a separate signal.
17040
17041         * src/NetworkManagerDevice.c
17042                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17043
17044         * src/NetworkManagerPolicy.c
17045                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17046                         activates successfully.  This kind of went missing when I reworked the
17047                         activation code.
17048
17049 2005-05-15  Dan Williams  <dcbw@redhat.com>
17050
17051         * configure.in
17052                 - Check for dhcdbd and error if its not found
17053
17054         * src/dhcp-manager/Makefile.am
17055           src/dhcp-manager/nm-dhcp-manager.c
17056                 - Use path to dhcdbd that configure found
17057
17058 2005-05-14  Dan Williams  <dcbw@redhat.com>
17059
17060         * gnome/applet/nm-device.c
17061                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17062                         sort wireless networks alphabetically
17063
17064         * gnome/applet/applet-dbus-devices.c
17065                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17066                         before copying them over to the GUI
17067
17068 2005-05-14  Dan Williams  <dcbw@redhat.com>
17069
17070         * src/NetworkManager.c
17071                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17072                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17073                         the device list, as does nm_get_active_device() which is called from
17074                         nm_vpn_manager_deactivate_vpn_connection().
17075
17076 2005-05-14  Dan Williams  <dcbw@redhat.com>
17077
17078         * NetworkManager.h
17079                 - Add signals for VPN Launch and Connect failures
17080
17081         * gnome/applet/applet-dbus.c
17082                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17083
17084         * gnome/applet/applet.c
17085                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17086                         function to handle all VPN failure messages
17087                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17088                         function to hanlde all VPN failure  messages
17089                 - (show_warning_dialog): work around focus-stealing prevention
17090
17091         * gnome/applet/other-network-dialog.c
17092           gnome/applet/passphrase-dialog.c
17093                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17094                         problem where it never enabled for ASCII Key and Hex Key types
17095
17096         * gnome/applet/wireless-applet.glade
17097                 - Add window title to Other Wireless Network Dialog
17098
17099         * src/vpn-manager/nm-dbus-vpn.c
17100                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17101                         function to handle all VPN failure messages
17102
17103         * src/vpn-manager/nm-vpn-manager.c
17104                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17105
17106         * vpn-daemons/vpnc/nm-vpnc-service.c
17107                 - (nm_vpnc_dbus_signal_launch_failed): new function
17108                 - (nm_vpnc_dbus_signal_connect_failed): new function
17109                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17110                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17111                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17112                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17113
17114 2005-05-11  Dan Williams  <dcbw@redhat.com>
17115
17116         * vpn-daemons/vpnc/nm-vpnc-service.c
17117                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17118                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17119                         file exists before trying to write it out.
17120
17121 2005-05-10  Dan Williams  <dcbw@redhat.com>
17122
17123     * gnome/applet/applet-dbus-device.c
17124         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17125             prevented just entering ESSID and leaving key and key type up to
17126             NetworkManager (which should have them already cached)
17127
17128 2005-05-08  Dan Williams  <dcbw@redhat.com>
17129
17130         * src/NetworkManagerPolicy.c
17131                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17132                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17133                         fix a situation where NM is told to terminate and the device stops activation,
17134                         but the main thread isn't aware of that because it would never have run
17135                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17136                         had already quit.
17137
17138         * src/NetworkManagerDevice.c
17139                 - (nm_device_probe_wired_link_state): cosmetic fixes
17140                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17141                         we've failed to activate or been canceled.
17142                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17143
17144 2005-05-08  Dan Williams  <dcbw@redhat.com>
17145
17146         * src/NetworkManagerWireless.c
17147                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17148                         value of WEXT quality structures, and add a debug message when we cannot
17149                         determine any quality % at all
17150
17151 2005-05-08  Dan Williams  <dcbw@redhat.com>
17152
17153         * src/dhcp-manager/nm-dhcp-manager.c
17154                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17155                         it goes down.
17156
17157 2005-05-06  Dan Williams  <dcbw@redhat.com>
17158
17159         * gnome/applet/applet-dbus-device.c
17160           gnome/applet/applet-dbus-info.c
17161           gnome/applet/applet-dbus.c
17162           gnome/applet/applet.c
17163           gnome/applet/applet.h
17164                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17165
17166         * gnome/applet/applet-dbus.c
17167                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17168                         so we notice when wired device's carriers come back on.  Should
17169                         fix issue with wired devices being grayed out even if the cable
17170                         is in, for devices that support carrier detection.
17171
17172         * gnome/applet/applet.c
17173                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17174                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17175                         tooltip message
17176                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17177                         Fix situation where applet wouldn't respond to menu selections
17178
17179         * src/NetworkManager.c
17180           src/NetworkManagerDevice.c
17181           src/NetworkManagerDbus.c
17182           src/NetworkManagerDbus.h
17183                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17184
17185         * src/NetworkManagerDbus.c
17186                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17187                         Remove, no longer used or relevant
17188                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17189                 - (nm_dbus_schedule_device_status_change_signal): add
17190
17191         * src/NetworkManagerDevice.c
17192                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17193                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17194                         ie don't deactivate them unless explicitly told to by the user.  Also send
17195                         CARRIER_OFF / CARRIER_ON signals when link changes
17196                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17197                         Don't print error message when device is no longer around
17198                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17199                         not just during activation
17200
17201         * src/NetworkManagerPolicy.c
17202                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17203                         auto-device-selection.
17204                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17205
17206         * src/NetworkManagerSystem.c
17207                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17208                         is no longer present (Bill Moss)
17209
17210         * src/backends/shvar.c
17211                 - (svOpenFile): Open read-only to make SELinux happy
17212
17213         * src/backends/NetworkManagerRedHat.c
17214                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17215                         the path to the ifcfg-* files
17216
17217 2005-05-05  Dan Williams  <dcbw@redhat.com>
17218
17219         * Expose activation stages to NetworkManager clients, like the applet
17220         * Add Diana's progress icons to the applet, cued off NM activation stage
17221         * Use more descriptive tooltips, cued off NM activation stage
17222
17223 2005-05-05  Ray Strode  <rstrode@redhat.com>
17224
17225         * src/nm-netlink-monitor.c:
17226                 - Use clear_event_source instead of g_nullify_pointer() again.
17227
17228 2005-05-05  Dan Williams  <dcbw@redhat.com>
17229
17230         * gnome/applet/main.c
17231                 - Fix session management so the applet is actually managed now
17232
17233         * gnome/applet/passphrase-dialog.c
17234                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17235
17236 2005-05-05  Dan Williams  <dcbw@redhat.com>
17237
17238         Patch from Bill Moss:
17239         * gnome/libnm_glib/libnm_glib.c
17240                 - Fix for dbus-0.33
17241
17242 2005-05-05  Dan Williams  <dcbw@redhat.com>
17243
17244         Suggestion from Bill Moss:
17245         * src/NetworkManagerSystem.c
17246                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17247
17248
17249         * src/NetworkManager.c
17250                 - (nm_data_free): move destruction of the various managers after
17251                         release of device list, because deactivating and freeing a device
17252                         requires at least the named manager
17253                 - (nm_poll_and_update_wireless_link_state):
17254                   (nm_device_link_activated):
17255                   (nm_device_link_deactivated):
17256                         don't grab the device list lock when actually updating device
17257                         link status or strength, since nm_device_set_link_active()
17258                         needs to call nm_get_active_device(), which also locks the device list.
17259
17260         * src/NetworkManagerDevice.c
17261                 - (nm_device_set_link_active): if a device's link switches from off->on,
17262                         and it's wired, and the active device is wireless (or there is no
17263                         active device), activate the new device whose link just came on
17264                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17265                         my only calling the link to the current ap "failed" when more than 2
17266                         consecutive link checks have failed
17267
17268 2005-05-04  Dan Williams  <dcbw@redhat.com>
17269
17270         * src/NetworkManagerDevice.c
17271                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17272                         but let link_to_specific_ap() do the locking where it needs
17273
17274         Patch from Bill Moss:
17275         * src/NetworkManagerSystem.c
17276                 - Set MTU of VPN devices to 1412
17277
17278 2005-05-04  Dan Williams  <dcbw@redhat.com>
17279
17280         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17281
17282         * Fix some holes in device activation and retaining the currently connected
17283                 access point
17284
17285 2005-05-03  Dan Williams  <dcbw@redhat.com>
17286
17287         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17288           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17289           means you need dhcdbd, which you can get here (get the latest one):
17290
17291                 http://people.redhat.com/jvdias/dhcdbd/
17292
17293           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17294           interface as dhcdbd.
17295
17296         * Rewrite device activation to facilitate the new DHCP infrastructure and
17297           future improvements.  Its now "activation request" based, ie there is a single
17298           activation request composed of the device, access point, and other info which
17299           follows the entire activation process.  There are 5 stages of the activation
17300           process which correspond to:
17301
17302                 1) Device preparation
17303                 2) Device configuration (bring it up, set ESSID/Key/etc)
17304                 3) IP Config Start (fire off DHCP if we're using it)
17305                 4) IP Config Get (grab config from DHCP or static config files)
17306                 5) IP Config Commit (set device's IP address, DNS, etc)
17307
17308           Note that there is no longer a "scanning" step, since the access point must
17309           be known _before_ activation starts.  If the access point drops out or does
17310           not exist for some reason, the entire activation process fails and must be
17311           restarted for a different access point or device.
17312
17313         Patch from Bill Moss:
17314         * gnome/applet/applet.c
17315                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17316
17317 2005-04-27  Dan Williams  <dcbw@redhat.com>
17318
17319         * gnome/applet/applet-dbus-vpn.c
17320           gnome/applet/applet.c
17321           gnome/applet/applet.h
17322                 - Fix up active VPN handling so that we reliably know when a VPN
17323                         connection has been deactivated
17324
17325         * src/vpn-manager/nm-vpn-manager.c
17326                 - Remove duplicate VPNConnectionChange signal
17327
17328 2005-04-27  Dan Williams  <dcbw@redhat.com>
17329
17330         Patch from Peter Jones:
17331         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17332
17333         Patch from Bill Moss:
17334         * src/NetworkManagerSystem.c
17335                 - Fix checking of return value from ioctl()
17336
17337 2005-04-27  Dan Williams  <dcbw@redhat.com>
17338
17339         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17340         * Warn and exit if icons cannot be found
17341
17342 2005-04-27  Dan Williams  <dcbw@redhat.com>
17343
17344         Patch from Tom Parker:
17345         * Update debian backend
17346
17347 2005-04-27  Dan Williams  <dcbw@redhat.com>
17348
17349         * Merge the applet and the info-daemon, and move the converged
17350                 applet under gnome/applet
17351         * Move libnm_glib to gnome/libnm_glib
17352         * Convert most dbus calls between the applet, info-daemon, and NM
17353                 into async calls
17354         * Fix a few things valgrind noticed
17355         * Make NM broadcast state more reliably
17356
17357 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17358
17359         * configure.in: Added ne in ALL_LINGUAS
17360
17361 2005-04-15  Dan Williams  <dcbw@redhat.com>
17362
17363         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17364                 code for dbus 0.2x versions
17365
17366 2005-04-15  Dan Williams  <dcbw@redhat.com>
17367
17368         Patches from Tom Parker:
17369         - Fix memleaks
17370         - Join with worker thread rather than polling for its exit
17371
17372         Patch from Bill Moss:
17373         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17374
17375 2005-04-15  Dan Williams  <dcbw@redhat.com>
17376
17377         - Fixes to pass 'make distcheck'
17378
17379 2005-04-15  Dan Williams  <dcbw@redhat.com>
17380
17381         Initial VPN Support
17382                 - supports 'vpnc'
17383                 - reworks device IP configuration, backend files have changed and will need
17384                         to be updated for all distributions.  I will try to do what I can for
17385                         them, but I cannot test them.
17386
17387         - Move named directory to src/named-manager
17388         - Make backends directory self-contained
17389
17390 2005-04-06  Dan Williams  <dcbw@redhat.com>
17391
17392         Add debug code for socket/file descriptor leaks.  We register every socket
17393         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17394         list of sockets that we forgot to close on shutdown.  This also consolidates
17395         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17396
17397 2005-04-06  Dan Williams  <dcbw@redhat.com>
17398
17399         * dhcpcd/dhcpcd.c
17400                 - (dhcp_interface_free): fix a file descriptor leak that may have
17401                         caused network drivers to not unload due to refcounts > 0
17402
17403 2005-04-04  Dan Williams  <dcbw@redhat.com>
17404
17405         * panel-applet/NMWirelessAppletDbus.c
17406                 - (nmwa_dbus_call_nm_method): remove some commented code
17407
17408         * src/NetworkManagerAPList.[ch]
17409                 - (nm_ap_list_remove_ap_by_essid): new function
17410
17411         * src/NetworkManagerDevice.c
17412                 - (nm_device_wireless_force_use): remove access points from the ignore list
17413                         when the user forces them
17414
17415         * src/nm-dbus-device.c
17416                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17417
17418 2005-04-04  Dan Williams  <dcbw@redhat.com>
17419
17420         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17421
17422 2005-04-04  Dan Williams  <dcbw@redhat.com>
17423
17424         * src/NetworkManagerDevice.c:
17425                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17426                         of only erroring after the second consecutive scan times out.  Also
17427                         don't exit when the card requires more time than we can give it, just
17428                         log the event and continue.
17429
17430 2005-04-01  Steve Murphy  <murf@e-tools.com>
17431
17432         * configure.in: Added "rw" to ALL_LINGUAS.
17433
17434 2005-04-01  Dan Williams <dcbw@redhat.com>
17435
17436         Perform scans during device activation, if needed.  Both activation 
17437         and scans run in the same GMainContext.  Therefore, if an access point
17438         is not found by the time the device starts activation, it will not
17439         be available until after activation.  We now try to scan during
17440         activation (in nm_wa_test) every 15s so that all available access
17441         points are more likely to be found and available for the activation
17442         procedure.
17443
17444         Also change nm_wireless_link_state_handle() to only update the "best"
17445         AP if we are not forcing a device and if we are not about to change
17446         state.  This attempts to work around a race when forcing a device,
17447         where the forced AP would get cleared out too soon by the link state
17448         checking timeout in the main thread, and the activation attempt with
17449         that AP would fail.
17450
17451 2005-04-01  Dan Williams <dcbw@redhat.com>
17452
17453         * po/POTFILES.in
17454                 - Update with new translatables
17455
17456 2005-03-31  Dan Williams <dcbw@redhat.com>
17457
17458         * panel-applet/NMWirelessAppletDbus.c
17459                 - Fix device names now that hal has changed device parenting for
17460                         network devices.
17461
17462 2005-03-31  Dan Williams <dcbw@redhat.com>
17463
17464         Tighten up handling of wireless devices that don't support wireless
17465         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17466         hadn't been doing pseudo-scanning for a while either and would just
17467         spin waiting for an access point.  They are now manual devices where
17468         the user must choose the access point from the menu every time.  All
17469         "allowed" access points are listed in the applet's menu regardless
17470         of whether or not they can be seen by the card, since it can't scan
17471         anyway.
17472
17473         * src/NetworkManager.c
17474                 - (nm_wireless_link_state_handle): new function, but only update
17475                         the "best" ap for non-scanning devices when its not activating,
17476                         and when no device is being forced on the card
17477                 - (nm_link_state_monitor): split wireless link state handling out
17478                         into separate function
17479
17480         * src/NetworkManagerDevice.c
17481                 - (nm_device_copy_allowed_to_dev_list): new function
17482                 - (nm_device_new): populate non-scanning cards' AP lists with
17483                         access points from the "allowed" list
17484                 - (nm_device_new): don't start a scanning timeout for devices that
17485                         can't scan
17486                 - (nm_device_activation_schedule_finish): new parameter, should be
17487                         the AP that failed to be connected to, pass it on to the
17488                         activation finish function in NetworkManagerPolicy.c
17489                 - (nm_device_activate_wireless): don't ever try to get a new AP
17490                         for non-scanning devices, just fail.  The user must choose
17491                         a new access point manually.
17492                 - (nm_device_activate): grab the AP that failed connection and
17493                         pass it on
17494                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17495                         a link to it, user must manually choose a new one
17496                 - (nm_device_do_pseudo_scan): remove function
17497                 - (nm_device_wireless_process_scan_results): remove bits for non-
17498                         scanning cards since they never get here
17499                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17500                         and fake the scan list for test devices a bit earlier
17501
17502         * src/NetworkManagerPolicy.c
17503                 - (nm_policy_activation_finish): use the failed_ap that we get
17504                         passed rather than getting the best_ap from the card, which
17505                         may have changed since we were scheduled
17506                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17507                         update their scan list directly from the allowed list when
17508                         we get updates to the allowed list from NetworkManagerInfo
17509
17510         * src/NetworkManagerPolicy.h
17511                 - New member for failed access point in NMActivationResult
17512
17513   -------------------------------------
17514
17515         Driver Notification patch: notifies the user when their driver
17516                 sucks.  Gives them the option to ignore further insertions
17517                 of the card that has the sucky driver.
17518
17519         * NetworkManager.h
17520                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17521                         enum and replace it with NO_CARRIER_DETECT and
17522                         NO_WIRELESS_SCAN
17523
17524         * panel-applet/NMWirelessApplet.[ch]
17525                 - Merge essid.glade -> wireless-applet.glade
17526                 - Implement the "Your driver sucks" notification dialog
17527
17528         * panel-applet/NMWirelessAppletDbus.c
17529                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17530                 - Grab hardware address for each device from NM too
17531                 - Check whether the driver for each device sucks or not whenever
17532                         a new device is noticed
17533
17534         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17535                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17536
17537         * src/NetworkManager.c
17538                 - Fix a double-unref on device removal
17539
17540         * src/NetworkManagerUtils.c
17541                 - Set appropriate driver support level on a device that doesn't
17542                         support scanning or carrier detection
17543
17544         * src/nm-dbus-device.c
17545                 - New "getHWAddress" dbus method on devices
17546                 - getSupportsCarrierDetect -> getDriverSupportLevel
17547
17548 2005-03-31  Dan Williams <dcbw@redhat.com>
17549
17550         * src/NetworkManagerDevice.c
17551                 - (nm_device_wireless_scan): Fix leak of scan results in some
17552                         instances
17553
17554 2005-03-29  Dan Williams <dcbw@redhat.com>
17555
17556         * src/NetworkManager.c
17557                 - (nm_poll_and_update_wireless_link_state): make code less indented
17558
17559         Patch from Bill Moss:
17560         * src/NetworkManager.c
17561                 - (nm_device_update_link_state): Update signal strength on wireless
17562                         devices every time we update link state too.
17563
17564 2005-03-29  Dan Williams <dcbw@redhat.com>
17565
17566         * src/NetworkManagerDevice.c
17567                 - (nm_device_set_essid): Work around Orinoco cards which need
17568                         extra time after setting the ESSID
17569
17570 2005-03-29  Dan Williams <dcbw@redhat.com>
17571
17572         * src/NetworkManagerDevice.c
17573                 - Merge one more bit of Peter Jones' completion patch
17574
17575 2005-03-29  Dan Williams <dcbw@redhat.com>
17576
17577         * src/NetworkManagerDevice.c
17578                 - (nm_device_force_use): Fix possible segfault
17579
17580 2005-03-29  Dan Williams <dcbw@redhat.com>
17581
17582         * src/NetworkManagerDevice.c
17583                 - Use iw_get_ext() where we should rather than iw_set_ext()
17584
17585 2005-03-29  Dan Williams <dcbw@redhat.com>
17586
17587         * src/NetworkManagerDevice.c
17588                 - (nm_device_set_up_down): remove check for unsupported devices
17589                         that caused NM to not bring devices up when they were
17590                         added to the device list.
17591
17592 2005-03-28  Dan Williams <dcbw@redhat.com>
17593
17594         * src/NetworkManagerDevice.c
17595                 - (mdio_read): Fix two bugs that caused all devices to fail
17596                         the MII carrier detection support checks
17597
17598 2005-03-26  Dan Williams <dcbw@redhat.com>
17599
17600         * src/NetworkManagerDevice.c
17601                 - (nm_device_wireless_scan): Remove duplicated scanning code
17602
17603 2005-03-25  Dan Williams <dcbw@redhat.com>
17604
17605         * panel-applet/NMWirelessApplet.c
17606                 - (nmwa_about_cb): Add some more contributors
17607                 - (nmwa_update_state): show the applet when there's no connection
17608                 - Enable the "Stop/Resume all wireless devices" option in the
17609                         context menu
17610                 - New "no connection" icon
17611
17612         * src/NetworkManager.c
17613                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17614                         wireless is disabled or we're asleep
17615
17616         * src/NetworkManagerDHCP.c
17617                 - Remove trailing "\n" on debug messages
17618
17619         * src/NetworkManagerDbus.c
17620                 - (nm_dbus_network_status_from_data): new state "asleep"
17621
17622         * src/NetworkManagerDevice.c
17623                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17624                         latency and wait times for most operations
17625                 - (nm_device_wireless_scan): Don't scan when asleep
17626
17627         * src/NetworkManagerPolicy.c
17628                 - (nm_policy_get_best_device): return no device when asleep
17629                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17630                         for all wireless devices on update, not just active device
17631
17632         * src/NetworkManagerUtils.c
17633                 - Merge Peter Jones' "completion" patch
17634
17635         * src/nm-dbus-nm.c
17636                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17637                         we're told to disable them
17638                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17639
17640         * utils/nm-utils.h
17641                 - New variants of the warn/info/error/debug print functions that can take
17642                         variables rather than static strings
17643
17644 2005-03-24  Dan Williams <dcbw@redhat.com>
17645
17646         * src/NetworkManagerUtils.c
17647                 - (nm_get_device_driver_name): driver names are now on the parents of
17648                         "Network Interface" objects, so look for them there
17649
17650 2005-03-24  Dan Williams <dcbw@redhat.com>
17651
17652         * test/nmtest.c
17653                 - Escape some forgotten object paths before we shove them through dbus
17654
17655 2005-03-24  Dan Williams <dcbw@redhat.com>
17656
17657         * dhcpcd/dhcpcd.[ch]
17658           src/NetworkManagerDHCP.c
17659                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17660                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17661
17662         * src/NetworkManagerDbus.c
17663                 - spacing cleanups
17664
17665         * src/nm-dbus-dhcp.c
17666                 - Make the API suck less.  There is now only 1 type of each function,
17667                         ie only "getInteger" and no longer also "getIntegerv".  All types
17668                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17669                         that will never have more than 1 element.  This should simplify
17670                         things greatly.
17671
17672         * test/nm-dhcp-opt-test.c
17673                 - Make the tool not segfault
17674                 - adapt to new DHCP Options API
17675
17676 2005-03-22  Dan Williams <dcbw@redhat.com>
17677
17678         * src/NetworkManager.c
17679                 - (nm_wired_link_deactivated): actually ignore netlink events from
17680                         wireless devices.
17681
17682 2005-03-22  Dan Williams <dcbw@redhat.com>
17683
17684         * src/NetworkManager.c
17685                 - (nm_wired_link_activated): actually ignore netlink events from
17686                         wireless devices.
17687
17688 2005-03-17  Dan Williams <dcbw@redhat.com>
17689
17690         Patch from Tom Parker:
17691         * src/nm-netlink-monitor.c
17692                 - Include unistd.h
17693         * info-daemon/NetworkManagerInfoDbus.c
17694                 - (nmi_dbus_update_network_auth_method): free GConf values
17695
17696         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17697         * src/NetworkManagerDevice.c
17698                 - (nm_device_set_wireless_config): wait for successful
17699                         association longer for some cards (Atheros a/b/g)
17700
17701 2005-03-15  Ray Strode  <rstrode@redhat.com>
17702
17703         * src/NetworkManager.c:
17704         (sigterm_pipe_handler):
17705         remove bogus FIXME
17706
17707 2005-03-15  Ray Strode  <rstrode@redhat.com>
17708
17709         * src/NetworkManagerDbus.c:
17710         Fix some sign weirdness that gcc4 doesn't like,
17711         and add a header file so PPC can hopefully find
17712         SIGTRAP
17713
17714 2005-03-14  Ray Strode  <rstrode@redhat.com>
17715         
17716         Fourth (probably working) cut at porting to
17717         dbus 0.30 api and new hal. This cut adds
17718         some new logging macros to make debugging
17719         easier.
17720
17721         * dispatcher-daemon/NetworkManagerDispatcher.c:
17722         * info-daemon/NetworkmanagerInfo.c:
17723         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17724         * info-daemon/NetworkManagerInfoVPN.c:
17725         * src/NetworkManager.c:
17726         * src/NetworkManagerAP.c:
17727         * src/NetworkManagerAPList.c:
17728         * src/NetworkManagerDHCP.c:
17729         * src/NetworkManagerDbus.c:
17730         * src/NetworkManagerDevice.c:
17731         * src/NetworkManagerPolicy.c:
17732         * src/NetworkManagerSystem.c:
17733         * src/NetworkManagerUtils.c:
17734         * src/NetworkManagerWireless.c:
17735         * src/autoip.c:
17736         * src/nm-dbus-nm.c:
17737         * src/backends/NetworkManagerDebian.c:
17738         * src/backends/NetworkManagerGentoo.c:
17739         * src/backends/NetworkManagerRedHat.c:
17740         * src/backends/NetworkManagerSlackware.c:
17741         use new logging macros.
17742
17743         * dispatcher-daemon/NetworkManagerDispatcher.c:
17744         (nmd_dbus_filter): s/dbus_free/g_free/
17745
17746         * info-daemon/Makefile.am: link in utils library.
17747         * info-daemon/NetworkmanagerInfo.c: use new logging 
17748         macros.
17749         (nmi_dbus_get_network): don't assume enumerations
17750         are 32-bit.
17751         (nmi_dbus_nmi_message_handler): don't free what 
17752         doesn't belong to us.
17753
17754         * libnm_glib/libnm_glib.c:
17755         (libnm_glib_get_nm_status): 
17756         (libnm_glib_init): don't free what doesn't
17757         belong to us.
17758         (libnm_glib_dbus): strdup result, so it doesn't get
17759         lost when message is unref'd.
17760
17761         * panel-applet/NMWirelessAppletDbus.c:
17762         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17763
17764         * src/NetworkManager.c:
17765         (nm_monitor_wired_link_state): request initial status 
17766         dump of all cards when we start up, instead of relying
17767         on /sys/.../carrier.
17768         (nm_info_handler), (nm_set_up_log_handlers): 
17769         log handlers to specify what syslog priorites 
17770         the logging macros default to.
17771
17772         * src/NetworkManagerAPList.c: 
17773         (nm_ap_list_populate_from_nmi):
17774         s/dbus_free_string_array/g_strfreev/
17775
17776         * src/NetworkManagerDbus.c:
17777         (nm_dbus_get_network_object):
17778         validate d-bus message argument types.
17779         Advance message iterator after reading argument,
17780         prepend instead of append to GSList.
17781
17782         * src/NetworkManagerDevice.c:
17783         (nm_device_probe_wired_link_status):
17784         remove redundant /sys in /sys path. remove wrong
17785         contents == NULL means has carrier assumption.
17786
17787         * src/nm-netlink-monitor.c 
17788         (nm_netlink_monitor_request_status): implement
17789         function to ask kernel to dump interface link
17790         status over netlink socket.
17791
17792         * test/*.c: s/dbus_free/g_free/
17793
17794         * utils/nm-utils.h:
17795         (nm_print_backtrace): new macro to print backtrace.
17796         (nm_get_timestamp): new macro to get sub-second precise
17797         unix timestamp.
17798         (nm_info), (nm_debug), (nm_warning), (nm_error):
17799         new logging functions. nm_info just prints,
17800         nm_debug includes timestamp and function,
17801         nm_warning includes function, nm_error includes
17802         backtrace and sigtrap.
17803
17804 2005-03-11  Ray Strode  <rstrode@redhat.com>
17805
17806         Third (unfinished, partially working) cut at porting to 
17807         dbus 0.30 api and new hal.
17808
17809         * info-daemon/NetworkManagerInfoDbus.c:
17810                 don't free null arrays.
17811
17812         * panel-applet/NMWirelessAppletDbus.c: 
17813         * src/nm-dbus-device.c:
17814         * src/nm-dbus-net.c: 
17815         * src/NetworkManagerDbus.c: more 
17816         STRING -> OBJECT_PATH fun
17817         * src/NetworkManagerDevice.c:
17818         * src/NetworkManagerDevice.h:
17819         (rename nm_device_get_link_active): rename to 
17820         nm_device_has_active_link
17821         (nm_device_wireless_link_active): rename to
17822         nm_device_probe_wireless_link_state
17823         (nm_device_wired_link_active): rename to
17824         nm_device_probe_wired_link_state.  Rewrite to
17825         use carrier file since hal doesn't maintain
17826         link state anymore.
17827         (nm_device_update_link_active): rename to
17828         nm_device_update_link_state
17829         * src/NetworkManagerPolicy.c 
17830           (nm_policy_activation_finish): check for NULL
17831           MAC address.
17832
17833         * src/Makefile.am:
17834         * src/NetworkManagerMain.h: 
17835         * src/NetworkManager.c:
17836         * src/nm-netlink-monitor.c:
17837         * src/nm-netlink-monitor.h: New class to support
17838         monitoring wired ethernet link status, since HAL
17839         doesn't export that information anymore.
17840
17841 2005-03-09  Ray Strode  <rstrode@redhat.com>
17842
17843         Second (unfinished, unworking) cut at porting to 
17844         dbus 0.30 api.
17845
17846         * dispatcher-daemon/NetworkManagerDispatcher.c:
17847         * info-daemon/NetworkManagerInfoDbus.c:
17848         * panel-applet/NMWirelessAppletDbus.c:
17849         * src/NetworkManagerDbusUtils.c:
17850         * src/NetworkManagerDbusUtils.h:
17851         * src/nm-dbus-device.c:
17852         * src/nm-dbus-nm.c:
17853         * test/nmtest.c: support dbus "object path" type
17854
17855         * configure.in: 
17856         * Makefile.am:
17857         * info-daemon/Makefile.am:
17858         * libnm_glib/Makefile.am:
17859         * panel-applet/Makefile.am:
17860         * dispatcher-daemon/Makefile.am
17861         * src/Makefile.am:
17862         * test/Makefile.am:
17863         * utils/Makefile.am: 
17864         * utils/nm-utils.c: 
17865         * utils/nm-utils.h: new utils static lib
17866
17867 2005-03-07  Ray Strode  <rstrode@redhat.com>
17868
17869         * info-daemon/NetworkManagerInfoDbus.c:
17870         * libnm_glib/libnm_glib.c:
17871         * panel-applet/NMWirelessAppletDbus.c:
17872         * src/NetworkManager.c:
17873         * src/NetworkManagerDbus.c:
17874         * src/NetworkManagerDevice.c:
17875         * src/NetworkManagerUtils.c:
17876         * src/nm-dbus-device.c:
17877         * src/nm-dbus-dhcp.c:
17878         * src/nm-dbus-net.c:
17879         * src/nm-dbus-nm.c:
17880         * test/nminfotest.c:
17881         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17882
17883 2005-03-04  Dan Williams  <dcbw@redhat.com>
17884
17885         * configure.in
17886                 - Mark HEAD as 0.4
17887
17888 2005-03-04  Dan Williams  <dcbw@redhat.com>
17889
17890         Patch from Peter Jones:
17891         - Make stuff work with gcc 4.0
17892
17893 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17894
17895         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17896
17897 2005-02-27  Jim Huang  <jserv@kaffe.org>
17898
17899         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17900
17901 2005-02-27  Dan Williams  <dcbw@redhat.com>
17902
17903         Patch from Bill Moss:
17904         * panel-applet/NMWirelessAppletDbus.c
17905                 - Make sure strength for current access point is up-to-date when we
17906                         update the gui data model
17907
17908 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17909
17910         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17911
17912 2005-02-27  Dan Williams  <dcbw@redhat.com>
17913
17914         * src/backends/NetworkManagerRedHat.c
17915                 - (nm_system_init): Kill any dhclient processes lying around as well
17916                         as stopping 'nifd' if its already been started.  NetworkManager
17917                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17918
17919 2005-02-27  Dan Williams  <dcbw@redhat.com>
17920
17921         * panel-applet/NMWirelessApplet.c
17922                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17923                         dbus data model, not the GUI data model twice.
17924
17925 2005-02-27  Dan Williams  <dcbw@redhat.com>
17926
17927         * panel-applet/NMWirelessApplet.[ch]
17928           panel-applet/NMWirelessAppletDbus.[ch]
17929                 - Move to incremental network updates.  Instead of blowing away our list
17930                         of devices every time we get a signal from NetworkManager, we now
17931                         incrementally add/remove networks when NetworkManager notifies us that
17932                         a new network has appeared or disappered.  Strength updates now happen
17933                         on-the-fly for each access point as well.  There are now two copies of
17934                         data from NetworkManager: one for the dbus side, and one for the gui side.
17935                         When the dbus side data is modified, it is copied over to the gui side
17936                         so we don't have to hold the data_mutex for long periods of time (and
17937                         therefore block animation of the applet's icon).
17938                 - Clean up some memleaks too
17939
17940         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17941                 - Minor code beautification
17942
17943         * src/NetworkManagerAPList.c
17944                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17945                         completely new and whether or not an existing one's strength was updated.
17946                         Try to fix multiple access points and signal strength by using the highest
17947                         signal strength in each scan for any given ESSID.
17948
17949         * src/NetworkManagerDbus.[ch]
17950                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17951                         wireless networks; now we have only WirelessNetworkUpdate which includes
17952                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17953                 - Kill usage of DbusMessageIter
17954
17955         * src/NetworkManagerDevice.c
17956                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17957                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17958                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17959                         currently associated with from the network list.
17960                 - Update for new signals during scan, send out Appeared, Disappeared, or
17961                         StrengthChanged when necessary.
17962
17963 2005-02-25  Dan Williams  <dcbw@redhat.com>
17964
17965         * README
17966                 - Line break the README
17967
17968 2005-02-25  Dan Williams  <dcbw@redhat.com>
17969
17970         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17971                 - Remove usage of gtk_window_set_default_size()
17972
17973         * panel-applet/essid.glade
17974                 - Stick default size here
17975                 - Add in random crap that current glade wants to add in now
17976
17977 2005-02-25  Dan Williams  <dcbw@redhat.com>
17978
17979         * src/backends/NetworkManagerRedHat.c
17980                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17981                         and that we actually tell nscd to reload the hosts cache when it changes
17982
17983 2005-02-25  Dan Williams  <dcbw@redhat.com>
17984
17985         * info-daemon/NetworkManagerInfoDbus.c
17986                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17987
17988         * test/nminfotest.c
17989                 - Whack usage of DbusMessageIter
17990                 - Clean up DbusError and DbusMessage handling and freeing
17991                 - Remove unused unregister handler
17992
17993         * test/nmtest.c
17994                 - Whack usage of DbusMessageIter
17995
17996         * test/nmtestdevices.c
17997                 - Whack usage of DbusMessageIter
17998
17999 2005-02-25  Dan Williams  <dcbw@redhat.com>
18000
18001         * NetworkManager.h
18002                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18003                         signal
18004
18005 2005-02-25  Dan Williams  <dcbw@redhat.com>
18006
18007         * named/nm-named-manager.c
18008                 - Ensure that pid and watch variables for child named process get cleared out
18009                         when the child goes away.
18010
18011 2005-02-22  Dan Williams  <dcbw@redhat.com>
18012
18013         * src/NetworkManagerPolicy.c
18014                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18015                         and NULL out data->active_device so that we have to choose another one.
18016                         This may make NetworkManager keep attempting to connect to a wired network
18017                         if it fails, but if it keeps failing the wired network has more problems than
18018                         just NetworkManager.
18019
18020         * src/backends/NetworkManagerRedHat.c
18021                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18022                         is already running
18023
18024         * named/nm-named-manager.c
18025                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18026                         named so that the distro can flush whatever name service caching
18027                         daemon it uses
18028
18029 2005-02-21  Dan Williams  <dcbw@redhat.com>
18030
18031         * src/NetworkManagerDHCP.[ch]
18032                 - (nm_device_dhcp_remove_timeouts): new function
18033
18034         * src/NetworkManagerDevice.c
18035                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18036                         remove the DHCP timeouts.
18037
18038 2005-02-21  Dan Williams  <dcbw@redhat.com>
18039
18040         * panel-applet/NMWirelessApplet.[ch]
18041           panel-applet/menu-info.[ch]
18042                 - Give the panel applet some major love: menu items are no longer
18043                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18044                         This allows the applet to actually reflect theme changes correctly,
18045                         since themeing of subclassed items in GTK _sucks_.
18046
18047 2005-02-18  Dan Williams  <dcbw@redhat.com>
18048
18049         * libnm_glib/libnm_glib.[ch]
18050           test/libnm_glib_test.c
18051                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18052                         and its data, and doesn't have to free the callback data anymore
18053
18054 2005-02-18  Dan Williams  <dcbw@redhat.com>
18055
18056         * panel-applet/NMWirelessApplet.c
18057                 - Revert 2005-02-18 William Jon McCann fix for standard
18058                         copyright string until it passes 'make distcheck'.
18059                         With standard copyright string, xgettext complains
18060                         about "Non-ASCII string at ...".
18061
18062 2005-02-18  Dan Williams  <dcbw@redhat.com>
18063
18064         * panel-applet/essid.glade
18065           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18066                 - Correct spelling of "adaptor"->"adapter"
18067
18068 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18069
18070         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18071         (nmwa_about_cb): Use standard copyright string.  Update comment
18072         text to reflect that it is a notification area applet.  Remove
18073         leading newline in authors list.
18074         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18075         instead of on parent menu item activation.  Fixes #167550.
18076
18077 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18078
18079         * panel-applet/essid.glade: Capitalize items as per HIG.
18080           Fixes #167632
18081
18082 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18083
18084         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18085         files for GTK 2.4 or lower, since now public in GTK 2.6.
18086
18087         * panel-applet/essid.glade: Don't specify window size.
18088         
18089 2005-02-17  Dan Williams  <dcbw@redhat.com>
18090
18091         Caught by Bill Moss:
18092         * dhcpcd/client.c
18093                 - Time remaining for DHCP transaction calculation was incorrectly
18094                         inside a #ifdef DEBUG
18095
18096 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18097
18098         * configure.in: Added fr (French) to ALL_LINGUAS.
18099
18100 2005-02-14  Dan Williams  <dcbw@redhat.com>
18101
18102         * src/NetworkManagerDHCP.c
18103                 - (set_domain_searches): Fix free of invalid pointer
18104
18105 2005-02-14  Dan Williams  <dcbw@redhat.com>
18106
18107         Patch from Peter Jones:
18108         * dhcpcd/client.c
18109                 - Ensure we return RET_DHCP_CEASED everywhere we should
18110         * dhcpcd/udpipgen.c
18111                 - Use faster TOS for IP packets
18112                 - Don't set ip_id since we're UDP
18113
18114         Patch from Tomislav Vujec:
18115         * src/nm-dbus-dhcp.c
18116           test/nm-dhcp-opt-test.c
18117                 - Clean up warnings to enable cvs tree compilation.
18118
18119 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18120
18121         * configure.in
18122           po/hr.po
18123                 - Add the Croatian locale.
18124
18125 2005-02-14  Colin Walters  <walters@verbum.org>
18126
18127         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18128         list of domains to search.
18129         
18130         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18131
18132 2005-02-13  Dan Williams  <dcbw@redhat.com>
18133
18134         * dhcpcd/client.c
18135                 - Debug output cleanups of DHCP option printing and parsing.
18136
18137 2005-02-13  Dan Williams  <dcbw@redhat.com>
18138
18139         Patch from Dan Reed:  DHCP options D-BUS API
18140                 Exposes the DHCP options that a device receives to clients over D-BUS.
18141
18142         * configure.in
18143                 - A few cleanups
18144
18145         * dhcpcd/client.h
18146                 - Correct names, option length, and types for DHCP options
18147
18148         * dhcpcd/dhcpcd.[ch]
18149                 - Clarify function names that access DHCP options & data
18150
18151         * src/NetworkManagerDHCP.c
18152                 - Use new DHCP data access functions
18153
18154         * src/NetworkManagerDbus.c
18155                 - Message handler for DHCP functions
18156
18157         * src/nm-dbus-dhcp.[ch] (new)
18158                 - DHCP dbus methods
18159
18160         * test/nm-dhcp-opt-test.c
18161                 - Test DHCP D-BUS API and return all present DHCP options
18162
18163 2005-02-12  Dan Williams  <dcbw@redhat.com>
18164
18165         * test/Makefile.am
18166           test/nmclienttest.c
18167           test/nmtest.c
18168                 - Move nmclienttest.c -> nmtest.c
18169
18170 2005-02-12  Dan Williams  <dcbw@redhat.com>
18171
18172         * dhcpcd/buildmsg.c
18173                 - Pad DHCP packets until they are at least 300 bytes in size.
18174
18175 2005-02-11  Dan Williams  <dcbw@redhat.com>
18176
18177         * dhcpcd/client.c
18178                 - (dhcp_init): only print out client ID and class ID if they are specified
18179
18180         * src/NetworkManagerDbus.[ch]
18181           src/nm-dbus-nm.[ch]
18182           src/nm-dbus-device.[ch]
18183           src/nm-dbus-net.[ch]
18184                 - Move NM, Device, and Net functions to separate files and use the
18185                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18186                         method dispatching
18187
18188         * src/NetworkManagerDbusUtils.c
18189                 - Add new validate_method called before each dispatch (if present)
18190                         that can validate the method call
18191
18192         * src/NetworkManagerWireless.c
18193                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18194                         levels never to be evaluated
18195
18196         Patch from j@bootlab.org
18197         * src/NetworkManagerDevice.c
18198                 - Add typedef for "u64"
18199
18200         * src/backends/NetworkManagerDebian.c
18201                 - Copy in Dave Woodhouse's fixes for IPv6
18202
18203 2005-02-11  Dan Williams  <dcbw@redhat.com>
18204
18205         Patch from Dave Woodhouse for IPv6:
18206         * src/NetworkManagerUtils.c
18207                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18208                         and multicast addresses
18209
18210         * src/NetworkManagerDevice.c
18211                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18212                         after bringing up a card.
18213
18214 2005-02-10  Dan Williams  <dcbw@redhat.com>
18215
18216         Patch from Dave Woodhouse:
18217         * src/NetworkManagerSystem.h
18218           src/backends/NetworkManagerDebian.c
18219           src/backends/NetworkManagerGentoo.c
18220           src/backends/NetworkManagerSlackware.c
18221                 - New nm_system_device_add_ip6_link_address() function to add link-local
18222                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18223
18224         * src/backends/NetworkManagerRedHat.c
18225                 - (nm_system_device_add_ip6_link_address): implement
18226                 - (nm_system_device_flush_addresses): revert to previous behavior of
18227                         flushing all addresses
18228
18229 2005-02-10  Dan Williams  <dcbw@redhat.com>
18230
18231         Patch from Tom Parker:
18232         * src/NetworkManagerDevice.c
18233                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18234                         mii.h headers are broken, and instead use our own typedefs
18235
18236 2005-02-10  Dan Williams  <dcbw@redhat.com>
18237
18238         * dhcpcd/buildmsg.c
18239                 - (fill_host_and_class_id): only fill in client and class IDs if
18240                         they are set by callers.
18241
18242         * dhcpcd/client.c
18243                 - (class_id_setup): don't autogenerate a class ID, only use one
18244                         we're given, if any.
18245                 - (client_id_setup): don't autogenerate a client ID, only use one
18246                         we're given, if any.
18247
18248         * dhcpcd/dhcpcd.c
18249                 - (dhcp_interface_init): ensure that client options are correctly
18250                         NULL terminated
18251
18252         * src/NetworkManagerDHCP.c
18253                 - (nm_device_dhcp_request): pass hostname to dhcp library
18254
18255 2005-02-10  Dan Williams  <dcbw@redhat.com>
18256
18257         * dhcpcd/client.c
18258                 - #rh147661# Don't send kernel version in DHCP requests
18259
18260         * src/NetworkManagerSystem.h
18261           src/backends/NetworkManagerDebian.c
18262           src/backends/NetworkManagerGentoo.c
18263           src/backends/NetworkManagerRedHat.c
18264           src/backends/NetworkManagerSlackware.c
18265                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18266                         functions, they are no longer used anyway
18267
18268         * src/backends/NetworkManagerRedHat.c
18269                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18270                         addresses in an attempt to keep IPv6 local-scope addresses around
18271
18272 2005-02-10  Dan Williams  <dcbw@redhat.com>
18273
18274         * src/NetworkManager.c
18275                 - (nm_create_device_and_add_to_list): change the add message slightly
18276
18277         * src/NetworkManagerUtils.c
18278                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18279                         Return driver name to calling function
18280                 - (nm_get_driver_support_level): print out the driver a device is using
18281                         during the support check
18282
18283         Patch from Dave Woodhouse:
18284         * dhcpcd/udpipgen.c
18285                 - (in_cksum): copy last byte of odd-sized packets into a
18286                         'u_short' rather than a 'u_char', should fix wrong checksums
18287                         on big-endian platforms
18288
18289 2005-02-09  Dan Williams  <dcbw@redhat.com>
18290
18291         * Clean up usage of GSList objects and looping through their members
18292         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18293                 now.
18294         * Fix problem where even if scanning was turned off, card would still
18295                 cycle through frequencies.
18296
18297 2005-02-08  Dan Williams  <dcbw@redhat.com>
18298
18299         * panel-applet/NMWirelessApplet.c
18300                 - Fix for gtk 2.4
18301
18302 2005-02-08  Dan Williams  <dcbw@redhat.com>
18303
18304         Patch from Bill Moss
18305         * panel-applet/NMWirelessApplet.c
18306                 - Restore correct ESSID in tooltips
18307
18308 2005-02-07  Dan Williams  <dcbw@redhat.com>
18309
18310         * panel-applet/NMWirelessApplet.[ch]
18311                 - Add a context menu that contains:
18312                         Pause/Resume Wireless Scanning
18313                         Stop/Start All Wireless Devices
18314                         About...
18315                 - Grab active device strength off active device,
18316                         not its network
18317
18318         * panel-applet/NMWirelessAppletDbus.[ch]
18319                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18320                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18321                 - Update active device strength every 2 seconds, not every 1 second
18322
18323         * panel-applet/menu-info.c
18324                 - Only disable wired devices in the menu when they support carrier detection,
18325                         and don't currently have a link.  Non-carrier-detect devices will always
18326                         remain choosable
18327
18328         * src/Makefile.am
18329           src/NetworkManagerDbusUtils.[ch]
18330                 - Add new new dbus utils sources
18331
18332         * src/NetworkManager.c
18333                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18334                         with the boolean parameter
18335                 - Set scanning_enabled & wireless_enabled to TRUE
18336
18337         * src/NetworkManagerDbus.c
18338                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18339                 - Implement scanning & wireless enable/disable calls
18340                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18341
18342         * src/NetworkManagerDevice.c
18343                 - New link detection stuff again...
18344                         o  Create device's mainloop earlier (but don't run it earlier)
18345                         o  Hook up new carrier-detect support stuff
18346                         o  Add in the ethtool & mii support detection code
18347                 - Don't scan if scanning is disabled
18348
18349         * src/NetworkManagerPolicy.c
18350                 - Never automatically choose a device that doesn't support carrier detection
18351                 - Don't automatically choose a wireless device if wireless is disabled
18352
18353 2005-02-07  Dan Williams  <dcbw@redhat.com>
18354
18355         * libnm_glib/libnm_glib.c
18356                 - Small cleanup in element list iteration
18357
18358 2005-02-07  Dan Williams  <dcbw@redhat.com>
18359
18360         * src/NetworkManagerWireless.c
18361                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18362                         to be in line with the WEXT quality specification
18363
18364 2005-02-02  Dan Williams  <dcbw@redhat.com>
18365
18366         Patch from Nathan Fredrickson <nathan@silverorange.com>
18367         * Fix up compile for deprecation of libgnomeui
18368                 - Switch to <glib/gi18n.h> from <libintl.h>
18369                 - Remove <libgnomeui/libgnomeui.h> includes
18370                 - Use gtk_window_set_default_icon_from_file() rather than
18371                         gnome_window_set_default_icon_from_file()
18372
18373         * named/nm-named-manager.c
18374                 - (generate_named_conf): Fix return-nothing in non-void
18375                         function
18376
18377 2005-02-02  Dan Williams  <dcbw@redhat.com>
18378
18379         * Clean up unused variables and the like
18380
18381 2005-02-02  Dan Williams  <dcbw@redhat.com>
18382
18383         * src/NetworkManagerAPList.c
18384                 - (nm_ap_list_merge_scanned_ap): merge strength too
18385
18386         * src/NetworkManagerUtils.c
18387                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18388                         of locking issues by printing out prettier information than g_mutex_lock
18389                 - Print out names of mutexes registered with nm_register_mutex_desc()
18390                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18391                         us to seemingly block here for too long
18392
18393         * src/NetworkManager.c
18394           src/NetworkManagerAPList.c
18395           src/NetworkManagerDevice.c
18396                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18397                         so we get better debug information printed
18398
18399         * src/NetworkManagerDbus.c
18400                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18401                         since it sometimes has locking side effects
18402                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18403                         from 10s
18404                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18405                         we don't need a switch.  This gets called often enough that we can't block
18406                         until the scan mutex is acquired, because we'll block on device activation
18407                         and a few other things, which hangs main thread for too long.
18408
18409         * src/NetworkManagerPolicy.c
18410                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18411                         nm_device_need_ap_switch() will be called               
18412
18413 2005-02-02  Dan Williams  <dcbw@redhat.com>
18414
18415         * panel-applet/NMWirelessApplet.c
18416                 - Display name of wireless network we are connecting to or connected to
18417                         in the tooltip of the applet
18418
18419 2005-02-02  Dan Williams  <dcbw@redhat.com>
18420
18421         * src/NetworkManagerDHCP.c
18422                 - Hopefully fix double-default-route problem by cleaning up the default
18423                         route added by DHCP code right before the DHCP transaction begins
18424
18425 2005-02-02  Dan Williams  <dcbw@redhat.com>
18426
18427         * named/nm-named-manager.c
18428                 - Write out valid resolv.conf when we exit
18429
18430 2005-02-01  Dan Williams  <dcbw@redhat.com>
18431
18432         Patch from Colin Walters:
18433         * named/nm-named-manager.c
18434                 - Make multi-domain search options work
18435
18436 2005-01-31  Dan Williams  <dcbw@redhat.com>
18437
18438         * info-daemon/NetworkManagerInfoDbus.c
18439                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18440
18441         * src/NetworkManagerDevice.c
18442                 - (nm_device_new): Don't store the entire range struct, use only what we need
18443                         (which is currently avg_quality, max_quality, and frequencies).  Also
18444                         zero device structure when we've free'd it to maybe expose errors down
18445                         the line.
18446                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18447                         quality data from the card since quality will be useless during a scan.
18448                         Call updated wireless qual-to-percent function with values stored in
18449                         nm_device_new() earlier.
18450                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18451                         nm_device_get_bad_crypt_packets())
18452                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18453                         nm_device_new()
18454                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18455                         list if available.  Problem was this: when the WEP key is wrong, NM will
18456                         try OS then SK modes, and then get stuck in SK mode after that.  This
18457                         should reset it.
18458                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18459                         function
18460
18461         * src/NetworkManagerWireless.c
18462                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18463                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18464                         if that's all present, otherwise fall back to signal-to-noise ratios.
18465
18466 2005-01-29  Dan Williams  <dcbw@redhat.com>
18467
18468         * initscript/RedHat/NetworkManager
18469                 - Don't spit out sysctl stuff to console
18470
18471         * libnm_glib/libnm_glib.c
18472                 - (libnm_glib_init): call dbus_g_thread_init()
18473
18474         * panel-applet/NMWirelessAppletDbus.c
18475                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18476
18477         * src/NetworkManager.c
18478                 - (main): call dbus_g_thread_init()
18479
18480         * src/NetworkManagerAPList.c
18481                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18482                         so we can actually see what's there in a normal syslog
18483
18484         * src/NetworkManagerDevice.c
18485                 - (nm_device_activate_wireless): print out the "waiting for access point"
18486                         message only once, then say what access point we actually got after
18487                         the wait.
18488                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18489                         function, wait until the scan is done.  Scans may change the ESSID of
18490                         the card, making this function think we need to switch access points
18491                 - (nm_device_wireless_process_scan_results): for artificial access points
18492                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18493                         prevents collisions with the scanning code, which may change the card's
18494                         ESSID and cause the access point to get dropped from the device's AP
18495                         list.  Also increase the keep-around time to 2m from 60s since the max
18496                         scan interval could be 60s in some cases.
18497
18498         * src/NetworkManagerPolicy.c
18499                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18500                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18501                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18502                         between NM and NMI.
18503
18504 2005-01-27  Dan Williams  <dcbw@redhat.com>
18505
18506         * info-daemon/NetworkManagerInfoDbus.c
18507                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18508                         GConf, make a minimal entry for it (essid & timestamp)
18509
18510         * src/NetworkManagerAPList.c
18511                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18512                         NetworkManagerInfo isn't running
18513
18514         * src/NetworkManagerDbus.[ch]
18515                 - (nm_dbus_nmi_is_running): new function
18516
18517         * src/NetworkManagerDevice.c
18518                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18519                         address to garbage.
18520
18521         * src/NetworkManagerPolicy.c
18522                 - (nm_policy_activation_finish): On successful activation, make sure
18523                         the "best" AP has a MAC address, and don't tell NMI to add the
18524                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18525                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18526                         access point after refreshing our allowed list if it doesn't already
18527                         have a "best" access point.
18528
18529 2005-01-25  Dan Williams  <dcbw@redhat.com>
18530
18531         * panel-applet/NMWirelessAppletDbus.c
18532                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18533                         so we check for NM_DBUS_SERVICE rather than not for it
18534
18535         * libnm_glib/libnm_glib.c
18536                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18537                         ServiceOwnerChanged signal
18538
18539 2005-01-25  Dan Williams  <dcbw@redhat.com>
18540
18541         * configure.in
18542                 - Check DBUS version in configure, and set the C macros
18543                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18544
18545         * info-daemon/NetworkManagerInfoDbus.c
18546                 - Remove #if 0-d section of code that quit NMI if NM went away.
18547
18548         * panel-applet/NMWirelessAppletDbus.c
18549                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18550
18551         * src/NetworkManager.c
18552           src/NetworkManagerMain.h
18553           src/NetworkManagerDbus.c
18554                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18555                 - Make updating of our Allowed Wireless Network lists from NMI
18556                         an idle function in the main thread now, with a high priority.
18557
18558 2005-01-24  Dan Williams  <dcbw@redhat.com>
18559
18560         * panel-applet/gtkcellview.[ch]
18561           panel-applet/menu-info.c
18562                 - Fix GTK version checks to be <= rather than <
18563
18564         * test/Makefile.am
18565                 - Include the libtool archive of libnm_glib rather than
18566                         trying to pull in the .so
18567
18568 2005-01-24  Dan Williams  <dcbw@redhat.com>
18569
18570         * src/NetworkManagerDevice.c
18571           src/NetworkManagerDevicePrivate.h
18572                 - Block nm_device_new() until our device's worker thread has had a
18573                         chance to start up.  Fixes a race between main thread and worker
18574                         thread starting that caused activation requests to get lost.
18575
18576 2005-01-24  Dan Williams  <dcbw@redhat.com>
18577
18578         * initscript/RedHat/NetworkManager
18579                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18580                         to add the NM startup script at priority 50, which was
18581                         way too early
18582
18583 2005-01-24  Colin Walters  <walters@redhat.com>
18584
18585         * named/named.conf: Use any port for query source instead of
18586         restricting to port 53.
18587
18588 2005-01-24  Dan Williams  <dcbw@redhat.com>
18589
18590         * initscript/RedHat/NetworkManager
18591                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18592                         to add the NM startup script at priority 50, which was
18593                         way too early
18594
18595 2005-01-24  Dan Williams  <dcbw@redhat.com>
18596
18597         Patch from Tom Parker <palfrey@tevp.net>
18598         * Fix up compile warnings & errors in the wireless applet
18599
18600 2005-01-24  Dan Williams  <dcbw@redhat.com>
18601
18602         * panel-applet/NMWirelessApplet.c
18603                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18604
18605 2005-01-24  Dan Williams  <dcbw@redhat.com>
18606
18607         * panel-applet/gtkcellview.[ch]
18608                 - Only compile these files for GTK 2.4 or lower, since 
18609                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18610                         when choosing "Other Wireless Networks" from the panel
18611                         applet menu
18612
18613 2005-01-21  Dan Williams  <dcbw@redhat.com>
18614
18615         * src/NetworkManager.c
18616                 - Daemonize earlier so that glib doesn't get confused (?)
18617
18618 2005-01-21  Dan Williams  <dcbw@redhat.com>
18619
18620         * panel-applet/NMWirelessApplet.[ch]
18621           panel-applet/NMWirelessAppletDbus.c
18622           panel-applet/menu-info.c
18623           src/NetworkManagerDevice.c
18624                 - Disable wired devices in the menu when they have no link.
18625
18626 2005-01-21  Dan Williams  <dcbw@redhat.com>
18627
18628         * Cache last-known-good wireless authentication method in
18629                 NetworkManagerInfo, and use that method first during
18630                 wireless device activation.  Should speed up devices that
18631                 need Shared Key authentication method since Open System is
18632                 now the default.
18633
18634         * Remove the hack to not do full activation on wired connections
18635                 that are active when we launch, it causes too many problems
18636                 with name resolution and was a hack in the first place.
18637
18638         * Re-work wireless device activation again somewhat to have a
18639                 clearer chain of events and to use last-known-good
18640                 authentication method of the access point.  Also provide
18641                 better status throughout activation to ensure the applet
18642                 can tell the user exactly what's going on.
18643
18644         * Remove the "find wireless network" code and now simply attempt
18645                 to activate with that access point.  This reduces the delay
18646                 between selecting "Other wireless Network" and actually
18647                 connecting to that network.
18648
18649         * Correctly stop the device's worker thread when its removed.
18650
18651 2005-01-21  Dan Williams  <dcbw@redhat.com>
18652
18653         * dhcpcd/client.c
18654                 - Clean up some of the debug messages
18655
18656 2005-01-21  Dan Williams  <dcbw@redhat.com>
18657
18658         * Add new icons, more frames of animation
18659         * Remove some hacks to get the panel applet to display correct
18660                 status, an NM update will soon follow that will fix the
18661                 real issue.
18662
18663 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18664
18665         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18666         the first include for working i18n. Also, don't include it in .h files
18667         * panel-applet/NMWirelessApplet.h: Same
18668         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18669         * panel-applet/menu-info.c: Same
18670
18671 2005-01-18  Dan Williams <dcbw@redhat.com>
18672
18673         * dhcpcd/client.c
18674                 - Remove some debug messages
18675                 - Wrap others in #ifdef DEBUG/#endif
18676
18677         * src/NetworkManager.c
18678                 - Remove some debug messages
18679                 - Clarify some debug messages
18680                 - Remove code related to old single-thread wireless scanning
18681
18682         * src/NetworkManagerAP.[ch]
18683                 - New AP property "last_seen" to track how recently an AP was
18684                         found in a scan
18685                 - Start using 'const' more in function arguments
18686
18687         * src/NetworkManagerAPList.[ch]
18688                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18689                         of an AP found in an AP list from a source AP, or if not found
18690                         in the list add the source AP
18691                 - (nm_ap_list_combine): remove, no longer needed
18692
18693         * src/NetworkManagerDevice.c
18694                 - Each device now has a "worker" thread from start to end of its life.
18695                         Scanning for wireless devices now happens in that thread,
18696                         not in a single "wireless scanning thread" for all devices as
18697                         previously.  Activation consists of adding an idle handler to the
18698                         thread's main loop/context, which gets run at the next available
18699                         opportunity.
18700                 - Wireless scanning is also simplified, there is now only one list of
18701                         access points per wireless device, and APs older than 60s are
18702                         removed from the list.  Previously, we kept results for the last
18703                         3 scans and merged whole lists, which was complicated.
18704                 - Cleaned up activation debug messages.
18705                 - Wireless activation and access-point search routines now use Open System
18706                         authentication before trying Shared Key.
18707                 - Removed some code in nm_device_update_best_ap() that could cause cards
18708                         to loose their link to the access point.
18709                 - Scanning now uses a backoff algorithm, where the inverval becomes
18710                         progressively longer between scans when the list of scanned access
18711                         points doesn't change.  A change will revert to the shortest scan
18712                         interval (20s).
18713
18714         * src/NetworkManagerWireless.[ch]
18715                 - Remove code related to old single-thread wireless scanning
18716
18717 2005-01-18  Colin Walters  <walters@redhat.com>
18718
18719         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18720         of older nameservers.
18721
18722 2005-01-18  Colin Walters  <walters@redhat.com>
18723
18724         * named/nm-named-manager.c (generate_named_conf): Many fixes
18725         to config file generation.
18726         (safer_kill): Remove, was too much trouble for little gain.
18727         (nm_named_manager_start): Run named as NM_NAMED_USER.
18728
18729         * configure.in: Add option --with-named-user.
18730
18731 2005-01-14  Colin Walters  <walters@redhat.com>
18732
18733         Patch from ed@catmur.co.uk (Ed Catmur)
18734
18735         * named/nm-named-manager.c: Add "context" property.
18736         Use it to add child watch source in specific GMainContext.
18737
18738         * src/NetworkManager.c (nm_data_new): Initialize
18739         named with correct main context.  Start named only
18740         after forking.
18741
18742 2005-01-14  Colin Walters  <walters@redhat.com>
18743
18744         * named/nm-named-manager.c (generate_named_conf): Write config
18745         and pid files into NM_NAMED_DATA_DIR; this allows things to
18746         work better with FC3 named SELinux policy.  Also fix up silly
18747         format error.
18748
18749         * configure.in: Add --with-named-dir option.
18750
18751 2005-01-14  Colin Walters  <walters@redhat.com>
18752
18753         * configure.in: Make named support require passing --with-named.
18754
18755         * named/nm-named-manager.c: Support writing resolv.conf directly
18756         without running named.
18757
18758 2005-01-13  Dan Williams <dcbw@redhat.com>
18759
18760         * named/nm-named-manager.c
18761                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18762
18763         * src/NetworkManagerDevice.c
18764                 - Rework wireless link detection code to be more reliable
18765
18766 2005-01-12  Dan Williams <dcbw@redhat.com>
18767
18768         * initscripts/RedHat/NetworkManager
18769                 - Change initial level to "-" rather than "345" so that
18770                         we don't activate ourselves by default on install
18771
18772 2005-01-12  Dan Williams <dcbw@redhat.com>
18773
18774         * libnm_glib/
18775                 - Client library for applications using glib
18776
18777         * configure.in
18778           various Makefiles
18779                 - Split NM_CFLAGS and NM_LIBS into separate variables
18780                         like DBUS_*, HAL_* and GLIB_*
18781
18782         * src/NetworkManager.c
18783           src/NetworkManagerMain.h
18784                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18785                         broadcast a status changed signal over DBUS from the main thread.
18786                         Still unused anywhere for the moment.
18787
18788         Patch from j@bootlab.org
18789         * panel_applet/NMWirelessAppletDbus.c
18790           src/NetworkManagerDbus.c
18791                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18792                         for the "getMode" method call
18793
18794 2005-01-10  Dan Williams <dcbw@redhat.com>
18795
18796         * src/NetworkManagerDevice.c
18797                 - Minor fixups & corrections to "auto" frequency mode, make it
18798                         less chatty with syslog
18799
18800 2005-01-10  Dan Williams <dcbw@redhat.com>
18801
18802         * src/NetworkManagerDevice.c
18803                 - Implement "auto" frequency/channel support, since cards like Atheros
18804                         can't use other frequencies at all when you've told it to use a
18805                         specific one, even for scanning.
18806                 - Grab the scan mutex around places where we can't tolerate wireless
18807                         settings changing underneath us, like nm_device_wireless_network_exists()
18808                         and nm_device_activate_wireless()
18809
18810         * src/NetworkManagerWireless.c
18811                 - Back scan interval off to 20s instead of 14s
18812
18813 2005-01-09  Dan Williams <dcbw@redhat.com>
18814
18815         * src/NetworkManagerDevice.c
18816                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18817                         already set.  Stops some drivers like Atmel from continually
18818                         reloading the firmware, which they do upon every configuration
18819                         change.
18820
18821 2005-01-09  Dan Williams <dcbw@redhat.com>
18822
18823         * dhcpcd/client.c
18824                 - Use correct timeout value
18825
18826         * info-daemon/NetworkManagerInfoDbus.c
18827           src/NetworkManagerDbus.c
18828                 - Consolidate communication between NM and NMI by doing only 1 dbus
18829                         method call to get Wireless Network info from NMI instead of 6
18830
18831         * src/NetworkManager.c
18832                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18833                         when we didn't have an AP to use, we'd wait for one forever without
18834                         quitting
18835
18836         * src/NetworkManagerDevice.c
18837                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18838                         activation, dhcp might not have started yet but we don't quit activation
18839                         before starting it, so the quit signal gets lost
18840
18841 2005-01-07  Dan Williams <dcbw@redhat.com>
18842
18843         * dhcpcd/client.c
18844                 - Rework the DHCP client code to be much less chatty when
18845                         it receives non-DHCP UDP packets during the DHCP run
18846                         (reported by and preliminary patches from Bill Moss)
18847
18848         * Move wireless scanning to a separate thread.  This thread forwards the
18849                 results to the main thread when done where they are integrated into
18850                 the device's access point lists.  This keeps the main thread (which
18851                 does all the DBUS communication) from being blocked for long periods
18852                 of time by wireless scanning.
18853
18854         * Make state modification an idle routine in the main loop, and trigger
18855                 state changes rather than polling for them.
18856
18857         * src/backends/NetworkManagerGentoo.c
18858                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18859
18860         * src/NetworkManagerDevice.c
18861                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18862                         router advertisements, causing problems and infinite loop
18863                         during "best" device determination due to link going up/down
18864                         (reported by Bill Moss)
18865
18866         Apply patch from Peter Jones
18867         * src/NetworkManagerDevice.c
18868                 - Shortcut for link-checking for ipw2x00 cards
18869                 - Split out association check into separate routine
18870
18871 2004-01-05  Colin Walters  <walters@redhat.com>
18872
18873         * named/named.conf: Add PID_FILE.
18874
18875         * named/nm-named-manager.c: Always generate a pid
18876         file, since older BIND versions don't support
18877         "pid-file none".
18878
18879 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18880
18881         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18882
18883 2004-12-22  Dan Williams <dcbw@redhat.com>
18884
18885         * src/NetworkManagerDevice.c
18886                 - Silently fail when setting bitrate doesn't work
18887
18888
18889         Patches from j@bootlab.org:
18890         * src/backends/NetworkManagerDebian
18891                 - Update backend to match functionality in RedHat backend
18892         * src/NetworkManagerDevice.c
18893                 - Take down then bring up wired devices after connection so
18894                 they send out ipv6 router advertisements
18895
18896 2004-12-21  Colin Walters  <walters@verbum.org>
18897
18898         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18899         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18900
18901 2004-12-21  Colin Walters  <walters@redhat.com>
18902
18903         * configure.in: Correct named detection.
18904
18905 2004-12-21  Colin Walters  <walters@redhat.com>
18906
18907         * src/NetworkManager.c (nm_data_new): Initialize named.
18908         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18909         the mainloop when these signals are received.
18910         (nm_data_free): Unref named.
18911         (sigterm_handler, sigterm_pipe_handler): New functions for
18912         exiting mainloop.
18913         
18914         * src/NetworkManagerMain.h (NMData): Add signal handling and
18915         nameserver bits.
18916
18917         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18918         unref.
18919
18920         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18921         set nameservers from DHCP response data.
18922         (set_domain_search): Set domain search from DHCP response.
18923         (nm_device_dhcp_configure): Invoke them.
18924
18925         * src/NetworkManagerSystem.c
18926         (nm_system_device_update_resolv_conf): Delete.  Deleting
18927         code is totally sweet.
18928
18929         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18930
18931         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18932         implements an object which controls a nameserver.  Currently
18933         uses bind 9.
18934
18935         * configure.in: Check for named.
18936
18937         * Makefile.am (SUBDIRS): Add named dir.
18938
18939         * named/named.conf: New template config file.
18940
18941 2004-12-20  Colin Walters  <walters@redhat.com>
18942
18943         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18944         instead of '='.
18945
18946 2004-12-17  Dan Williams  <dcbw@redhat.com>
18947
18948         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18949                 link-local addresses instead of doing DHCP.
18950
18951         * In the panel applet, there's a new "Create new Wireless Network..." item
18952
18953         * The panel applet also sticks around now even if NetworkManager dies, but
18954                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18955                 a bug, I'll fix that later.
18956
18957         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18958                 lookups after a switch rather than actually doing them.
18959
18960         * Clean up some of those warnings in nm_ap_list_* functions
18961
18962         * Delay between scans changed to 15s instead of 10s
18963
18964 2004-12-15  Dan Williams  <dcbw@redhat.com>
18965
18966         Patch from Tom Parker
18967         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18968                 address
18969
18970         * Longer pause after setting ESSID on cards that support a larger number
18971                 of channels to give the card time to find the right channel
18972
18973         * Add system hook to restart mDNSResponder (or whatever the local implementation
18974                 of Multicast DNS is) when we activate interfaces
18975
18976 2004-12-15  Dan Williams  <dcbw@redhat.com>
18977
18978         * Rework the DHCP code again to revert to sending full ethernet frames
18979                 rather then relying on the kernel to do the right thing with our
18980                 packets.
18981
18982 2004-12-06  Dan Williams  <dcbw@redhat.com>
18983
18984         * dhcpcd/client.c
18985                 - Fix some minor errors in dhcp_handle_transaction() that caused
18986                         unexpected early timeouts of DHCP transactions
18987
18988         * dhcpcd/client.h
18989                 - DHCP retransmit time from 4s -> 5s
18990
18991 2004-12-05  Dan Williams  <dcbw@redhat.com>
18992
18993         * Major rework of the DHCP code, taking some cues from pump.  We don't
18994                 write raw Ethernet packets anymore, which simplifies the code quite
18995                 a bit.  The new code should be more robust, not hang in recvfrom()
18996                 as much, and generally work better.  This also means that we need
18997                 to force HAL/dbus to use a created GMainContext rather than the
18998                 default context, since having the DHCP renew/rebind thread using
18999                 its own GMainContext seemed to give dbus a fit.  There is also more
19000                 debugging information printed from the DHCP loop to help with future
19001                 problems.
19002
19003         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19004                 assume that the default gateway should be the DHCP server.
19005
19006         Patch from Matthew Schick <matt oss-institute org>
19007         * src/backends/NetworkManagerGentoo.c
19008                 - Fix compilation error due to missing "ip4_broadcast"
19009
19010 2004-12-03  Dan Williams  <dcbw@redhat.com>
19011
19012         * initscript/Makefile.am
19013         * initscript/Debian/NetworkManager
19014         * initscript/Gentoo/NetworkManager
19015         * initscript/RedHat/NetworkManager
19016         * initscript/NMLaunchHelper.c
19017                 - Remove NMLaunchHelper, if you need to wait until the network
19018                         comes up, use the dead code from CVS.
19019
19020 2004-12-01  Colin Walters  <walters@redhat.com>
19021         
19022         * configure.in: Suck in gcc warnings code from Rhythmbox,
19023         but use fewer default flags, and in particular add -Wno-unused,
19024         since the codebase has a lot of unused variables.
19025
19026         * test/nmtestdevices.c (create_device): 
19027         * test/nminfotest.c (get_network_string_property) 
19028         (get_networks_of_type): 
19029         * test/nmclienttest.c (main): 
19030         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19031         * initscript/NMLaunchHelper.c (get_nm_status): 
19032         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19033         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19034         Fix declarations after statements.
19035
19036 2004-12-01  Colin Walters  <walters@redhat.com>
19037
19038         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19039         (nmi_dbus_get_vpn_userpass): New method.
19040         (nmi_dbus_nmi_message_handler): Invoke it.
19041
19042         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19043
19044         * info-daemon/NetworkManagerInfoVPN.h,
19045         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19046         to requests for VPN passwords.
19047
19048         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19049
19050 2004-12-01  Colin Walters  <walters@redhat.com>
19051
19052         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19053         includes.
19054
19055 2004-12-01  Colin Walters  <walters@redhat.com>
19056
19057         * panel-applet/NMWirelessAppletDbus.c
19058         (nmwa_dbus_update_active_device_strength): Fix missing
19059         return value.
19060
19061 2004-12-01  Colin Walters  <walters@redhat.com>
19062
19063         * panel-applet/NMWirelessApplet.c: Add missing include.
19064
19065 2004-12-01  Colin Walters  <walters@redhat.com>
19066
19067         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19068         Remove useless CLAMP (); the value is unsigned, and the case tests
19069         qual->qual < 100, so the value must always be between 0 and 100.
19070
19071 2004-12-01  Colin Walters  <walters@redhat.com>
19072
19073         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19074
19075 2004-11-22  Colin Walters  <walters@verbum.org>
19076
19077         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19078         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19079         which is essentially a noop since nscd caches hosts on disk too.
19080         
19081 2004-11-22  Colin Walters  <walters@redhat.com>
19082
19083         * src/Makefile.am (NetworkManager_SOURCES): Add
19084         NetworkManagerDevicePrivate.h.
19085
19086 2004-11-22  Dan Williams <dcbw@redhat.com>
19087
19088         * src/NetworkManagerDevicePrivate.h
19089                 - Split out the NMDevice struct to a different file so that stuff like
19090                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19091
19092         * dhcpcd/client.c
19093                 - fprintf->syslog
19094                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19095                         need to cancel the dhcp request during the send and recv
19096
19097         * dhcpcd/client.h
19098                 - Move the DHCP option enum to dhcpcd.h
19099
19100         * src/NetworkManagerDHCP.c
19101                 - Split out the actual IP/netmask/etc setting code
19102                 - New Renew/Rebind functions
19103                 - New timer setup function for renew/rebind operations
19104
19105         * src/NetworkManagerDevice.c
19106                 - For device activation, if we are using DHCP then keep the activation thread
19107                         alive until device deactivation.  We need to renew/rebind the DHCP address
19108                         after the T1 (renew) and T2 (rebind) times have expired.
19109                 - Increase some timeouts after bringing wireless cards up/down
19110
19111 2004-11-17  Dan Williams <dcbw@redhat.com>
19112
19113         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19114                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19115                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19116                 show known access points that don't broadcast their ESSID in the menus without
19117                 any user intervention whatsoever.
19118
19119         * info-daemon/NetworkManagerInfoDbus.c
19120                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19121                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19122
19123         * src/NetworkManagerAP.[ch]
19124                 - Add a "user_addresses" data member to the NMAccessPoint structure
19125                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19126                         the user_addresses data member
19127
19128         * src/NetworkManagerAPList.c
19129                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19130                         the AP's reported address
19131                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19132
19133         * src/NetworkManagerDHCP.c
19134                 - Increase DHCP timeout from 25s -> 30s
19135
19136         * src/NetworkManagerDbus.[ch]
19137                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19138                         user addresses
19139
19140         * src/NetworkManagerDevice.c
19141                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19142                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19143                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19144                         So, we take the card down to clear it out.
19145                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19146                         too, since that's where the user_addresses are
19147
19148         * src/NetworkManagerPolicy.c
19149                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19150                         that wireless networks' user_addresses list upon successful activation
19151
19152 2004-11-16  Dan Williams <dcbw@redhat.com>
19153
19154         * src/NetworkManagerDevice.[ch]
19155                 - (nm_device_clear_activation_fail): new function
19156
19157         * src/NetworkManagerPolicy.c
19158                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19159                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19160
19161 2004-11-16  Dan Williams <dcbw@redhat.com>
19162
19163         * src/NetworkManagerDevice.c
19164                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19165                         leak the structure, better updating of now_scanning status
19166                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19167
19168 2004-11-15  Dan Williams <dcbw@redhat.com>
19169
19170         Major rework of link detection code.  We now use DHCP
19171         as part of the link detection which proves to be much more robust,
19172         and also supports Open System authentication for wireless networks.
19173
19174         We no longer use external DHCP client programs.  Instead, we use 
19175         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19176         which was written by:
19177                 Yoichi Hariguchi <yoichi@fore.com>
19178                 Sergei Viznyuk <sv@phystech.com>
19179                 http://www.phystech.com/download/
19180         It resides in the "dhcpcd" directory and was refactored into a general
19181         purpose DHCP client library by me.
19182
19183         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19184         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19185
19186 2004-11-15  Dan Williams <dcbw@redhat.com>
19187
19188         Patch from Tom Parker <palfrey@tevp.net>:
19189
19190         * src/NetworkManagerDevice.c
19191                 - Less output to console when no access
19192                         points are found during a scan
19193
19194 2004-11-15  Dan Williams <dcbw@redhat.com>
19195
19196         Patch from Tom Parker <palfrey@tevp.net>:
19197
19198         * src/backends/interface_parser.c
19199                 - Use g_strdup ()
19200                 - Check for inp == NULL
19201                 - use syslog ()
19202
19203 2004-11-13  Colin Walters  <walters@redhat.com>
19204
19205         Patch from Tom Parker <palfrey@tevp.net>:
19206
19207         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19208         
19209         * src/backends/NetworkManagerRedHat.c: Switch to
19210         including shvar.h instead of shvar.c.
19211
19212         * src/backends/NetworkManagerDebian.c: Don't include
19213         interface_parser.c in source file.
19214
19215         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19216         and interface_parser.[ch].
19217         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19218         Include shvar.c and shvar.h here.
19219         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19220         interface_parser.c and interface_parser.h here.
19221
19222 2004-11-12  Colin Walters  <walters@redhat.com>
19223
19224         * configure.in: Strip out TARGET_DISTRO and
19225         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19226         conditionals.
19227
19228         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19229         (libnmbackend_la_SOURCES): Use Automake conditionals
19230         to add distro-specific files.
19231
19232         * initscript/Makefile.am (SUBDIRS): Update to
19233         use conditionals.
19234
19235 2004-11-12  Colin Walters  <walters@redhat.com>
19236
19237         Patches from j bootlab org
19238
19239         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19240         Add interface_parser.[ch].
19241
19242         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19243         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19244
19245 2004-11-12  Colin Walters  <walters@redhat.com>
19246
19247         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19248         call to nmi_dbus_is_running too, not necessary anymore.
19249         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19250         pick up exit().
19251
19252 2004-11-11  Colin Walters  <walters@verbum.org>
19253
19254         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19255         Delete.
19256         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19257         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19258         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19259         This avoids a race condition that made it pretty easily
19260         possible to get two NetworkManagerInfo daemons running.
19261
19262 2004-11-11  Colin Walters  <walters@verbum.org>
19263         
19264         * src/NetworkManager.c (main): Use daemon(3).
19265
19266         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19267
19268         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19269
19270 2004-11-10 Dan Williams <dcbw@redhat.com>
19271
19272         Patches from j bootlab org
19273         * src/NetworkManagerDevice.c
19274                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19275                         whether the card has a link or not, some cards are slow
19276                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19277
19278         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19279                 - Disable the "Login" button on the passphrase dialog until the user
19280                         enters a valid passphrase or key
19281
19282         Patches from Tom Parker <palfrey tevp net>
19283         * src/backends/NetworkManagerDebian.c
19284                 - Add static IP support to the debian backend
19285
19286         * src/backends/interface_parser.[ch]
19287                 - Parse debian interface config files
19288
19289 2004-11-08 Dan Williams <dcbw@redhat.com>
19290
19291         * src/NetworkManagerDevice.c
19292                 - Some random fprintf->syslog conversions
19293                 - (nm_device_wireless_network_exists): double-check for network
19294                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19295
19296         * src/NetworkManagerWireless.[ch]
19297                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19298                         so that the binary->ascii conversion works (if unsigned, the bitshift
19299                         will fill with zeros, which is what's required).  Also mask bitshift
19300                         result with 0xF for futher assurance.
19301
19302 2004-11-06 Dan Williams <dcbw@redhat.com>
19303
19304         * src/NetworkManagerUtils.c
19305                 - (nm_get_wireless_driver_support_level): default to
19306                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19307                         flip this when changing from whitelist->blacklist of
19308                         wireless drivers
19309
19310 2004-11-05 Dan Williams <dcbw@redhat.com>
19311
19312         Patch from Robert Paskowitz:
19313         * src/backends/NetworkManagerGentoo.c
19314                 - Update static IP config code
19315
19316 2004-11-05 Dan Williams <dcbw@redhat.com>
19317
19318         * info-daemon/NetworkManagerInfoDbus.c
19319           src/NetworkManagerDbus.[ch]
19320           src/NetworkManagerDevice.c
19321                 - Keep track of the # of attempts to get the WEP key
19322                         from the user and pass that along to the info daemon
19323
19324 2004-11-05 Dan Williams <dcbw@redhat.com>
19325
19326         * src/NetworkManagerUtils.c
19327                 - Blacklist wireless cards rather than whitelisting them.
19328                 - Grab driver name from HAL rather than trying to find it
19329                         ourselves.
19330
19331 2004-11-03 Dan Williams <dcbw@redhat.com>
19332
19333         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19334                 - Disable OK button until valid data is entered
19335                         for encryption stuff too
19336
19337         * panel-applet/NMWirelessApplet.c
19338                 - Report card strength for current AP if the card
19339                         doesn't report strength data for scanned access
19340                         points
19341
19342         * src/NetworkManagerDevice.c
19343                 - Smooth out cards reported quality, Atmel card was
19344                         intermittently reporting no quality data but soon
19345                         recovers
19346
19347         * src/NetworkManagerWireless.c
19348                 - Better quality data percentage calculation.  Atmel
19349                         cards (mine at least) seem to report the quality
19350                         in percentage format already, so honor that
19351
19352         Patch from <j@bootlab.org>
19353         * NetworkManager.h
19354           info-daemon/NetworkManagerInfoPassphraseDialog.c
19355           info-daemon/passphrase.glade
19356           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19357           panel-applet/essid.glade
19358           src/NetworkManagerAP.c
19359           src/NetworkManagerDevice.c
19360           src/NetworkManagerWireless.[ch]
19361                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19362
19363 2004-11-03 Dan Williams <dcbw@redhat.com>
19364
19365         * src/NetworkManagerDevice.[ch]
19366                 - (nm_device_set_enc_key): Add parameter to set Authentication
19367                         Mode (Open System, Shared Key, or None).  We're still using
19368                         Shared Key for now though.
19369
19370 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19371
19372         * panel-applet/menu-info.c: change from bold text to light
19373         colored, may cause problems with some themes, i've tested a lot
19374         and they seem fine. 
19375
19376         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19377
19378 2004-11-01  Colin Walters  <walters@verbum.org>
19379
19380         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19381         (nm_wireless_128bit_key_from_passphrase): Add const.
19382
19383         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19384         (nm_ap_set_enc_key_source): Add const.
19385         
19386 2004-11-01  Colin Walters  <walters@verbum.org>
19387
19388         * .cvsignore: Update.
19389
19390 2004-10-29 Dan Williams <dcbw@redhat.com>
19391
19392         * src/NetworkManagerDevice.c
19393                 - (nm_device_wireless_network_exists): Actually use the encryption
19394                         key we got from the applet when attempting to find a wireless network
19395                 - Don't bring devices down so much since on some cards it triggers
19396                         firmware hotplugs each time
19397
19398         * src/NetworkManagerDbus.c
19399                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19400                         from the caller
19401
19402 2004-10-29 Dan Williams <dcbw@redhat.com>
19403
19404         * src/NetworkManager.c
19405                 - (nm_hal_device_property_modified): unlock a locked active
19406                         wireless device when a wired connection gets a link.
19407                         (Means you'll switch to wired whenever you plug in no
19408                         matter what).
19409
19410 2004-10-29 Dan Williams <dcbw@redhat.com>
19411
19412         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19413                 - New files, implement the "Other wireless network" dialog
19414
19415         * panel-applet/NMWirelessApplet.c
19416                 - Move "other wireless network" dialog to separate file
19417
19418         * panel-applet/NMWirelessAppletDbus.[ch]
19419                 - Take key and key_type paramaters for the set_device function
19420
19421         * panel-applet/essid.glade
19422                 - Add UI bits for encryption settings
19423
19424         * src/NetworkManagerDbus.c
19425                 - Retrieve key and key_type params for "setActiveDevice" method call
19426                         and pass them on
19427                 - unref AP returned from nm_device_get_best_ap() when needed
19428
19429         * src/NetworkManagerDevice.c
19430                 - (nm_device_get_best_ap): ref the ap before returning it
19431                 - unref AP returned from nm_device_get_best_ap() when needed
19432                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19433                         need to call nm_device_get_best_ap() here, it was pretty much
19434                         redundant anyway
19435                 - (AP_NEED_KEY): break second link check condition out into separate
19436                         function, and fix segfault when ap->enc_key_source was NULL
19437                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19438                         pass them along to nm_device_wireless_network_exists().  If the
19439                         network does exist, set the passed-in key+key_type on the AP
19440
19441         * src/NetworkManagerPolicy.c
19442                 - unref AP returned from nm_device_get_best_ap() when needed
19443
19444 2004-10-28 Dan Williams <dcbw@redhat.com>
19445
19446         * src/NetworkManagerUtils.c
19447                 - (nm_spawn_process): Fix a potential dereference of NULL
19448
19449         Patches from Peter Jones:
19450
19451         * src/NetworkManagerDevice.c
19452                 - (nm_device_test_wireless_extensions): Better check for
19453                         wireless devices
19454
19455         * src/NetworkManagerUtils.c
19456                 - (nm_spawn_process): Pass in valid stdout and stderr so
19457                         executed programs don't randomly SIGPIPE and fail
19458                 - (nm_get_wired_driver_support_level): quash hal warning
19459                         when checking for USB ethernet device
19460
19461 2004-10-27 Dan Williams <dcbw@redhat.com>
19462
19463         * info-daemon/NetworkManagerInfo.c
19464           info-daemon/NetworkManagerInfoDbus.c
19465           info-daemon/NetworkManagerInfoPassphraseDialog.c
19466           panel-applet/NMWirelessApplet.c
19467                 - Properly escape gconf keys
19468
19469         * src/NetworkManager.c
19470                 - remove unused variables
19471
19472         * src/NetworkManagerAP.c
19473                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19474                         refcount since it got set in nm_ap_new()
19475
19476         * src/NetworkManagerAPList.c
19477                 - (nm_ap_list_combine): Give up ownership of newly created
19478                         access points to the ap list, fixes memleak
19479
19480         * src/NetworkManagerDevice.c
19481                 - Remove cached_ap_list4 member since its not really needed
19482                 - (nm_device_wireless_network_exists): Try to get correct
19483                         encryption status of a found AP if its already in our
19484                         device list
19485                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19486                         memory allocs/deallocs a bit clearer and shorter-lived
19487
19488 2004-10-26 Ray Strode <rstrode@redhat.com>
19489
19490         * panel-applet/NMWirelessApplet.c:
19491           (custom_essid_item_selected):  kill some compiler
19492         warnings 
19493
19494 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19495
19496         * info-daemon/NetworkManagerInfoDbus.c
19497                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19498                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19499
19500 2004-10-23 Dan Williams <dcbw@redhat.com>
19501
19502         * info-daemon/NetworkManagerInfoDbus.c
19503                 - Trap the "DeviceActivationFailed" signal
19504
19505         * docs/NetworkManager DBUS API.txt
19506                 - Add "DeviceActivationFailed" signal
19507
19508         * panel-applet/NMWirelessAppletDbus.c
19509                 - Quash the "NetworkManager service not available" message
19510
19511         * src/NetworkManagerDbus.[ch]
19512                 - Add the "DeviceActivationFailed" signal
19513
19514         * src/NetworkManagerDevice.c
19515                 - Add support for activation_failed flag
19516                 - Fix deadlock where activation thread didn't clean itself up, making
19517                         main thread still believe it was alive forever (didn't reset activation
19518                         flags like activating, just_activated, etc when IP configuration
19519                         failed)
19520
19521         * src/NetworkManagerPolicy.c
19522                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19523                         for wireless networks, try to fall back to some other access point
19524
19525 2004-10-23 Dan Williams <dcbw@redhat.com>
19526
19527         * panel-applet/NMWirelessApplet.[ch]
19528                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19529                         to the applet object, so we can get tooltips
19530                 - Add tooltips (RH #136866)
19531
19532         * src/NetworkManagerDevice.c
19533                 - When trying to find a wireless network, try to connect with encryption
19534                         turned on first, so that we can more accurately detect whether or not
19535                         we need to use encryption for the actual association later on
19536
19537 2004-10-21 Dan Williams <dcbw@redhat.com>
19538
19539         * Add some support for telling NetworkManagerInfo to tell the user
19540                 that they are using a device that's not fully supported
19541
19542         * Fix some assertions in debug messages due to null access point args
19543
19544 2004-10-21 Dan Williams <dcbw@redhat.com>
19545
19546         * src/NetworkManagerDevice.c
19547                 - Don't try to activate/bring up/down unsupported
19548                         devices
19549
19550         * src/NetworkManagerUtils.c
19551                 - Fix case of PCI ID checks for driver support levels
19552
19553 2004-10-21 Dan Williams <dcbw@redhat.com>
19554
19555         * NetworkManager.h
19556                 - New file, now contains commonly used structures and bits
19557                         for the dbus API of NetworkManager
19558
19559         * Makefile.am
19560                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19561
19562         * src/NetworkManager.h
19563                 - Rename -> src/NetworkManagerMain.c
19564
19565         * Various fixups all around to use NetworkManager.h and new
19566                 src/NetworkManagerMain.h, remove redundant bits that got
19567                 moved into NetworkManager.h
19568
19569         * src/NetworkManagerDevice.[ch]
19570           src/NetworkManagerUtils.[ch]
19571           src/NetworkManagerPolicy.c
19572           src/NetworkManagerDbus.c
19573                 - Whitelist wireless drivers, and blacklist some wired
19574                         drivers.  Also blacklist cipsec and ethernet-over-usb
19575                         devices at this time (RH #135722, RH #135648)
19576                 - Don't leak unsupported devices out over dbus, or allow
19577                         them to be set as the active device.  Skip over them
19578                         during automatic device picking
19579
19580         * test/nmclienttest.c
19581                 - Clean up the dbus code a lot
19582
19583 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19584
19585         * configure.in: post release bump.
19586
19587 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19588
19589         * configure.in:
19590         * NEWS: Released NetworkManager-0.3.1
19591
19592 2004-10-18 Dan Williams <dcbw@redhat.com>
19593
19594         Patches from Thom May:
19595         * test/nmtestdevices.c
19596                 - Include <string.h>
19597         * src/backends/NetworkManagerDebian.c:
19598                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19599                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19600                         Move to using g_strdup_printf rather than arbitrary buffers
19601                 - (nm_system_device_setup_static_ip4_config) Implement function.
19602                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19603
19604 2004-10-17 Dan Williams <dcbw@redhat.com>
19605
19606         * info-daemon/NetworkManagerInfoDbus.c
19607                 - Display name of network in the "network not found" dialog
19608
19609         * panel-applet/NMWirelessAppletDbus.c
19610                 - (nmwa_dbus_call_nm_method): new function replaces all other
19611                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19612                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19613                         consolidated into nmwa_dbus_get_object_name()
19614
19615 2004-10-15 Dan Williams <dcbw@redhat.com>
19616
19617         * src/NetworkManagerDbus.c
19618           info-daemon/NetworkManagerInfoDbus.c
19619                 - Display an error dialog when the user tries to use an
19620                         "Other wireless network" that's not found.
19621
19622 2004-10-15 Dan Williams <dcbw@redhat.com>
19623
19624         * panel-applet/NMWirelessApplet.[ch]
19625                 - Fix up corner cases in applet state, making it
19626                         look more responsive.  Change state to "connecting" when
19627                         the user is forcing a device too.
19628
19629 2004-10-15 Dan Williams <dcbw@redhat.com>
19630
19631         * src/NetworkManagerAPList.c
19632                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19633
19634         * src/NetworkManagerDbus.c
19635                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19636
19637         * src/NetworkManagerDevice.c
19638                 - Disown APs after the device's AP list takes ownership
19639
19640 2004-10-15 Dan Williams <dcbw@redhat.com>
19641
19642         * panel-applet/NMWirelessApplet.c
19643                 - Update our applet state from the GUI thread
19644
19645         * panel-applet/NMWirelessAppletDbus.c
19646                 - Greatly simplify the locking to make the GUI thread
19647                         smoother.  Update a private copy of the device list
19648                         and active device and only when done talking to
19649                         NetworkManager turn it over to the GUI thread.
19650
19651 2004-10-15 Dan Williams <dcbw@redhat.com>
19652
19653         * src/NetworkManagerAP.[ch]
19654                 - Add "artificial" get/set functions, set for APs that
19655                         aren't discovered as part of a scan but instead
19656                         discovered by force-setting the ESSID
19657
19658         * src/NetworkManagerDevice.[ch]
19659                 - (nm_device_wireless_network_exists): pass back whether
19660                         or not the discovered AP was encrypted.  Also, try
19661                         falling back to encrypted mode on the card if unencrypted
19662                         association doesn't work
19663                 - (nm_device_find_and_use_essid): If the network requested
19664                         did in fact exists, but it wasn't in our scan list, add
19665                         an "artificial" entry for it.  Some Cisco cards don't
19666                         see non-ESSID-broadcasting APs in their scan but can still
19667                         associate with them if you know the ESSID, this works around
19668                         that behavior
19669                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19670                         to scan if the card is currently associated with that AP
19671
19672 2004-10-15 Dan Williams <dcbw@redhat.com>
19673
19674         ---- We have a website ----
19675         http://people.redhat.com/dcbw/NetworkManager
19676
19677         Patch from Robert Paskowitz:
19678         * src/NetworkManager.c
19679                 - (main): Make sure we are run as root
19680         * src/NetworkManagerDevice.c
19681                 - Fix type in ad-hoc setting function
19682
19683         Patch from Thom May:
19684         * src/backends/NetworkManagerDebian.c
19685                 - Make Debian backend compile again
19686
19687 2004-10-14 Dan Williams <dcbw@redhat.com>
19688
19689         * Tagged NetworkManager-0_3
19690
19691 2004-10-14 Dan Williams <dcbw@redhat.com>
19692
19693         Patch from Robert Paskowitz:
19694         * NEWS
19695           src/NetworkManagerDevice.[ch]
19696           src/backends/NetworkManagerDebian.c
19697           src/backends/NetworkManagerGentoo.c
19698           src/backends/NetworkManagerRedHat.c
19699           src/backends/NetworkManagerSlackware.c
19700                 - Add support for grabbing and using a broadcast address
19701                         from system config files
19702                 - Some Gentoo backend fixes for grabbing network config
19703                 - Fix LOG_WARN->LOG_WARNING
19704
19705 2004-10-14 Dan Williams <dcbw@redhat.com>
19706
19707         * NEWS: a few small fixes in the credits
19708
19709 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19710
19711         * NEWS: prep for release.
19712
19713 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19714
19715         * panel-applet/NMWirelessAppletDbus.c
19716         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19717
19718 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19719
19720         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19721         applet->state == APPLET_STATE_NO_NM animation.
19722
19723         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19724         set the text correctly.
19725
19726 2004-10-14 Dan Williams <dcbw@redhat.com>
19727
19728         * src/NetworkManager.c
19729                 - Only accept and manager 802.3 and 802.11 devices
19730
19731         * src/NetworkManagerDbus.[ch]
19732                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19733                         logic into NetworkManagerDevice.c
19734                 - (nm_dbus_network_status_from_data): new function
19735                 - (nm_dbus_signal_network_status_change): new function, unused for now
19736                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19737
19738         * src/NetworkManagerDevice.[ch]
19739                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19740                         a random ESSID.
19741
19742 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19743
19744         * info-daemon/NetworkManagerInfo.c 
19745                 - (main): Added session management
19746
19747 2004-10-14 Dan Williams <dcbw@redhat.com>
19748
19749         * panel-applet/NMWirelessAppletDbus.[ch]
19750                 - Expose network_device_[un]ref()
19751                 - Expose wireless_network_[un]ref()
19752                 - (wireless_network_new_with_essid): new function, create and return
19753                         a wireless network with a particular essid
19754
19755         * panel-applet/NMWirelessApplet.c
19756                 - Hook up the "other network" dialog to do something
19757
19758 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19759
19760         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19761         doesn't work yet, but it looks okay.
19762
19763         * panel-applet/icons/*png: Resize to 22x22 and install in the
19764         right place.
19765
19766 2004-10-13 Dan Williams <dcbw@redhat.com>
19767
19768         * panel-applet/NMWirelessApplet.c
19769                 - Add function to print out applet_state in a readable
19770                         manner
19771
19772         * src/NetworkManager.c
19773                 - (main): Don't segfault when nm_dbus_init() fails, we had
19774                         a left-over call to hal_shutdown() into which we passed NULL
19775
19776         * src/NetworkManagerAP.c
19777                 - (nm_ap_set_essid): Allow NULL essids
19778
19779         * src/NetworkManagerAPList.[ch]
19780                 - More use of nm_ap_list_[un]lock ()
19781                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19782                         network/essid, just return nothing.  Also skip over NULL
19783                         essid access points in the list when searching
19784                 - (nm_ap_list_get_ap_by_address): new function
19785                 - (nm_ap_list_update_network): set the access point's key source to
19786                         NULL when the key returned from NetworkManagerInfo is NULL or
19787                         of 0 length
19788                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19789                         copy timestamp over too
19790                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19791                         find the correct ESSID for a blank-essid access point by searching
19792                         through another list and matching access point MAC addresses
19793                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19794
19795         * src/NetworkManagerDbus.c
19796                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19797                         may specify.  This is mainly for access points that don't
19798                         broadcast their essid.  So if the user tells us to associate with
19799                         some random ESSID that's not in our access point list, we find
19800                         out if the access point does in fact exist (by attempting association
19801                         and then matching that access point's MAC address with the essid the
19802                         user gave us) and then we switch to it.
19803                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19804                         to the returned list of networks for the "getNetworks" method
19805
19806         * src/NetworkManagerDevice.[ch]
19807                 - Extra debugging info for link detection
19808                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19809                         based on MAC address
19810                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19811                 - (nm_device_wireless_network_exists): new function, find out whether
19812                         a random ESSID exists by attempting to associate with it
19813                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19814                         device list as long as they have an AP MAC address we can use.
19815                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19816                         devices too.  Lets the applet update more frequently.
19817
19818         * src/backends/NetworkManagerGentoo.c
19819                 - Patch from: Robert Paskowitz
19820                         - Update backend code for Gentoo
19821                         - Implement nm_system_device_update_config_info ()
19822
19823         * test/nmclienttest.c
19824                 - (set_network_device): new function, takes a command-line argument
19825                         and tells NetworkManager to use that wireless network
19826
19827 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19828
19829         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19830         if the notification icon crashes 5 times within 5 seconds of each respawn 
19831
19832 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19833
19834         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19835         g_print.
19836
19837 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19838
19839         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19840
19841         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19842         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19843         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19844         Change the name of the icons.
19845
19846         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19847         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19848         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19849         (nm_menu_wireless_expose_event): Really bad hack to get the style
19850         to draw in the right color.
19851
19852 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19853
19854         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19855         Notification if it crashes
19856
19857 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19858
19859         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19860         (nmwa_dbus_get_string): remove unused functions
19861
19862         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19863         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19864         remove unused functions
19865
19866         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19867
19868 2004-10-12 Dan Williams <dcbw@redhat.com>
19869
19870         * panel-applet/NMWirelessAppletDbus.c
19871                 - New functions:
19872                         wireless_network_new
19873                         wireless_network_copy
19874                         network_device_new
19875                         network_device_copy
19876
19877         * src/NetworkManagerDevice.[ch]
19878                 - New functions:
19879                         nm_device_set_mode_managed
19880                         nm_device_set_mode_adhoc
19881                 - Use these functions where appropriate
19882                 - When creating a new wireless device, force the card
19883                         to managed/Infrastructure mode as soon as possible
19884
19885 2004-10-12 Dan Williams <dcbw@redhat.com>
19886
19887         * src/NetworkManagerDevice.c
19888                 - Force wireless cards into Infrastructure mode before we use them
19889
19890 2004-10-12 Dan Williams <dcbw@redhat.com>
19891
19892         * TODO
19893                 - Remove bit about static IP address support
19894
19895         * src/NetworkManagerUtils.c
19896                 - (nm_spawn_process): Add some error reporting
19897
19898         * src/NetworkManagerDevice.c
19899                 - (nm_device_activation_configure_ip): hook up to the static config
19900                         routines in the backends
19901
19902         * src/backends/NetworkManagerRedHat.c
19903                 - (nm_system_device_update_config_info): use shvar.c routines to
19904                         parse the config file iformation, not our own
19905                 - (nm_system_device_setup_static_ip4_config): new function, based
19906                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19907                         with a static IP address and gateway
19908
19909         * src/backends/shvar.[ch]
19910                 - Parser (filched from initscripts package) for ifcfg-* files
19911
19912         * src/backends/NetworkManagerSystem.h
19913           src/backends/NetworkManagerGentoo.c
19914           src/backends/NetworkManagerDebian.c
19915           src/backends/NetworkManagerSlackware.c
19916                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19917
19918 2004-10-11 Dan Williams <dcbw@redhat.com>
19919
19920         * TODO
19921                 - Remove bit about more robust AP diffing since I just implemented it
19922
19923 2004-10-11 Dan Williams <dcbw@redhat.com>
19924
19925         * src/NetworkManagerAP.c
19926                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19927                         enough RAM to allocate new AP structures, but return NULL instead
19928
19929         * src/NetworkManagerAPList.[ch]
19930                 - (nm_ap_list_is_empty): new function
19931                 - (nm_ap_list_combine): new function, combine two access point lists
19932                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19933                         into another
19934
19935         * src/NetworkManagerDevice.[ch]
19936                 - Rename some functions to be clearer:
19937                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19938                         nm_device_just_activated     -> nm_device_is_just_activated
19939                         nm_device_activating         -> nm_device_is_activating
19940                         nm_device_now_scanning       -> nm_device_is_scanning
19941                 - Cache the last 4 scans so that the access point list is more stable.
19942                         We combine the lastest two scans and use that as the AP list,
19943                         and diff that combined list against the combination of the earliest
19944                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19945
19946 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19947
19948         * info-daemon/NWManagerInfo.h
19949                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19950
19951         * info-daemon/NWManagerInfoDbus.c
19952                 - (shutdown_callback): new function
19953                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19954                         if NetworkManager goes away.  Kill the timeout
19955                         if NetworkManager restarts before the 30 seconds
19956                         are up.
19957                 - (nmi_dbus_service_init): 
19958                         - call gtk_main_quit if NetworkManager is not running
19959                         - add filters to monitor dbus service creations and
19960                                 deletions
19961         
19962 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19963
19964         * panel-applet/NMWirelessApplet.c
19965                 - (nmwa_update_state): Hide notification icon if we are only
19966                         showing one wired card and no wireless interfaces 
19967                         (Red Hat Bug #134895)
19968
19969         * panel-applet/NMWirelessAppletDbus.c
19970                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19971
19972         * info-daemon/NWManagerInfo.c
19973                 - (main): Terminated the notification_icon_cmd array with a NULL
19974
19975 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19976
19977         * configure.in (ALL_LINGUAS): Added de (German).
19978
19979 2004-10-08 Dan Williams <dcbw@redaht.com>
19980
19981         * src/NetworkManagerDevice.c
19982                 - Be a bit more robust about link checking, ie make sure that
19983                         the WEP key we were given actually has some data in it
19984
19985 2004-10-08 Dan Williams <dcbw@redhat.com>
19986
19987         * info-daemon/NetworkManagerInfo.c (main):
19988                 - Initialize GError object to NULL
19989
19990 2004-10-08 Dan Williams <dcbw@redhat.com>
19991
19992         * panel-applet/NMWirelessAppletDbus.c
19993                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19994
19995 2004-10-08 Dan Williams <dcbw@redhat.com>
19996
19997         * info-daemon/NetworkManagerInfo.[ch]
19998           info-dameon/NetworkManagerInfoDbus.[ch]
19999           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20000                 - Preserve original label text in the passphrase dialog so that
20001                         it actually gets updated with the new network name the next
20002                         time around.  Previously, we were overwriting it so you'd get
20003                         the wrong network name to enter a key for
20004                 - Add a "Key Type" combo to the passphrase dialog, user selects
20005                         encryption key type now, type is stored in GConf too
20006                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20007
20008         * src/NetworkManagerAP.[ch]
20009                 - Remove all the encyption method magic.  It's now set by the user
20010                         and NetworkManager retrieves the type of encryption key from
20011                         NetworkManagerInfo
20012
20013         * src/NetworkManagerAPList.[ch]
20014           src/NetworkManagerDbus.[ch]
20015                 - Adjust to new way of setting encryption key and method
20016                 - Pull encryption method down from NMI along with key
20017
20018         * src/NetworkManagerDevice.[ch]
20019                 - Removed encryption method fallback magic as the method is now
20020                         determined by the user.  This greatly simplifies the connection
20021                         logic.
20022                 - More robust connection/link logic.  Besides removing the encryption
20023                         method fallback magic, check whether or not the card is receiving
20024                         invalidly encrypted packets, which usually indicates that we have
20025                         a bad WEP key set.
20026                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20027
20028         * test/nminfotest.c
20029                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20030
20031 2004-10-07 Dan Williams <dcbw@redhat.com>
20032
20033         * info-daemon/NetworkManagerInfo.conf
20034                 - Allow root user to run NMI too
20035
20036 2004-10-06 Dan Williams <dcbw@redhat.com>
20037
20038         * src/NetworkManagerDevice.[ch]
20039           src/NetworkManagerDbus.c
20040           doc/NetworkManager DBUS API.txt
20041                 - Add a new status tag "scanning", which is set when there
20042                         is no active network connection, but NetworkManager is
20043                         looking for an access point to associate with
20044
20045         * panel-applet/main.c
20046                 - Cast the applet appropriately for gtk_widget_show_all ()
20047
20048 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20049
20050         * panel-applet/eggtrayicon.[ch]:
20051         * panel-applet/main.c: Add missing file
20052
20053 2004-10-04 Dan Williams <dcbw@redhat.com>
20054
20055         * src/NetworkManagerDevice.[ch]
20056                 - Add a slightly more robust method of determining if the WEP key
20057                         is correct or not, by checking the WEP-discarded packet count
20058                         on the card
20059
20060         * info-daemon/NetworkManagerInfo.c
20061                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20062                         un-escape values we pull out rather than escaping them
20063
20064 2004-10-03  Marcel Telka  <marcel@telka.sk>
20065
20066         * configure.in (ALL_LINGUAS): Added sk.
20067
20068 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20069
20070         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20071         and feel.  We should be back to working, and have a good, clean
20072         look.
20073
20074 2004-09-30 Dan Williams <dcbw@redhat.com>
20075
20076         * info-daemon/NetworkManagerInfo.c
20077           info-daemon/NetworkManagerInfoDbus.c
20078           test/nminfotest.c
20079                 - Escape ESSIDs in gconf
20080
20081         * src/NetworkManagerDevice.c
20082                 - Fix pseudo-scanning to use netowrk list from info daemon
20083
20084 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20085
20086         * configure.in: Add a temporary --enable-notification-icon.  This
20087         will prolly go away.
20088
20089         * info-daemon/Makefile.am:
20090         * info-daemon/NetworkManagerInfo.c:
20091         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20092
20093         * panel-applet/Makefile.am:
20094         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20095         * panel-applet/NMWirelessApplet.h:
20096
20097 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20098
20099         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20100         before 'select custom ESSID'.
20101
20102         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20103         fully complete, but syncing in prep for merge.
20104
20105         * panel-applet/icons/*png: New images
20106
20107 2004-09-28 Dan Williams <dcbw@redhat.com>
20108
20109         * src/NetworkManager.c
20110           src/NetworkManagerDevice.c
20111           src/NetworkManagerPolicy.c
20112                 - Don't blow away an active wired connection on startup
20113
20114 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20115
20116         Changes from J5
20117         
20118         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20119
20120         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20121         syslog output
20122
20123 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20124
20125         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20126         have a wireless card.
20127
20128 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20129
20130         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20131         Also, get the right device strings.
20132
20133 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20134
20135         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20136         the logic to make this right.
20137
20138         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20139         devices so that wired networks are always first.
20140
20141 2004-09-22    <clarkbw@cvs.gnome.org>
20142
20143         * initscript/Debian/.cvsignore:
20144         * initscript/Slackware/.cvsignore:
20145         Added new cvsignores for Makefile, Makefile.in
20146         
20147         * test/.cvsignore:
20148         Added nmtestdevices
20149         
20150         * src/NetworkManagerDevice.c: 
20151         * src/NetworkManager.c: 
20152         Updated the wireless/wired HAL device strings from net.ethernet to
20153         net.80203 or net.80211 depending on wired or wireless respectively
20154         
20155         * examples/python/NetworkManager.py: 
20156         s/Quality/Strength/
20157
20158         * examples/python/systray/network_tray.py:
20159         Lots of little changes and fixes.  been rotting for a while so I
20160         figured I'd finally sync them all with CVS
20161
20162 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20163
20164         * configure.in: Add graphics
20165
20166         * panel-applet/Makefile.am: Add graphics
20167
20168         * panel-applet/icons/*: Add graphics
20169
20170         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20171         the icons fully lined up.
20172
20173         * panel-applet/menu-info.c: 
20174         * panel-applet/menu-info.h: Add another menu type.
20175
20176 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20177
20178         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20179
20180         * panel-applet/menu-item.[ch]: Wireless menu item.
20181
20182 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20183
20184         * info-daemon/NetworkManagerInfo.conf
20185                 - Created a more robust security policy for the DBus service
20186                         - everything is denied by default
20187                         - root can own and send to the service
20188                         - users logged in at the console can send to the service
20189
20190 2004-09-13  Dan Williams <dcbw@redhat.com>
20191
20192         * src/NetworkManagerDevice.c
20193                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20194                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20195                         the latter
20196
20197 2004-09-13  Dan Williams <dcbw@redhat.com>
20198
20199         * TODO: fix typo
20200
20201         * docs/NetworkManager DBUS API.txt
20202                 - Update for new signal strength changes
20203
20204         * panel-applet/NMWirelessApplet.c
20205                 - Make panel icon show strength of the current connection
20206                 - Cleanups and memleak fixes
20207
20208         * panel-applet/NMWirelessApplet.h
20209                 - Add data members for signal strength on devices and networks
20210
20211         * panel-applet/NMWirelessAppletDbus.c
20212                 - Free more DBusErrors
20213                 - Update for new signal strength changes
20214                 - Make devices and networks more like real objects, use ref/unref methods
20215                 - Actually unlock the mutex when updating the active device
20216
20217         * src/NetworkManagerAP.c
20218                 - Change AP functions and data members from "quality"->"strength"
20219
20220         * src/NetworkManagerDbus.c
20221                 - Kill "getMaxQuality" and "getQuality" methods
20222                 - Add "getStrength" methods for Networks and Devices
20223
20224         * src/NetworkManagerDevice.[ch]
20225                 - Add accessors for device strength
20226                 - Add functions to update strength for a device.  Note that not all drivers
20227                         actually support signal strength for scanned access points (Atmel drivers
20228                         being one)
20229                 - Calculate signal strength for each AP during scan
20230
20231         * src/NetworkManagerWireless.[ch]
20232                 - Add function to return signal strength % from a device and a raw quality struct
20233
20234         * test/nmclienttest.c
20235                 - Update for new signal strength changes
20236
20237 2004-09-11  Dan Williams <dcbw@redhat.com>
20238
20239         * src/NetworkManager.c
20240                 - Fix race condition between initscripts and NM on card insertion
20241                         which could cause a card to keep an IP address and routes around
20242                         even when it was not the active device
20243
20244         * src/NetworkManagerDbus.c
20245                 - Fix compile errors, free more DBusErrors
20246
20247 2004-09-11  Dan Williams <dcbw@redhat.com>
20248
20249         * docs/NetworkManager DBUS API.txt
20250                 - Add an explanation of NM's API
20251
20252         * src/NetworkManagerDbus.c
20253                 - Free some more DBusErrors if needed
20254
20255 2004-09-11  Dan Williams <dcbw@redhat.com>
20256
20257         * panel-applet/NMWirelessApplet.c
20258           panel-applet/NMWirelessAppletDbus.c
20259                 - Start using NetworkDevice/WirelessNetwork structures in more places
20260                 - Update for unified device/network forcing in NetworkManager
20261
20262         * src/NetworkManager.c
20263                 - some code consolidation
20264
20265         * src/NetworkManagerDbus.c
20266                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20267                         or two arguments:  the first is the NM ID of the device to switch to,
20268                         and the second (optional) argument is the ESSID of a wireless network
20269                         to use as well.
20270                 - Get rid of "setNetwork" method due to above change
20271
20272         * src/NetworkManagerDevice.c
20273                 - (nm_device_new): perform scan and update best AP on device creation
20274                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20275                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20276                         spin waiting for cancellation to finish before returning
20277
20278         * src/NetworkManagerPolicy.c
20279                 - Changes here clarify the situations in which a device switch occurs, and 
20280                         make sure to keep using a forced device and network if the user gives
20281                         us one
20282                 - Remove old unused code
20283
20284 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20285
20286         * configure.in: Added Danish (da) to ALL_LINGUAS.
20287
20288 2004-09-09  Dan Williams <dcbw@redhat.com>
20289
20290         * panel-applet/NMWirelessAppletDbus.c
20291                 - Pull fresh devices and networks from NM when wireless networks
20292                         change.  Provides faster feedback of a forced wireless network
20293
20294         * src/NetworkManagerDbus.c
20295                 - Return error when "getMaxQuality" is called on a wired device
20296                 - Make best_ap freezing actually work again, and signal cancellation
20297                         of activation if there's already a device activation when the user
20298                         freezes the best_ap
20299
20300         * src/NetworkManagerDevice.c
20301                 - Don't clear out the best_ap for wireless devices when the link goes
20302                         down, that's done elsewhere
20303                 - Kill any dhcp daemons when cancelling device activation since they
20304                         may be stuck waiting for a DHCP address, and since we're cancelling
20305                         activation we don't care about that anymore
20306
20307         * src/NetworkManagerPolicy.c
20308                 - Make sure to unref the device we ref earlier (we refed it to make sure
20309                         it stuck around during device activation and such)
20310                 - If we were going to change the best device, but its activating currently
20311                         (and therefore the change didn't occur due to the check earlier)
20312                         we mark the state changed to we come back to it later when device
20313                         activation has canceled and its no longer activating
20314
20315         * src/backends/NetworkManagerRedHat.c
20316                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20317
20318 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20319
20320         * info-daemon/passphrase.glade: 
20321         set passphrase input to activates_default : True
20322
20323         * examples/python/systray/network_tray.py
20324         (network_tray.sort_networks):
20325
20326         Added support for having wireless always scanning
20327
20328 2004-09-09  Dan Williams <dcbw@redhat.com>
20329
20330         NOTE: this commit changes the behavior of wireless devices in
20331         NetworkManager.  They are now up all the time, scanning all
20332         the time.  Only the active device has an IP address and routing
20333         information set up however.  Also, NetworkManager will no longer
20334         opportunistically switch wireless networks when a better one
20335         comes in range, it will remain associated with one wireless network
20336         until that one drops out.
20337
20338         * panel-applet/NMWirelessApplet.c
20339           panel-applet/NMWirelessAppletDbus.c
20340                 - List all wireless cards and their respective networks
20341
20342         * src/NMLoadModules
20343                 - Use full path to /sbin/ip
20344
20345         * src/NetworkManager.c
20346                 - Keep wireless devices up all the time so they can scan
20347
20348         * src/NetworkManagerDbus.c
20349                 - On a WirelessNetworkUpdate signal from NMI, don't update
20350                         the "best" AP
20351
20352         * src/NetworkManagerDevice.c
20353                 - (nm_device_set_link_active): clear out the best ap for
20354                         wireless devices when the link is set to FALSE
20355                 - Scan on all wireless cards, all the time
20356                 - (nm_device_activation_worker): split out the wireless card
20357                         link-waiting code to a separate function
20358                 - Keep wireless cards up even if device activation fails
20359                 - Don't update the "best" ap as much
20360
20361         * src/NetworkManagerPolicy.c
20362                 - Don't update the best ap when checking if its frozen,
20363                         let link checking clear out a frozen best ap for us
20364
20365         * src/NetworkManagerWireless.c
20366                 - Scan on all wireless cards, all the time
20367
20368 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20369
20370         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20371
20372 2004-09-09  Ankit Patel <ankit@redhat.com>
20373
20374         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20375
20376 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20377
20378         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20379
20380 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20381
20382         * examples/python/NetworkManager.py: 
20383         added CONNECTED, CONNECTING, and DISCONNECTED states
20384         added methods to return number of devices of a single type
20385
20386         * examples/python/systray/network_tray.py: 
20387         did some tweaks to get the menu looking near what it is supposed
20388         to look like.  Also did a Airo card hack to make it show the
20389         correct AP quality
20390
20391 2004-09-08  Dan Williams <dcbw@redhat.com>
20392
20393         * panel-applet/no-networkmanager.png
20394           panel-applet/Makefile.am
20395           panel-applet/NMWirelessApplet.c
20396                 - Add a "NetworkManager not running" icon and use it
20397                 - Use new consolidated GConf keys rather than Preferred/Trusted
20398
20399         * TODO: update
20400
20401         * info-daemon/NetworkManagerInfo.c
20402           info-daemon/NetworkManagerInfoDbus.[ch]
20403           info-daemon/NetworkManagerInfoPassphraseDialog.c
20404                 - There are now no longer two separate lists of wireless networks,
20405                         but one list where each network is "trusted" or not trusted
20406                 - Add a "getNetworkTrusted" dbus method
20407                 - "WirelessNetworkUpdate" signal now sent rather than
20408                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20409                 - Start freeing some dbus errors (not completed yet)
20410
20411         * info-daemon/passphrase.glade
20412                 - Remove the "don't show" hints for pager and taskbar
20413                 - Add a title since its going to be in the taskbar
20414
20415         * src/NetworkManager.[ch]
20416           src/NetworkManagerAPList.[ch]
20417                 - There are now no longer two separate lists of wireless networks,
20418                         but one list where each network is "trusted" or not trusted
20419
20420         * src/NetworkManagerAP.[ch]
20421                 - Add get/set "trusted" accessors and data bit
20422
20423         * src/NetworkManagerDbus.[ch]
20424                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20425                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20426
20427         * src/NetworkManagerDevice.[ch]
20428                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20429                 - (nm_device_new): Get device config from backend when initializing devices
20430                 - (nm_device_activation_worker): Split out device configuration on
20431                         activation to deal with static/dynamic IP differences, and try encryption
20432                         fallbacks on a device if the encryption method for the best AP is not good
20433                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20434                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20435
20436         * src/NetworkManagerWireless.c
20437                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20438
20439         * src/backends/NetworkManagerRedHat.c
20440           src/backends/NetworkManagerSystem.h
20441                 - (nm_system_device_update_config_info): Add function to get device configuration
20442                         from system data in ifcfg-* files
20443
20444         * src/backends/NetworkManagerDebian.c
20445           src/backends/NetworkManagerGentoo.c
20446           src/backends/NetworkManagerSlackware.c
20447                 - Add stub functions for getting device configuration
20448
20449 2004-09-07  Dan Williams <dcbw@redhat.com>
20450
20451         * src/backends/NetworkManagerRedhat.c
20452           src/backends/NetworkManagerSlackware.c
20453                 - Use full path to /sbin/ip everywhere
20454
20455 2004-09-07  Dan Williams <dcbw@redhat.com>
20456
20457         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20458
20459         * configure.in
20460           initscript/Makefile.am
20461           initscript/Slackware/Makfile.am
20462           initscript/Slackware/rc.networkmanager
20463           src/Makefile.am
20464           src/backends/NetworkManagerSlackware.c
20465                 - Add Slackware support
20466
20467 2004-09-07  Dan Williams <dcbw@redhat.com>
20468
20469         Patches below from:
20470                 <j@bootlab.org>
20471                 Mark Roach <mrroach@okmaybe.com>
20472                 Thom May <thom@debian.org>
20473
20474         * configure.in
20475           initscript/Debian/NetworkManager
20476           initscript/Debian/Makefile.am
20477                 - Initscript for Debian
20478
20479         * src/backends/NetworkManagerDebian.c
20480                 - Add missing system init function to allow compilation
20481                         on Debian
20482
20483 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20484
20485         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20486
20487 2004-09-03  Akagic Amila <bono@linux.org.ba>
20488
20489         * configure.in: Added 'bs' to ALL_LINGUAS.
20490
20491 2004-09-02  Colin Walters  <walters@verbum.org>
20492
20493         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20494         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20495         g_strdup_printf instead of arbitrarily sized buffers.
20496
20497 2004-09-01  Colin Walters  <walters@verbum.org>
20498
20499         * NetworkManager.pc.in: New file.
20500
20501         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20502
20503 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20504         
20505         * configure.in: Punjabi(pa) is added to po/.
20506
20507 2004-08-31  Dan Williams <dcbw@redhat.com>
20508
20509         * Remove 'debug' extern global from all files since we now
20510                 use syslog()
20511
20512         * src/NetworkManager.[ch]
20513                 - Break out routine that get the net.interface property from HAL,
20514                         removing that logic from nm_create_device_and_add_to_list()
20515                 - (nm_create_device_and_add_to_list): make this a bit more general so
20516                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20517                         the create of test devices.
20518                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20519                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20520                         which makes NetworkManager listen for dbus commands to create test
20521                         devices, which have no backing hardware.  Use when you're on a plane
20522                         for example, and/or forgot your wireless card at home.  Test devices
20523                         _cannot_ be created unless NM is started with --enable-test-devices.
20524
20525         * src/NetworkManagerDbus.[ch]
20526                 - New "getLinkActive" method for devices
20527                 - New "setLinkActive" method for devices (only works on test devices)
20528                 - New "createTestDevice" method on NetworkManager object to create a test
20529                         device of a specified type (ie wired, wireless).  UDI is created from
20530                         scratch, as is the interface name.  Only works when NM is started with
20531                         --enable-test-devices switch.
20532                 - New "removeTestDevice" method on NetworkManager object which removes a
20533                         test device.  Only works when NM is started with --enable-test-devices
20534
20535         * src/NetworkManagerDevice.[ch]
20536                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20537                         whether a device is a test device or not, and what its link status is.
20538                 - Deal with test devices in most functions.  For those that work directly on hardware
20539                         special-case test devices.
20540                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20541                         command-line.
20542                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20543                         checking to separate functions to facilitate test device link checking.
20544                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20545                         don't make a distinction between System Authentication and Encryption
20546                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20547                         on the card.  We don't deal with Shared Key auth yet.
20548                 - (nm_device_activation_worker): split the activation cancel check logic out into
20549                         a separate routine nm_device_activation_cancel_if_needed()
20550                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20551                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20552                         a list of fake access points that they can "see"
20553                 - (nm_device_is_test_device): return whether or not a device is a test device
20554
20555         * src/NetworkManagerPolicy.c
20556                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20557                         previously if you "locked"/forced NM to use a wireless device but then
20558                         selected a wireless network for NM to use, it would switch to a wired device.
20559                         So, if the active device is wireless and it has a "forced" best AP, use it
20560                         if the "forced" best AP is still valid
20561                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20562                         there were no usable network devices, or the last one was removed
20563
20564         * src/backends/NetworkManager*.c
20565                 - Deal with test devices, mostly just return success for operations like getting
20566                         a DHCP address
20567
20568         * test/nmtestdevices.c
20569                 - Test tool to create/remove/link-switch test devices
20570
20571 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20572
20573         * examples/python/NetworkManager.py: 
20574         added convience functions has_wired_device and has_wireless_device
20575
20576         * examples/python/systray/network_tray.py: 
20577         cleaned up a bunch of cruft, added support for listing wireless
20578         networks just like the real applet.  This is probably all I'm
20579         going to work on this applet from now on.
20580         TODO: add support for actually changing networks and devices
20581
20582         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20583         changed "nm.networks" into a dict from a list so I can store all
20584         the cool information about networks in there
20585
20586         * examples/python/systray/network_tray.py: 
20587         Added nice message when you try to run without running make first
20588
20589         * examples/python/NetworkManager.py: 
20590         Bug fixes to the code so we get all the device information
20591         that we need in get_device()
20592         
20593         * examples/python/NMTester.py: 
20594         Fixed _print_device_list to print_device_list
20595
20596 2004-08-29  Seth Nickell  <seth@gnome.org>
20597
20598         * configure.in:
20599
20600         Actually properly setup the Debian backend in configure.
20601         
20602 2004-08-29  Colin Walters  <walters@verbum.org>
20603
20604         * test/nminfotest.c: Include string.h and stdlib.h.
20605         (get_network_string_property, get_networks_of_type): Return NULL.
20606
20607         * test/nmclienttest.c (get_device_name, get_active_device): Return
20608         NULL.
20609
20610         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20611         use strlen, fgets always NULL-terminates the string.
20612
20613         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20614         dbus_message_get_member): Remove /* in comment.
20615
20616         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20617
20618         * src/NetworkManager.c (quit): Unused, delete.
20619         (nm_data_free): Cast arg to GFunc.
20620
20621         * panel-applet/NMWirelessAppletDbus.c: Need to include
20622         string.h, and dbus-glib-lowlevel.h (the latter is needed
20623         for dbus_connection_setup_with_g_main at present).
20624         (nmwa_dbus_update_wireless_network_list): Parenthesize
20625         assignment in conditional.
20626         (nmwa_dbus_worker): Return NULL.
20627
20628         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20629         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20630         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20631         (nmwa_populate_menu): Return NULL on failure, instead of just
20632         return;
20633
20634         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20635
20636         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20637         variables.
20638
20639         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20640         delete.
20641         
20642 2004-08-29  Colin Walters  <walters@verbum.org>
20643
20644         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20645         a GTimeVal instead of time_t.  This is easier to work with,
20646         since time_t may be a long or double, we don't know.
20647
20648         * src/NetworkManagerDbus.h: Update prototype.
20649         
20650         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20651         instead of time_t.
20652         (nm_ap_get_timestamp): Update to return GTimeVal.
20653         (nm_ap_set_timestamp): Update to take GTimeVal.
20654         
20655         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20656         to handle GTimeVal.
20657
20658         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20659         GTimeVal change.
20660         (nm_ap_list_print_members): Fix warnings in printf format.
20661
20662 2004-08-29  Colin Walters  <walters@verbum.org>
20663         
20664         * panel-applet/NMWirelessApplet.c: Include config.h.
20665
20666 2004-08-29  Colin Walters  <walters@verbum.org>
20667
20668         * configure.in: Generate config.h.
20669
20670         * configure.in: Dump dependency on OpenSSL; we can't
20671         use it since this package is GPL:
20672         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20673         Instead, check for libgcrypt, use it if available,
20674         otherwise use included MD5 code.
20675
20676         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20677         Suck in from gnome-keyring, munge a bit.
20678         
20679         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20680         gnome-keyring-md5.h gnome-keyring-md5.c.
20681         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20682
20683         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20684         libgcrypt or included gnome-keyring md5 bits.
20685         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20686
20687 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20688
20689         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20690
20691 2004-08-27  Bryan Clark  <bclark@redhat.com>
20692
20693         * examples/python/systray/Makefile: 
20694
20695         Updated the clean section
20696         
20697         * examples/python/systray/trayiconmodule.c: 
20698         * examples/python/systray/trayicon.override: 
20699         * examples/python/systray/network_tray.py: 
20700         * examples/python/systray/eggtrayicon.h: 
20701         * examples/python/systray/eggtrayicon.c: 
20702         * examples/python/systray/Makefile: 
20703         * examples/python/README: 
20704         * examples/python/NetworkManager.py: 
20705         * examples/python/NMTester.py: 
20706
20707         Initial commit of these python example files
20708
20709 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20710
20711         * panel-applet/NMWirelessApplet.c
20712                 - Make current device bold
20713                 - Show more user-friendly device name if we got one from hal
20714
20715         * panel-applet/NMWirelessAppletDbus.c
20716                 - Grab "info.product" key from hal for network devices
20717                 - Cache the current active device
20718
20719 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20720
20721         * configure.in: Added en_CA to ALL_LINGUAS.
20722
20723 2004-08-27  Christian Rose  <menthos@menthos.com>
20724
20725         * configure.in: Added "sv" to ALL_LINGUAS.
20726
20727 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20728
20729         * Tag NetworkManager-0.2
20730
20731 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20732
20733         * initscripts/Makefile.am
20734         * configure.in: Make pass distcheck
20735
20736         * po/ChangeLog: added
20737
20738 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20739
20740         * panel-applet/NMWirelessApplet.c
20741                 - Remove debugging code
20742                 - Enable device switching from menus
20743
20744         * panel-applet/NMWirelessAppletDbus.[ch]
20745                 - Method for asking NM to switch devices
20746
20747         * src/NetworkManagerDevice.c
20748                 - Set dev->activating earlier, avoids race between
20749                         the dbus signal of "DeviceActivating" and setting
20750                         dev->activating (which is what NM's "status" method call
20751                         looks at)
20752
20753 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20754
20755         * panel-applet/NMWirelessApplet.[ch]
20756                 - Rework menu code to add devices to menu, and to show
20757                         signal strength for each access point.  Code cleanups
20758                         too.
20759
20760         * panel-applet/NMWirelessAppletDbus.c
20761                 - Grab network devices from NetworkManager too
20762                 - Grab quality information from NM for wireless networks
20763
20764         * src/NetworkManagerDbus.[ch]
20765                 - Add dbus methods for getting the HAL UDI from a device and
20766                         for getting its base quality, if its wireless
20767                 - Consolidate some functions (wireless network notifications,
20768                         device notifications)
20769                 - Add method for requesting NM to use a particular device
20770
20771         * src/NetworkManager.c
20772                 - Change for function consolidations from NetworkManagerDbus.c
20773                 - Implement active device locking and user-requested devices
20774                         (ie, tell NM to use a particular device instead of the one
20775                         it autochose)
20776
20777         * src/NetworkManagerDevice.c
20778                 - Add method for getting the base quality of a device, if its
20779                         wireless
20780                 - Grab device base quailty info from iwlib during scans
20781
20782         * src/NetworkManagerPolicy.c
20783                 - Use a user-requested device rather than the auto-chosen device
20784                         if we are told to
20785
20786 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20787
20788         * Makefile.am: add po as a supdir
20789
20790         * autogen.sh: use gnome-autogen.sh
20791
20792         * initscript/Gentoo/.cvsignore:
20793         * initscript/RedHat/.cvsignore: Shut up cvs
20794
20795         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20796
20797         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20798         (nmwa_fill): Use gettext.
20799
20800         * configure.in: add gettext support
20801         * po/.cvsignore:
20802         * po/NetworkManager.pot:
20803         * po/POTFILES.in:
20804
20805 2004-08-26  Seth Nickell  <seth@gnome.org>
20806
20807         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20808         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20809         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20810         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20811         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20812         * panel-applet/NMWirelessApplet.h:
20813
20814         Use a menu bar instead of a button for the main clickable
20815         thingy.
20816         
20817 2004-08-25  Dan Williams <dcbw@redhat.com>
20818
20819         * src/NetworkManagerDevice.c
20820                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20821                         turning encryption off, because the Cisco driver doesn't associate
20822                         with WEP-enabled access points unless we are in "open"
20823
20824 2004-08-25  Dan Williams <dcbw@redhat.com>
20825
20826         * src/NetworkManagerWireless.c
20827                 - Don't try to defererence blank passphrases
20828
20829 2004-08-25  Dan Williams <dcbw@redhat.com>
20830
20831         * panel-applet/NMWirelessApplet.c
20832                 - Rebuild the menu whenever a user clicks
20833
20834 2004-08-25  Dan Williams <dcbw@redhat.com>
20835
20836         * panel-applet/NMWirelessApplet.c
20837                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20838                         when NM isn't around or when its not connected
20839
20840         * src/NetworkManagerDevice.c
20841                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20842                         canceled.
20843
20844 2004-08-25  Dan Williams <dcbw@redhat.com>
20845
20846         * panel-applet/NMWirelessAppletDbus.c
20847                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20848                         for getting encryption, and don't stop on "val" once we've gotten it
20849                         from NetworkManager.  Short form:  encryption should now show up.
20850
20851 2004-08-25  Dan Williams <dcbw@redhat.com>
20852
20853         * panel-applet/NMWirelessApplet.c
20854                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20855                         network to associate with
20856
20857 2004-08-25  Dan Williams <dcbw@redhat.com>
20858
20859         * panel-applet/*
20860                 - Rework the panel applet to do all DBUS communication in a separate
20861                         thread
20862
20863 2004-08-25  Dan Williams <dcbw@redhat.com>
20864
20865         * info-daemon/NetworkManagerInfo.[ch]
20866                 - Remove "get_next_priority" function
20867
20868         * info-daemon/NetworkManagerInfoDbus.[ch]
20869                 - Convert "priority" functions to "timestamp"
20870
20871 2004-08-25  Dan Williams <dcbw@redhat.com>
20872
20873         * src/NetworkManagerAP.[ch]
20874                 - Add a "enc_method_good" member and accessors to an Access Point
20875                         to signal when we've found the correct encryption method
20876                         for an access point
20877                 - Add a "timestamp" member and accessors, remove "priority" member
20878                         and accessors (use timestamps instead)
20879                 - Rename "wep_key"->"enc_key"
20880                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20881                         for a specified encryption method using the access points
20882                         source encryption key/passphrase
20883
20884         * src/NetworkManagerAPList.c
20885                 - When updating a network with dbus, grab timestamp now instead of
20886                         priority
20887
20888         * src/NetworkManagerDBus.[ch]
20889                 - Add signal for "DeviceActivating"
20890                 - Switch priority->timestamp
20891
20892         * src/NetworkManagerDevice.c
20893                 - Change references of "wep_key" -> "enc_key" or "key"
20894                 - Signal DeviceActivating when starting activation
20895                 - When activating a wireless device, if the access point we are connecting
20896                         to is encrypted, and we have a source key, try to generate a mangled
20897                         key and use that (ie, generate real WEP key from a passphrase)
20898                 - Rework device activation to fallback to other encryption methods if
20899                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20900                         first, then if that doesn't work fall back to direct hex key).
20901                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20902                         priority.  We now prefer the latest access point used, rather than using
20903                         a priority scheme
20904                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20905                         points we've just discovered, and merge in correct info from the global
20906                         access point lists
20907
20908 2004-08-25  Seth Nickell  <seth@gnome.org>
20909
20910         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20911         Debian support.
20912         
20913         * src/Makefile.am:
20914         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20915         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20916         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20917         (nm_system_delete_default_route),
20918         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20919         (nm_system_load_device_modules):
20920
20921 2004-08-24  Dan Willemsen <dan@willemsen.us>
20922
20923         * src/NetworkManager.c
20924           src/backends/NetworkManagerGentoo.c
20925           src/backends/NetworkManagerRedHat.c
20926           src/backends/NetworkManagerSystem.h
20927                 - Implement preliminary Gentoo support, adding a
20928                         nm_system_init function to the backend specification
20929
20930         * configure.in
20931                 - Distribution auto-detection, lowercase any user-fed
20932                         distribution names
20933
20934         * initscript/.cvsignore
20935           initscript/Makefile.am
20936           initscript/RedHat/Makefile.am
20937           initscript/RedHat/NetworkManager
20938           initscript/Gentoo/Makefile.am
20939           initscript/Gentoo/NetworkManager
20940                 - Refactored initscript code separately for each
20941                         distribution
20942
20943 2004-08-23  Dan Williams <dcbw@redhat.com>
20944
20945         * configure.in
20946           src/Makefile.am
20947           src/NetworkManagerDevice.c
20948           src/NetworkManager.c
20949           src/NetworkManagerUtils.[ch]
20950           src/backends/NetworkManagerSystem.h
20951           src/backends/NetworkManagerRedHat.c
20952           src/backends/NetworkManagerGentoo.c
20953                 - Refactor system-specific code into separate backends for
20954                         each distribution
20955
20956 2004-08-23  Dan Willemsen <dan@willemsen.us>
20957
20958         * dispatcher-daemon/NetworkManagerDispatcher.c
20959           info-daemon/NetworkManagerInfo.[ch]
20960           info-daemon/NetworkManagerInfoDbus.c
20961           info-daemon/NetworkManagerInfoPassphraseDialog.c
20962           src/NetworkManager.c
20963           src/NetworkManagerAP.c
20964           src/NetworkManagerAPList.c
20965           src/NetworkManagerDbus.c
20966           src/NetworkManagerDevice.c
20967           src/NetworkManagerPolicy.c
20968           src/NetworkManagerUtils.[ch]
20969           src/NetworkManagerWireless.c
20970                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20971
20972         * src/NetworkManager.c
20973                 - Fixed usage wording for --no-daemon
20974
20975 2004-08-23  Dan Williams <dcbw@redhat.com>
20976
20977         * panel-applet/NMWirelessApplet.c
20978                 - Update our state every second to get more responsive panel icon
20979                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20980                         was causing our marching ants status blips to never move when
20981                         looking for a wireless network
20982
20983         * src/NetworkManagerDevice.c
20984                 - (nm_device_activation_begin): return if activation has already begun
20985                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20986                         trusted/preferred network into the device's access point when the
20987                         scan list is processed
20988
20989 2004-08-23  Dan Williams <dcbw@redhat.com>
20990
20991         * initscript/NetworkManager
20992                 - Use NMLaunchHelper rather than sleeping
20993
20994         * initscript/NMLaunchHelper.c
20995           Makefile.am
20996                 - Add helper program that exits only when NM activates a device,
20997                         or 10 seconds have passed, whichever happens first.  This
20998                         stops the boot processes until we have a network connection,
20999                         which NM can't do because it daemonizes and brings the connection
21000                         up in the background.  Allows stuff like NFS to not die.
21001
21002 2004-08-20  Dan Williams <dcbw@redhat.com>
21003
21004         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21005                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21006                         for a network, set the essid as well since it may not exist yet
21007                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21008                         since WEP keys/passphrases are long and prone to entry-error
21009
21010         * panel-applet/Makefile.am
21011           panel-applet/wired.png
21012                 - Add (pulled from system-config-network temporarily)
21013
21014         * panel-applet/NMWirelessApplet.[ch]
21015                 - Show wired picture when a wired connection is used
21016                 - Rename wireless icon enums, adding WIRELESS
21017
21018         * src/NetworkManagerDevice.c
21019                 - (nm_device_activate_wireless): unset encryption before bringing
21020                         down the card and setting the essid
21021                 - (nm_device_activatin_worker): request a key from the user if the
21022                         AP we are connecting to is encrypted but we don't have a key
21023                         for it yet
21024                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21025                         strcmp() that prevented a user-entered key from actually getting
21026                         used
21027
21028 2004-08-16  Dan Williams <dcbw@redhat.com>
21029
21030         * initscript/NetworkManager
21031                 - Check for /sbin/ip
21032                 - Do sysctl magic that network service does
21033                 - sleep 4s after start to allow network time to come up [hack]
21034
21035         * src/Makefile.am
21036           src/NMLoadModules
21037                 - Load all network device kernel modules (hal doesn't know devices
21038                         are ethernet until the module is loaded, and therefore we don't know)
21039
21040         * src/NetworkManager.c
21041                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21042                         network devices, and bring up the loopback device explicitly
21043
21044         * src/NetworkManagerUtils.[ch]
21045                 - (nm_enable_loopback): new function
21046
21047 2004-08-13  Dan Williams <dcbw@redhat.com>
21048
21049         * configure.in
21050           panel-applet/Makefile.am
21051                 - Fix up cleanfiles and server_DATA/server_in_files
21052
21053         * README
21054                 - Update with some comments on theory of operation
21055
21056         * CONTRIBUTING
21057           Makefile.am
21058                 - Add CONTRIBUTING
21059
21060 2004-08-12  Dan Williams <dcbw@redhat.com>
21061
21062         * info-daemon/passphrase.glade
21063                 - Set window title to " "
21064
21065         * panel-applet/Makefile.am
21066           panel-applet/keyring.png
21067                 - Deliver to correct place
21068
21069         * panel-applet/NMWirelessApplet.[ch]
21070                 - Add comments
21071                 - Remove applet->have_active_device as its no longer used
21072                 - (nmwa_load_theme): load keyring.png too
21073                 - (error_dialog): remove
21074                 - (show_warning_dialog): subsume functionality of error dialog too
21075                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21076                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21077                         the networks menu
21078                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21079                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21080                         and when we get broadcasts of changed wireless access points only, not when the
21081                         user clicks on the button to display the menu (too long of a wait)
21082                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21083                         networks that are encrypted
21084                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21085                         menu item with g_object_set_data()
21086
21087         * panel-applet/NMWirelessAppletDbus.[ch]
21088                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21089                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21090                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21091                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21092                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21093                         activation/deactivation signals and rebuild the menu when they happen
21094
21095         * src/NetworkManager.c
21096                 - (main): use new nm_spawn_process() rather than system()
21097
21098         * src/NetworkManagerDbus.c
21099                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21100                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21101                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21102                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21103                         to freeze the best_ap.
21104
21105         * src/NetworkManagerDevice.[ch]
21106                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21107                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21108                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21109                         ap list
21110
21111         * src/NetworkManagerUtils.[ch]
21112                 - (nm_spawn_process): add replacement for system() usage
21113
21114 2004-08-11  Dan Williams <dcbw@redhat.com>
21115
21116         * panel-applet/NMWirelessApplet.[ch]
21117                 - Fix up copyright and credits to include Bastien and Eskil,
21118                         who created the gnome-applets wireless applet, from whose
21119                         skeleton this one was created
21120                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21121                         pixmap to draw is computed during nmwa_update_state()
21122                 - Applet now shows itself all the time due to panel packing issues
21123                         which caused the applet to previously never come back after hiding.
21124                         When a wired device is the active device, the applet shows "not connected"
21125
21126         * panel-applet/NMWirelessAppletDbus.[ch]
21127                 - Clean up error messages and show what function they are from
21128                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21129                 - Add new device type getters, and a status getter
21130
21131         * src/NetworkManagerDbus.c
21132                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21133                         network is actually in the device's ap list
21134                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21135
21136         * src/NetworkManagerDevice.c
21137                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21138                         card
21139
21140         * test/nmclienttest.c
21141                 - Report status of NetworkManager too
21142
21143 2004-08-11  Dan Williams <dcbw@redhat.com>
21144
21145         * info-daemon/NetworkManagerInfo.c:
21146                 - (main): clean up Seth's code style
21147
21148         * info-daemon/NetworkManagerInfoDbus.c:
21149                 - Use the more aptly-named path/service/interface constants from NetworkManager
21150                 - Don't return empty strings ("") as object paths ever, instead return errors
21151
21152         * panel-applet/NMWirelessApplet.c:
21153                 - Clean up Seth's code style
21154
21155         * src/NetworkManager.[ch]
21156                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21157                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21158
21159         * src/NetworkManagerAPList.[ch]
21160                 - Move Iter struct right above the iter functions to preserve opacity
21161                 - (nm_ap_list_remove_ap): implement
21162                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21163                         remove AP if NetworkManagerInfo doesn't know anything about it
21164                 - (nm_ap_list_diff): user NMAPList iterators
21165                 - (nm_ap_list_print_members): implement debugging function
21166
21167         * src/NetworkManagerDbus.[ch]
21168                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21169                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21170                         and move the actual key setting stuff into NetworkManagerDevice.c
21171                 - (nm_dbus_get_network_priority): return -1 now on errors
21172                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21173                         get lost, and force the active device to update its "best" ap when AP lists change
21174                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21175                         method call due to pending_device member removal
21176
21177         * src/NetworkManagerDevice.[ch]
21178                 - Move NMDevice structure to the top
21179                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21180                 - Remove Pending Action stuff from everywhere
21181                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21182                         activation for us.  This thread blocks until all conditions for activation have
21183                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21184                         then setup up the interface and runs dhclient.  We have to do this because there
21185                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21186                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21187                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21188                         can tell nm_device_activation_worker() that we've got a key
21189                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21190                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21191                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21192                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21193
21194         * src/NetworkManagerPolicy.c
21195                 - Remove anything to do with pending_device
21196                 - Adjust device activation to deal with activation-in-worker-thread
21197
21198         * src/NetworkManagerUtils.c
21199                 - Clean up locking debugging a bit
21200
21201         * src/NetworkManagerWireless.[ch]
21202                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21203                         was badly named and is better as a device function
21204
21205         * panel-applet/.cvsignore: add
21206
21207 2004-08-09  Seth Nickell  <seth@gnome.org>
21208
21209         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21210         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21211         (nmwa_new):
21212         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21213
21214         Don't load the menus until clicked on (also removes a call outside
21215         normal code paths at first load).
21216
21217         Hide applet when NM is not present.
21218         
21219         Improve printf debugging stuff.
21220         
21221 2004-08-09  Dan Williams <dcbw@redhat.com>
21222
21223         * dispatcher-daemon/NetworkManagerDispatcher.c:
21224                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21225                 - Use constants for NetworkManager interface, service, and path
21226
21227 2004-08-09  Dan Williams <dcbw@redhat.com>
21228
21229         * src/NetworkManagerDbus.c:
21230                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21231                         instead return an error message
21232                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21233                         on a wired device.  Also never return an empty object path, instead return an error message
21234
21235 2004-08-06  Seth Nickell  <seth@gnome.org>
21236
21237         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21238
21239         Check the error code when getting a connection.
21240         
21241         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21242
21243         Check if the NM service exists when initializing (rather than
21244         assuming it does not).
21245         
21246         * src/NetworkManagerDbus.c: (nm_dbus_init):
21247
21248         Don't acquire the well-known service name until we have
21249         registered object/path handlers and can actually receive
21250         calls.
21251         
21252 2004-08-06  Dan Williams <dcbw@redhat.com>
21253
21254         * panel-applet/*
21255                 - Add panel applet
21256
21257         * src/NetworkManagerPolicy.c
21258           src/NetworkManager.c
21259                 - Get access point lists from NetworkManagerInfo on-demand,
21260                         and look for ServiceCreate/ServiceDeleted signals to see when
21261                         we should query NMI for lists
21262         * src/NetworkManagerAPList.c
21263                 - Make sure to init the list's mutex
21264                 - Convert traversals of the list over to the list iter functions
21265
21266         * src/NetworkManagerDbus.[ch]
21267                 - Use more aptly-named path/service/interface constants
21268                 - Treat both active and pending devices the same for "getActiveDevice"
21269                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21270
21271         * src/NetworkManagerDevice.c
21272                 - Honor "ignored" network list when picking best ap to use
21273
21274 2004-08-06  Seth Nickell  <seth@gnome.org>
21275
21276         * aclocal.m4:
21277
21278         Autogenerated, remove from CVS.
21279         
21280         * autogen.sh:
21281
21282         Don't hardcode automake version.
21283         
21284         * configure.in:
21285         * info-daemon/Makefile.am:
21286         * info-daemon/NetworkManagerInfo.c: (main):
21287
21288         Use GnomeProgram et al. for doing session management.
21289         Use popt stuff for argument parsing rather than doing
21290         it manugally.
21291         
21292 2004-08-05  Dan Williams <dcbw@redhat.com>
21293
21294         * test/nminfotest.c
21295                 - Update to new NMI dbus API, check different network types
21296
21297         * info-daemon/NetworkManagerInfoDbus.c
21298                 - Update to new NM dbus API, ie network type sent in query message
21299
21300 2004-08-05  Dan Williams <dcbw@redhat.com>
21301
21302         * An assload of changes
21303
21304 2004-08-02  Dan Williams <dcbw@redhat.com>
21305
21306         * TODO
21307                 - new task: proper logging support
21308
21309         * info-daemon/NetworkManagerInfo.c
21310                 - Correct spelling of "canceled"
21311                 - Correct casting of objects for g_signal_connect()
21312
21313         * info-daemon/NetworkManagerInfoDbus.c
21314                 - Add defines for NetworkManager namespace and object path, and use them
21315                 - Add filter function to trap new signals from NetworkManager:
21316                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21317
21318         * info-daemon/passphrase.glade
21319                 - Change name of "ok" button to "Login to Network..."
21320                 - Mark invisible
21321
21322         * src/NetworkManager.c
21323                 - Code and debug message cleanups
21324                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21325                 - (nm_add_initial_devices) Check returned string array of devices
21326                         and don't try to add devices if array is NULL
21327                 - (main) Initialize libhal a bit later, make code a bit clearer
21328
21329         * src/NetworkManagerAP.[ch]
21330                 - New accessor and data member "matched": used to speed up AP list
21331                         diffing
21332                 - New accessor and data member "enc_method": will be used during key
21333                         fallback to cache which passphrase->key conversion actually works
21334                         so we don't have to do it every time
21335
21336         * src/NetworkManagerAPList.[ch]
21337                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21338                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21339                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21340                         dbus in response to those differences
21341
21342         * src/NetworkManagerDbus.[ch]
21343                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21344                         make an object path for that access point (NOTE that we don't yet check to
21345                         make sure that access point is actually in the device's AP list yet)
21346                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21347                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21348                         New: signal appearance/disappearance of wireless networks
21349                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21350                         key entry
21351
21352         * src/NetworkManagerDevice.[ch]
21353                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21354                 - (nm_device_ap_list_get) New: return the AP list (static function)
21355                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21356                         new one resulting from the scan with the old one
21357
21358         * src/NetworkManagerWireless.c
21359                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21360
21361         * test/nminfotest.c
21362                 - #define object paths and namespaces and use the #defines rather than static strings
21363                 - Test out user-key functionality of NetworkManagerInfo too
21364
21365 2004-07-29  Dan Williams <dcbw@redhat.com>
21366
21367         * info-daemon/NetworkManagerInfoDbus.c
21368           src/NetworkManagerDbus.c
21369                 - Update to current DBus (ie don't use decomposed paths when registering
21370                         object paths/fallbacks)
21371
21372 2004-07-27  Dan Williams <dcbw@redhat.com>
21373
21374         * Remove various Makefile.in files
21375
21376         * TODO
21377                 - Add some more items
21378
21379         * configure.in
21380                 - Add checks for OpenSSL/md5 headers and libs
21381
21382         * src/Makefile.am
21383                 - Use OpenSSL CFLAGS
21384
21385         * src/NetworkManagerAP.[ch]
21386                 - Remove 'stamp' functions, replace with 'invalid' functions
21387                         to support user cancelling WEP key entry
21388
21389         * src/NetworkManagerDbus.c
21390                 - Remove 'stamp' return functions
21391                 - Treat returned user key as a passphrase and convert to a WEP key,
21392                         but don't actually use the WEP key yet.  We use the returned user
21393                         key as a hexadecimal WEP key until we can figure out a UI for
21394                         passphrase-vs-hex key
21395
21396         * src/NetworkManagerWireless.[ch]
21397                 - Add passphrase-to-128bit-key function
21398
21399 2004-07-27  Dan Williams <dcbw@redhat.com>
21400
21401         * TODO
21402                 - Add a couple of items
21403
21404 2004-07-27  Dan Williams <dcbw@redhat.com>
21405
21406         * info-daemon/NetworkManagerInfo.c
21407                 - Update allowed network's GConf key when user enters a WEP key explicitly
21408
21409         * info-daemon/NetworkManagerDbus.c
21410                 - Fix some comments
21411                 - nmi_dbus_get_allowed_networks(): kill warning
21412
21413 2004-07-27  Dan Williams <dcbw@redhat.com>
21414
21415         * initscript/Makefile.in
21416                 - Remove
21417
21418         * initscript/Makefile.am
21419                 - Add correct rules to install the init.d initscript
21420
21421         * info-daemon/NetworkManagerInfoDbus.c
21422                 - Remove debug fprintf
21423
21424         * src/NetworkManagerDbus.[ch]
21425                 - Remove debug fprintfs
21426                 - Add macros for NetworkManagerInfo object path/namespace
21427                 - Use said macros instead of constant strings
21428
21429 2004-07-27  Dan Williams <dcbw@redhat.com>
21430
21431         * initscript/.cvsignore
21432                 - Add
21433
21434         * info-daemon/Makefile.am
21435                 - Install .glade files and keyring.png
21436                 - Fix stupid omission of a \ that caused half the flags not to be
21437                         passed to gcc
21438
21439         * info-daemon/NetworkManagerInfo.c
21440                 - gtk_signal_connect->g_signal_connect
21441                 - Alert NetworkManagerInfo to new glade file location
21442
21443 2004-07-27  Dan Williams <dcbw@redhat.com>
21444
21445         * test/nmclienttest.c
21446           test/nminfotest.c
21447                 - Add missing <dbus/dbus.h> headers
21448                 - Add GPL message at top
21449
21450 2004-07-27  Dan Williams <dcbw@redhat.com>
21451
21452         * src/NetworkManagerAPList.[ch]
21453           src/Makefile.am
21454                 - Add.  Deal with allowed network list additions, deletions, and updates
21455
21456         * dispatcher-daemon/NetworkManagerDispatcher.c
21457                 - Add missing <dbus/dbus.h> header
21458
21459         * info-daemon/NetworkManagerInfo.[ch]
21460                 - Add missing <dbus/dbus.h> header
21461                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21462                         network change
21463                 - Better error checking
21464
21465         * info-daemon/NetworkManagerInfoDbus.[ch]
21466                 - Add missing <dbus/dbus.h> header
21467                 - Convert to using dbus_message_append_args/dbus_message_get_args
21468                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21469                         that an allowed network changed.  We don't want to signal on individual
21470                         keys _inside_ an allowed network really, just want NM to query the info
21471                         daemon for updated info on all keys.
21472                 - Better error checking
21473
21474         * src/NetworkManager.[ch]
21475                 - Add missing <dbus/dbus.h> header
21476                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21477                 - Zero out NMData structure on free
21478                 - No longer use a thread for allowed_ap_list updating, instead its now done
21479                         through dbus queries against NetworkManagerInfo
21480                 - Populate allowed_ap_list initially before adding existing network devices
21481                         to the device list, so wireless devices can get their "best" AP
21482
21483         * src/NetworkManagerDbus.[ch]
21484                 - Convert to using dbus_message_append_args/dbus_message_get_args
21485                 - Better error checking
21486                 - Implement Allowed Network info functions to request allowed network
21487                         info from NetworkManagerInfo
21488                 - Implement the filter function to process signals from NetworkManagerInfo
21489                         about changing allowed networks
21490
21491         * src/NetworkManagerDevice.c
21492                 - Fix file descriptor leak in nm_device_update_ip4_address()
21493
21494 2004-07-27  Dan Williams <dcbw@redhat.com>
21495
21496         * .cvsignore
21497           src/.cvsignore
21498           test/.cvsignore
21499           dispatcher-daemon/.cvsignore
21500           info-daemon/.cvsignore
21501                 - Add .cvsignore files to reduce noise when diffing
21502
21503 2004-07-24  Dan Williams <dcbw@redhat.com>
21504
21505         * src/NetworkManager.[ch]
21506           src/NetworkManagerDbus.[ch]
21507           src/NetworkManagerDevice.[ch]
21508           src/NetworkManagerPolicy.c
21509           src/NetworkManagerWireless.[ch]
21510                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21511                 - Pass the NMData application data structure through all calls
21512                         that need it so we can get rid of nm_get_global_data()
21513                 - Change deallocation of the allowed_ap_list GSList in preparation
21514                         for not completely clearing it every time we get an update,
21515                         but instead getting incremental updates via GConf/dbus
21516
21517 2004-07-22  Dan Williams <dcbw@redhat.com>
21518
21519         * configure.in
21520                 - Add checks for GConf libs & headers & flags
21521
21522         * info-daemon/Makefile.am
21523                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21524
21525         * info-daemon/NetworkManagerInfo.[ch]
21526                 - Don't use gquarks for data storage, just use normal data storage
21527                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21528
21529         * info-daemon/NetworkManagerDbus.[ch]
21530                 - Add method call for getting allowed networks
21531                 - Add method calls for getting an allowed network's essid, priority, and key
21532                 - Hook the method calls up to GConf
21533                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21534                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21535                 
21536         * src/NetworkManagerDbus.[ch]
21537                 - Switch for enumeration of networks to using essid instead
21538
21539         * test/Makefile.am
21540           test/nminfotest.c
21541                 - Add test program for NetworkManagerInfo
21542
21543 2004-07-19  Dan Williams <dcbw@redhat.com>
21544
21545         * src/NetworkManagerDbus.c
21546                 - Switch from indexed device paths to names.  Less code, more efficient.
21547                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21548
21549 2004-07-19  Dan Williams <dcbw@redhat.com>
21550
21551         * dispatcher-daemon/NetworkManagerDispatcher.c
21552                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21553
21554 2004-07-19  Dan Williams <dcbw@redhat.com>
21555
21556         * Makefile.am
21557                 - Add info-daemon directory
21558
21559         * configure.in
21560                 - Check for glade libs and headers
21561                 - Add info-daemon directory
21562
21563         * src/NetworkManagerAP.c
21564                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21565                         copied over to the new AP.
21566
21567         * src/NetworkManagerDbus.c
21568           src/NetworkManagerDbus.h
21569                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21570                 - Remove nm_dbus_signal_need_key_for_network()
21571                 - Add disabled code for asynchronous user wep key callbacks
21572                 - Add functions for getting, setting, and cancelling user key operations
21573                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21574                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21575
21576         * src/NetworkManagerDevice.c
21577           src/NetworkManagerDevice.h
21578                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21579                         logic is in device activation now
21580                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21581                         key is wrong) trigger get-user-key pending action
21582                 - Implement get-user-key pending action stuff, tie to dbus messages
21583                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21584                 - Add nm_device_ap_list_get_ap_by_essid()
21585                 - Instead of copying "best" access points, ref them instead so that the key we set
21586                         sticks around
21587
21588         * src/NetworkManagerPolicy.c
21589                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21590                 - Don't cancel pending actions on a device if its the same device as last iteration
21591                 - Only promote pending_device->active_device if activation was successfull
21592
21593         * src/Makefile.am
21594                 - Rename nmclienttest->nmtest
21595
21596         * info-daemon/Makefile.am
21597           info-daemon/NetworkManagerInfo.c
21598           info-daemon/NetworkManagerInfo.h
21599           info-daemon/NetworkManagerInfoDbus.c
21600           info-daemon/NetworkManagerInfoDbus.h
21601           info-daemon/passphrase.glade
21602           info-daemon/NetworkManagerInfo.conf
21603           info-daemon/keyring.png
21604                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21605                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21606                         lists to NetworkManager by proxying user's GConf
21607           
21608
21609 2004-07-15  Dan Williams <dcbw@redhat.com>
21610
21611         * src/Makefile.am
21612                 - Turn on warnings
21613
21614         * src/NetworkManager.c
21615                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21616                         that doing the deactivation ourselves
21617                 - Cancel an pending actions on a device if its being removed
21618                 - Break up link state checking a bit, make non-active wireless cards
21619                         deactivated to save power
21620                 - Remove unused variables
21621
21622         * src/NetworkManager.h
21623                 - Add support for "pending" device
21624
21625         * src/NetworkManagerAP.h
21626           src/NetworkManagerAP.c
21627                 - Add support for determining whether and AP has encryption enabled or not
21628                 - AP address is now "struct ether_addr" rather than a string
21629
21630         * src/NetworkManagerDbus.h
21631           src/NetworkManagerDbus.c
21632                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21633                 - Changes for AP address from struct ether_addr->string
21634
21635         * src/NetworkManagerDevice.h
21636           src/NetworkManagerDevice.c
21637                 - Remove unused variables, fix warnings
21638                 - Add support for Pending Actions (things that block a device from being "active"
21639                         until they are completed).
21640                 - First pending action:  Get a WEP key from the user
21641                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21642                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21643                 - Update wireless link checking to try to determine if the AP we are associated
21644                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21645                         trigger the GetUserKey pending action on the device
21646                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21647                         up in that case, otherwise we can't scan or link-check on it
21648                 - Add IP address change notifications at appropriate points (still needs some work)
21649                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21650
21651         * src/NetworkManagerPolicy.h
21652           src/NetworkManagerPolicy.c
21653                 - Split out "best" access point determiniation into separate function
21654                 - Make device activation 2-stage:  first the device is pending, then
21655                         in the next iteration through it becomes "active" unless it has
21656                         pending actions
21657
21658         * src/NetworkManagerUtils.h
21659           src/NetworkManagerUtils.c
21660                 - Clean up unused variables and warnings
21661                 - Wrap our debug macros in {} to prevent possible confusion
21662
21663         * src/NetworkManagerWireless.c
21664                 - Forgot to return current best priority, which lead to last available AP always
21665                         being chosen no matter what its priority was.  Corrected.
21666
21667 2004-07-15  Dan Williams <dcbw@redhat.com>
21668
21669         * dispatcher-daemon/Makefile.am
21670                 - Turn on warnings
21671
21672         * dispatcher-daemon/NetworkManagerDispatcher.c
21673                 - Remove unused variables due to warnings
21674                 - Fix some comments
21675                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21676
21677 2004-07-06  Dan Williams <dcbw@redhat.com>
21678
21679         * src/NetworkManager.c
21680                 - Add IPv4 address update for active device during link state check
21681                 - Don't allow wireless cards to be powered up when they are not the
21682                         active device
21683
21684         * src/NetworkManagerDbus.c
21685           src/NetworkManagerDbus.h
21686                 - Add DBUS IPv4 address change signal
21687                 - Add DBUS IPv4 address get method for devices
21688
21689         * src/NetworkManagerDevice.c
21690                 - Make setting the WEP key actually work
21691                 - Move IP address get/set/update stuff here, per-device
21692                 - Power down/bring down wireless device when deactivated
21693                 - For scanning wireless devices, if first scan returned ENODATA, try again
21694
21695         * src/NetworkManagerPolicy.c
21696                 - Only set the WEP key for an allowed access point if there is one.
21697                         We were setting it to be blank if one wasn't specified.
21698
21699         * src/NetworkManagerUtils.h
21700           src/NetworkManagerUtils.c
21701                 - Move the IP address stuff to NetworkManagerDevice.c
21702
21703         * dispatcher-daemon/NetworkManagerDispatcher.c
21704                 - Add device IPv4 address change notification stuff
21705
21706 2004-07-05  Dan Williams <dcbw@redhat.com>
21707
21708         * dispatcher-daemon/NetworkManagerDispatcher.c
21709                 - A bit more descriptive state message
21710                 - Don't segfault when reading directory
21711
21712         * src/NetworkManager.h
21713                 - Remove NMData desired_ap member, its now
21714                         per-device rather than global
21715
21716         * src/NetworkManager.c
21717                 - Remove references to desired_ap
21718                 - Move the allowed AP list refresh stuff into a thread
21719
21720         * src/NetworkManagerDevice.c
21721           src/NetworkManagerDevice.h
21722                 - Each wireless device now has a "best ap"
21723                 - Make device activate/deactivate functions per-device
21724                 - Make wireless scanning per-device
21725                 - Add IPv4 address discover functions, stub IPv6 ones
21726                 - Move ethernet address validation functions to NetworkManagerUtils.c
21727                 - Add wireless access point accessor function
21728                 - Get/Set functions for "best ap"
21729
21730         * src/NetworkManagerPolicy.c
21731                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21732                 - Deal with per-device "best ap" rather than data->desired_apa
21733                 - Implement allowed access point worker thread
21734                 - Add nm_policy_essid_is_allowed() function
21735
21736         * src/NetworkManagerUtils.c
21737           src/NetworkManagerUtils.h
21738                 - Add nm_ethernet_address_is_valid() function
21739                 - Add IPv4/IPv6 address get functions
21740
21741         * src/NetworkManagerWireless.c
21742           src/NetworkManagerWireless.h
21743                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21744
21745 2004-06-29  Dan Williams <dcbw@redhat.com>
21746
21747         * dispatcher-daemon/NetworkManagerDispatcher.c
21748                 - Implement script callout functionality
21749
21750 2004-06-24  Dan Williams <dcbw@redhat.com>
21751
21752         * NetworkManager.c
21753             - Spacing cleanups
21754             - Flush device routes and ip addresses when added to the device list
21755
21756         * NetworkManagerDbus.c
21757             - Spacing cleanups
21758             - Add missing returns in the two signal functions
21759         
21760         * NetworkManagerPolicy.c
21761             - Spacing and variable cleanups
21762
21763 2004-06-24  Dan Williams <dcbw@redhat.com>
21764
21765         * Makefile.am
21766           Makefile.in
21767           configure.in
21768           dispatcher-daemon/Makefile.am
21769           dispatcher-daemon/Makefile.in
21770           dispatcher-daemon/NetworkManagerDispatcher.c
21771             - Add a daemon that receives signals from NetworkManager
21772                         and will (eventually) call scripts in /etc/somewhere
21773                         when devices go up or down.
21774         
21775         * NetworkManager.c
21776             - Spacing cleanups
21777             - Flush device routes and ip addresses when added to the device list
21778
21779         * NetworkManagerDbus.c
21780             - Spacing cleanups
21781             - Add missing returns in the two signal functions
21782         
21783         * NetworkManagerPolicy.c
21784             - Spacing and variable cleanups
21785             - Rename nm_policy_switch_interface->nm_policy_switch_device
21786             - nm_policy_switch_device():
21787                                 Use kill (pid) instead of system ("kill <pid>")
21788             - nm_state_modification_monitor():
21789                                 Add wireless essid to output of debug statements
21790                                 Correct typo in device compare to switch or not (should be !=)
21791                                 Don't sleep after sending "no longer active" signal, was useless
21792
21793 2004-06-24  Dan Williams <dcbw@redhat.com>
21794
21795         * Initial import