2008-11-07 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-07  Dan Williams  <dcbw@redhat.com>
2
3         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
4
5         * src/NetworkManagerSystem.c
6           src/NetworkManagerSystem.h
7                 - (nm_system_device_set_ip4_route): return the route that was added
8                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
9                         public, clean up, and return the route that was added
10                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
11                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
12                         flags to allow only certain attributes of the NMIP4Config to be
13                         applied
14
15         * src/nm-device.c
16                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
17                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
18                         what's really changed between the old and new configs; don't export
19                         the new IP4 config on failure; always send the DNS info to the
20                         named manager
21
22         * src/vpn-manager/nm-vpn-connection.c
23                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
24                         parent device's IP4Config and re-add the VPN gateway route when it
25                         changes
26                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
27                         nm_system_apply_ip4_config() no longer does) and cache it for later
28                 - (connection_state_changed): move cleanup code to its own function
29                 - (vpn_cleanup): delete any previously added VPN gateway route; and
30                         re-apply the parent device's addresses and routes using
31                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
32
33 2008-11-07  Dan Williams  <dcbw@redhat.com>
34
35         * src/nm-ip4-config.c
36           src/nm-ip4-config.h
37                 - (nm_ip4_config_diff): new function; return the difference between two
38                         IP4 configs
39                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
40
41 2008-11-05  Dan Williams  <dcbw@redhat.com>
42
43         * nm-ip4-config.c
44           nm-ip4-config.h
45                 - (nm_ip4_config_compare): compare two IP4 configs
46
47 2008-11-05  Dan Williams  <dcbw@redhat.com>
48
49         * src/NetworkManagerPolicy.c
50                 - (update_etc_hosts): only add newline if not the last line of the file
51                         (Jonathan Miner)
52
53 2008-11-05  Dan Williams  <dcbw@redhat.com>
54
55         * src/dhcp-manager/nm-dhcp-dhclient.c
56                 - (get_leasefile_for_iface): move lease files back to where dhclient
57                         puts them
58
59 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
60
61         * initscripts/Debian/NetworkManager
62                 - Update to what Debian is actually using
63
64 2008-11-05  Tambet Ingo  <tambet@gmail.com>
65
66         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
67
68 2008-11-03  Dan Williams  <dcbw@redhat.com>
69
70         * system-settings/src/main.c
71                 - (add_default_dhcp_connection): make the fallback connection read-only
72
73         * libnm-glib/nm-settings.c
74           libnm-glib/nm-settings.h
75                 - Add detailed errors
76                 - (impl_exported_connection_update, impl_exported_connection_delete):
77                         return an error if the connection is read-only
78
79         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
80           system-settings/plugins/keyfile/nm-keyfile-connection.c
81           system-settings/src/main.c
82                 - Use more detailed errors
83
84         * system-settings/src/nm-system-config-error.c
85           system-settings/src/nm-system-config-error.h
86           system-settings/src/dbus-settings.c
87                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
88                         NM_SETTINGS_ERROR_INVALID_CONNECTION
89
90 2008-11-02  Dan Williams  <dcbw@redhat.com>
91
92         * Add license headers to everything in src/
93
94 2008-11-02  Dan Williams  <dcbw@redhat.com>
95
96         * Tag 0.7.0-rc1
97
98 2008-11-02  Dan Williams  <dcbw@redhat.com>
99
100         * src/NetworkManagerAP.c
101                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
102                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
103                         secrets when connecting to an encrypted network failed
104
105 2008-10-30  Dan Williams  <dcbw@redhat.com>
106
107         * libnm-util/libnm-util.ver
108           libnm-util/nm-setting-ip6-config.c
109           libnm-util/nm-setting-ip6-config.h
110           libnm-util/Makefile.am
111                 - Make properties private and add accessor functions
112                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
113
114         * libnm-util/nm-connection.c
115           libnm-util/nm-utils.c
116           libnm-util/nm-utils.h
117                 - Ignore IPv6 stuff for now
118
119 2008-10-30  Dan Williams  <dcbw@redhat.com>
120
121         * libnm-util/libnm-util.ver
122           libnm-util/nm-setting-8021x.c
123           libnm-util/nm-setting-8021x.h
124                 - Make properties private and add accessor functions
125
126         * src/supplicant-manager/nm-supplicant-config.c
127           system-settings/plugins/ifcfg-suse/parser.c
128                 - Use 802.1x setting accessors
129
130 2008-10-30  Dan Williams  <dcbw@redhat.com>
131
132         * libnm-util/libnm-util.ver
133           libnm-util/nm-setting-wireless-security.c
134           libnm-util/nm-setting-wireless-security.h
135                 - Make properties private and add accessor functions
136
137         * libnm-util/nm-setting-wireless.c
138           src/NetworkManagerAP.c
139           src/nm-device-wifi.c
140           src/supplicant-manager/nm-supplicant-config.c
141           system-settings/plugins/ifcfg-fedora/reader.c
142           system-settings/plugins/ifcfg-suse/parser.c
143                 - Use wireless security accessors
144
145 2008-10-30  Dan Williams  <dcbw@redhat.com>
146
147         * src/nm-device-ethernet.c
148           src/nm-device-wifi.c
149           src/nm-device.c
150           src/ppp-manager/nm-ppp-manager.c
151                 - Harmonize return checking of ioctl
152
153         * system-settings/plugins/ifcfg-fedora/reader.c
154                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
155
156 2008-10-30  Dan Williams  <dcbw@redhat.com>
157
158         * src/ppp-manager/nm-ppp-manager.c
159                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
160                         ppp_generic module to create it (bgo #533064)
161
162 2008-10-30  Dan Williams  <dcbw@redhat.com>
163
164         Patch from Alexander Sack <asac@canonical.com>
165
166         Fix "ppp connections don't honour ip4 connection settings"
167
168         * src/nm-device-ethernet.c
169                 - (real_act_stage4_get_ip4_config): merge ip4config settings
170                         with results from ppp manager
171
172         * src/nm-serial-device.c
173                 - (real_act_stage4_get_ip4_config): merge ip4config settings
174                         with results from ppp manager
175
176 2008-10-29  Dan Williams  <dcbw@redhat.com>
177
178         * libnm-util/libnm-util.ver
179           libnm-util/nm-setting-ip4-config.c
180           libnm-util/nm-setting-ip4-config.h
181                 - Make properties private and add accessor functions
182
183         * callouts/nm-dispatcher-action.c
184           libnm-glib/libnm-glib-test.c
185           libnm-util/nm-utils.c
186           src/NetworkManagerPolicy.c
187           src/NetworkManagerSystem.c
188           src/NetworkManagerUtils.c
189           src/dhcp-manager/nm-dhcp-dhclient.c
190           src/dhcp-manager/nm-dhcp-manager.c
191           src/dnsmasq-manager/nm-dnsmasq-manager.c
192           src/nm-device-wifi.c
193           src/nm-device.c
194           src/nm-hso-gsm-device.c
195           src/nm-ip4-config.c
196           src/nm-ip4-config.h
197           src/ppp-manager/nm-ppp-manager.c
198           src/vpn-manager/nm-vpn-connection.c
199           system-settings/plugins/ifcfg-fedora/reader.c
200           system-settings/plugins/ifcfg-suse/parser.c
201           system-settings/plugins/ifcfg-suse/plugin.c
202           system-settings/plugins/ifupdown/parser.c
203           test/nm-tool.c
204           vpn-daemons/vpnc/properties/nm-vpnc.c
205                 - Use IP4 accessor functions
206
207 2008-10-29  Tambet Ingo  <tambet@gmail.com>
208
209         Half of it by Dan Williams <dcbw@redhat.com>
210
211         * libnm-util/libnm-util.ver
212         libnm-util/nm-setting-vpn.c
213         libnm-util/nm-setting-vpn.h
214                 - Make properties private and add accessor functions.
215
216         * src/vpn-manager/nm-vpn-connection.c
217         src/vpn-manager/nm-vpn-manager.c
218         system-settings/plugins/keyfile/reader.c
219         vpn-daemons/openvpn/properties/auth-helpers.c
220         vpn-daemons/openvpn/properties/import-export.c
221         vpn-daemons/openvpn/properties/nm-openvpn.c
222         vpn-daemons/openvpn/src/nm-openvpn-service.c
223         vpn-daemons/pptp/auth-dialog/main.c
224         vpn-daemons/pptp/properties/advanced-dialog.c
225         vpn-daemons/pptp/properties/nm-pptp.c
226         vpn-daemons/pptp/src/nm-pptp-service.c
227         vpn-daemons/vpnc/properties/nm-vpnc.c
228         vpn-daemons/vpnc/src/nm-vpnc-service.c
229                 - Use VPN setting accessors.
230
231 2008-10-28  Dan Williams  <dcbw@redhat.com>
232
233         Patch from Tambet Ingo <tambet@gmail.com>
234
235         * libnm-util/libnm-util.ver
236           libnm-util/nm-setting-wireless.c
237           libnm-util/nm-setting-wireless.h
238                 - Make properties private and add accessor functions
239
240         * src/NetworkManagerAP.c
241           src/nm-device-wifi.c
242           src/nm-manager.c
243           src/supplicant-manager/nm-supplicant-config.c
244           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
245           system-settings/plugins/ifcfg-fedora/reader.c
246           system-settings/plugins/ifcfg-suse/parser.c
247           system-settings/plugins/ifupdown/parser.c
248                 - Use wireless setting accessors
249
250 2008-10-27  Dan Williams  <dcbw@redhat.com>
251
252         Patch from Tambet Ingo <tambet@gmail.com>
253
254         * libnm-util/libnm-util.ver
255           libnm-util/nm-setting-ppp.c
256           libnm-util/nm-setting-ppp.h
257                 - Make properties private and add accessor functions
258
259         * src/ppp-manager/nm-ppp-manager.c
260                 - Use ppp setting accessors
261
262 2008-10-27  Dan Williams  <dcbw@redhat.com>
263
264         Patch from Tambet Ingo <tambet@gmail.com>
265
266         * libnm-util/nm-setting.h
267           libnm-util/nm-setting.c
268                 - Make properties private and add accessor functions
269
270         * libnm-util/nm-connection.c
271           libnm-util/nm-setting-8021x.c
272           libnm-util/nm-setting-cdma.c
273           libnm-util/nm-setting-connection.c
274           libnm-util/nm-setting-gsm.c
275           libnm-util/nm-setting-ip4-config.c
276           libnm-util/nm-setting-ip6-config.c
277           libnm-util/nm-setting-ppp.c
278           libnm-util/nm-setting-pppoe.c
279           libnm-util/nm-setting-serial.c
280           libnm-util/nm-setting-template.c
281           libnm-util/nm-setting-vpn.c
282           libnm-util/nm-setting-wired.c
283           libnm-util/nm-setting-wireless-security.c
284           libnm-util/nm-setting-wireless.c
285           system-settings/plugins/keyfile/reader.c
286           system-settings/plugins/keyfile/writer.c
287                 - Use setting accessors
288
289 2008-10-27  Dan Williams  <dcbw@redhat.com>
290
291         * libnm-util/libnm-util.ver
292           libnm-util/nm-setting-connection.c
293           libnm-util/nm-setting-connection.h
294                 - Add a 'read-only' property that indicates the connection cannot be
295                         modified
296
297         * system-settings/plugins/ifcfg-fedora/reader.c
298           system-settings/plugins/ifcfg-suse/parser.c
299           system-settings/plugins/ifupdown/parser.c
300                 - These plugins are read-only at the moment
301
302         * system-settings/plugins/keyfile/reader.c
303           system-settings/plugins/keyfile/writer.c
304                 - Read-only shouldn't get saved out to files or read in from them
305
306 2008-10-27  Tambet Ingo  <tambet@gmail.com>
307
308         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
309         correct speed reporting for fast devices (kernel >= 2.6.27).
310
311 2008-10-26  Dan Williams  <dcbw@redhat.com>
312
313         Attempt to compensate for modems that don't enable full AT parsing before
314         the PIN has been entered.
315
316         * src/nm-gsm-device.c
317                 - (init_modem): accept different init strings
318                 - (init_done): try different init strings on failure
319                 - (check_pin_done): on PIN success, do full modem init
320
321 2008-10-26  Dan Williams  <dcbw@redhat.com>
322
323         Patch from Tambet Ingo <tambet@gmail.com>
324
325         * libnm-util/libnm-util.ver
326           libnm-util/nm-setting-connection.c
327           libnm-util/nm-setting-connection.h
328                 - Make properties private and add accessor functions
329
330         * src/NetworkManagerPolicy.c
331           src/nm-cdma-device.c
332           src/nm-device-ethernet.c
333           src/nm-device-interface.c
334           src/nm-device-wifi.c
335           src/nm-gsm-device.c
336           src/nm-manager.c
337           src/ppp-manager/nm-ppp-manager.c
338           src/vpn-manager/nm-vpn-connection.c
339           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
340           system-settings/plugins/ifcfg-fedora/plugin.c
341           system-settings/plugins/ifcfg-fedora/reader.c
342           system-settings/plugins/ifcfg-suse/parser.c
343           system-settings/plugins/ifupdown/parser.c
344           system-settings/plugins/keyfile/nm-keyfile-connection.c
345           system-settings/plugins/keyfile/plugin.c
346           system-settings/plugins/keyfile/writer.c
347           system-settings/src/main.c
348                 - Use those accessors
349
350 2008-10-26  Dan Williams  <dcbw@redhat.com>
351
352         Patch from Tambet Ingo <tambet@gmail.com>
353
354         * libnm-util/libnm-util.ver
355           libnm-util/nm-setting-gsm.c
356           libnm-util/nm-setting-gsm.h
357                 - Make properties private and add accessor functions
358
359         * src/nm-gsm-device.c
360           src/nm-hso-gsm-device.c
361           src/ppp-manager/nm-ppp-manager.c
362                 - Use those accessors
363
364 2008-10-26  Dan Williams  <dcbw@redhat.com>
365
366         Patch from Tambet Ingo <tambet@gmail.com>
367
368         * libnm-util/libnm-util.ver
369           libnm-util/nm-setting-cdma.c
370           libnm-util/nm-setting-cdma.h
371                 - Make properties private and add accessor functions
372
373         * src/nm-cdma-device.c
374           src/ppp-manager/nm-ppp-manager.c
375                 - Use those accessors
376
377 2008-10-26  Dan Williams  <dcbw@redhat.com>
378
379         Patch from Tambet Ingo <tambet@gmail.com>
380
381         * libnm-util/libnm-util.ver
382           libnm-util/nm-setting-pppoe.c
383           libnm-util/nm-setting-pppoe.h
384                 - Make properties private and add accessor functions
385
386         * src/nm-device-ethernet.c
387           src/ppp-manager/nm-ppp-manager.c
388                 - Use those accessors
389
390 2008-10-26  Dan Williams  <dcbw@redhat.com>
391
392         Patch from Tambet Ingo <tambet@gmail.com>
393
394         * libnm-util/libnm-util.ver
395           libnm-util/nm-setting-wired.c
396           libnm-util/nm-setting-wired.h
397                 - Make properties private and add accessor functions
398
399         * src/nm-device-ethernet.c
400           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
401           system-settings/plugins/ifcfg-suse/parser.c
402           system-settings/src/main.c
403                 - Use those accessors
404
405 2008-10-26  Dan Williams  <dcbw@redhat.com>
406
407         Patch from Tambet Ingo <tambet@gmail.com>
408
409         * libnm-util/libnm-util.ver
410           libnm-util/nm-setting-serial.c
411           libnm-util/nm-setting-serial.h
412           src/nm-serial-device.c
413                 - Make properties private and use accessors instead
414
415 2008-10-26  Dan Williams  <dcbw@redhat.com>
416
417         * src/supplicant-manager/nm-supplicant-interface.c
418           src/supplicant-manager/nm-supplicant-interface.h
419           src/supplicant-manager/nm-supplicant-manager.c
420           src/supplicant-manager/nm-supplicant-manager.h
421                 - Add state-to-string conversion functions
422
423         * src/nm-device-wifi.c
424           src/nm-device-ethernet.c
425                 - Normalize state info logging and use strings instead of numbers
426
427 2008-10-26  Dan Williams  <dcbw@redhat.com>
428
429         * src/NetworkManagerPolicy.c
430                 - (update_routing_and_dns): ignore host routes when determining whether
431                         a VPN connection should own the default route (bgo #552594)
432
433 2008-10-24  Dan Williams  <dcbw@redhat.com>
434
435         * src/nm-gsm-device.c
436                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
437
438 2008-10-23  Dan Williams  <dcbw@redhat.com>
439
440         * src/ppp-manager/nm-ppp-manager.c
441                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
442                         add really important stuff to the command line to ensure that NM
443                         overrides /etc/ppp/options (bgo #556781)
444
445 2008-10-22  Dan Williams  <dcbw@redhat.com>
446
447         * src/NetworkManagerSystem.c
448           src/nm-device.c
449                 - Use the device's IP interface where appropriate (Per Hallsmark)
450
451 2008-10-22  Dan Williams  <dcbw@redhat.com>
452
453         * src/nm-gsm-device.c
454                 - (schedule_automatic_registration_again): use a short timeout here
455                         instead of an idle handler to avoid using too much CPU polling for
456                         something we should be waiting a bit for anyway
457
458 2008-10-22  Dan Williams  <dcbw@redhat.com>
459
460         * include/NetworkManager.h
461           introspection/nm-device.xml
462                 - Add device state change reason for carrier changes
463
464         * src/nm-device-ethernet.c
465                 - (set_carrier): use the carrier change reason when changing device
466                         state in response to carrier changes
467
468 2008-10-21  Dan Williams  <dcbw@redhat.com>
469
470         * src/NetworkManagerPolicy.c
471                 - (update_etc_hosts): don't leak errors, and ensure that
472                         g_file_set_contents() gets a valid error placeholder (rh #461933)
473
474 2008-10-21  Dan Williams  <dcbw@redhat.com>
475
476         * src/nm-manager.c
477                 - (free_get_settings_info): don't use the DBusGProxy which could be
478                         disposed of by the time the function is called
479                 - (internal_new_connection_cb): save connection scope
480                 - (connection_get_settings_cb): don't replace a connection unless it's
481                         actually different from the existing one; fixes an issue where
482                         killing the settings service wouldn't deactivate an active connection
483                         provided by that settings service, because it was using a connection
484                         that had already been replaced in the system or user hash
485
486 2008-10-21  Dan Williams  <dcbw@redhat.com>
487
488         * src/NetworkManager.c
489                 - (main): keep the DHCP manager around since it's a singleton; fixes
490                         a use-after-free exposed by r4196 since the DHCP manager singleton
491                         variable isn't cleared when the DHCP manager object is finalized
492
493 2008-10-20  Dan Williams  <dcbw@redhat.com>
494
495         * libnm-util/nm-setting-wireless-security.c
496                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
497
498 2008-10-20  Dan Williams  <dcbw@redhat.com>
499
500         * src/supplicant-manager/nm-supplicant-config.c
501                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
502
503 2008-10-20  Dan Williams  <dcbw@redhat.com>
504
505         * src/dhcp-manager/nm-dhcp-manager.c
506                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
507                         manager object already refs it once
508                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
509                         also get cleaned up by nm_dhcp_device_destroy() to prevent
510                         double-frees
511
512 2008-10-20  Dan Williams  <dcbw@redhat.com>
513
514         * src/nm-manager.c
515                 - (initial_get_connections): use private dbus manager, don't keep
516                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
517                         manager object.
518
519 2008-10-18  Dan Williams  <dcbw@redhat.com>
520
521         * libnm-glib/nm-settings.c
522           libnm-glib/nm-settings.h
523                 - Rename the "get_secrets" virtual function "service_get_secrets" to
524                         clarify when it's used; NMExportedConnetion is a base-class for both
525                         the client and service side, which is sort of confusing, and
526                         get_secrets only makes sense on the service side.
527
528         * libnm-glib/nm-dbus-connection.c
529                 - (get_secrets): remove, unused, and clients need to do extra work to
530                         get secrets anyway since the call can block on the remote side
531
532         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
533           system-settings/plugins/keyfile/nm-keyfile-connection.c
534                 - Fix up for get_secrets -> service_get_secrets
535
536 2008-10-16  Dan Williams  <dcbw@redhat.com>
537
538         * src/nm-device-wifi.c
539                 - (constructor): correctly determine encryption capabilities
540
541 2008-10-15  Dan Williams  <dcbw@redhat.com>
542
543         * src/nm-device-wifi.c
544                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
545                         (Johannes Berg)
546
547 2008-10-15  Dan Williams  <dcbw@redhat.com>
548
549         * src/NetworkManagerSystem.c
550                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
551                         if the ip4_dest is in a smaller subnet contained within a subnet
552                         the machine is currently on, the destination is in the same subnet
553                 - (nm_system_device_set_ip4_route): move subnet checks to callers
554                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
555                         subnet as the parent device, and if so, don't add the direct
556                         host route via the parent device's gateway (bgo #481620)
557                 - (nm_system_apply_ip4_config): check whether the route to be added
558                         is contained within a subnet the device is already on
559
560 2008-10-11  Dan Williams  <dcbw@redhat.com>
561
562         * include/NetworkManager.h
563           introspection/nm-device.xml
564           include/NetworkManagerVPN.h
565                 - Add a few more state reasons for the device deactivated state
566
567         * src/nm-device-interface.c
568           src/nm-device-interface.h
569                 - (nm_device_interface_deactivate): add a 'reason' argument
570
571         * src/nm-device.c
572           src/nm-device.h
573                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
574                 - (nm_device_state_changed): pass the state change reason to
575                         nm_device_take_down()
576                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
577                         to the state change function
578
579         * src/nm-manager.c
580           src/nm-manager.h
581                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
582                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
583                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
584                         something reasonable along to VPN deactivation
585
586         * src/vpn-manager/nm-vpn-manager.c
587           src/vpn-manager/nm-vpn-manager.h
588                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
589                         pass that along to nm_vpn_connection_disconnect()
590
591 2008-10-11  Dan Williams  <dcbw@redhat.com>
592
593         * src/nm-device-wifi.c
594                 - (can_scan): remove old madwifi hack for not scanning while connected
595
596 2008-10-11  Dan Williams  <dcbw@redhat.com>
597
598         Add support for VPN subnet gateways (bgo #549196)
599
600         * include/NetworkManager.h
601                 - Add key for internal VPN subnet gateway
602
603         * src/vpn-manager/nm-vpn-connection.c
604                 - (ip_address_to_string): return a const from a static buffer so we
605                         don't leak a lot of strings
606                 - (print_vpn_config): print internal VPN gateway as well
607                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
608                         VPN service too
609                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
610
611         * src/NetworkManagerSystem.c
612           src/NetworkManagerSystem.h
613                 - (nm_system_device_replace_default_ip4_route): split into two, one for
614                         VPN connections and one for normal devices
615                 - (replace_default_ip4_route): break out route stuff into its own function
616                 - (nm_system_replace_default_ip4_route_vpn,
617                    nm_system_replace_default_ip4_route): simplify by having two cases,
618                         one for VPNs and one for normal devices
619
620         * src/NetworkManagerPolicy.c
621                 - (update_routing_and_dns): simplify, use split default route replacement
622                         functions
623
624 2008-10-10  Dan Williams  <dcbw@redhat.com>
625
626         Rework default route handling to consolidate decisions in the policy,
627         and to take active VPN connections into account when changing the default
628         route (bgo #545912)
629
630         * src/NetworkManager.c
631                 - (main): pass the vpn_manager to the policy so it knows about active
632                         VPN connections; clean up the named manager which wasn't done before
633
634         * src/NetworkManagerPolicy.c
635           src/NetworkManagerPolicy.h
636                 - (nm_policy_new): get a clue about the vpn_manager
637                 - (update_default_route): remove, fold into update_routing_and_dns()
638                 - (update_routing_and_dns): handle active VPN connections too; an
639                         active VPN connection becomes the default route if it does not have
640                         server-specified or user-specified custom routes.  Otherwise, the
641                         best active device gets the default route
642                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
643                    nm_policy_destroy): track VPN connection activation and deactivation
644                         and update the default route when appropriate
645
646         * src/NetworkManagerSystem.c
647           src/NetworkManagerSystem.h
648                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
649                         in the VPN connection itself
650                 - (nm_system_vpn_device_set_from_ip4_config,
651                    nm_system_device_set_from_ip4_config): merge together to make
652                         nm_system_apply_ip4_config()
653                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
654                         via the parent device
655                 - (nm_system_apply_ip4_config): simplify
656                 - (add_ip4_route_to_gateway): new function; add a direct route to the
657                         gateway if needed
658                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
659                         route stuff out into add_ip4_route_to_gateway() for clarity
660
661         * src/nm-device.c
662                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
663
664         * src/vpn-manager/nm-vpn-connection.c
665           src/vpn-manager/nm-vpn-connection.h
666                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
667                    nm_vpn_connection_get_parent_device): add
668                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
669                         device explicit
670                 - (connection_state_changed): update the named manager now that
671                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
672                         useful on errors
673
674         * src/vpn-manager/nm-vpn-manager.c
675           src/vpn-manager/nm-vpn-manager.h
676                 - Add a 'connection-activated' signal
677                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
678                         policy to find out about active VPN connections
679
680 2008-10-10  Tambet Ingo  <tambet@gmail.com>
681
682         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
683         a daemon to prevent NM logging spew on console on startup and shutdown (due
684         to dependency loop between NM and syslog).
685
686 2008-10-10  Alexander Sack  <asac@ubuntu.com>
687
688         Implement managed mode. We bind devices configured in /etc/network/interfaces
689         to their connections by updating wired/wireless setting with the
690         mac address of the device.
691
692         * system-settings/plugins/ifupdown/plugin.c
693                 - (get_net_address_for_udi): implement function to retrieve MAC
694                         address of udi from hal in GByteArray format
695                 - (bind_device_to_connection): bind mac address of device to
696                         wired/wireless system connection
697                 - (hal_device_added_cb): call bind_device_to_connection for
698                         system connections with a matching interface.name
699                 - (hal_device_added_cb): ensure that all code paths
700                         properly free the "iface" string.
701
702 2008-10-10  Alexander Sack  <asac@ubuntu.com>
703
704         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
705         mode of the ifupdown system config plugin.
706
707         * system-settings/plugins/ifupdown/plugin.c
708                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
709                         private unmanage_well_known state field accordingly
710
711 2008-10-10  Alexander Sack  <asac@ubuntu.com>
712
713         Implement unmanaged mode that will prevent all devices in the
714         well_known_udis set from being touched by NetworkManager
715
716         * system-settings/plugins/ifupdown/plugin.c
717                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
718                         unmanage_well_known field used to turn on/off unmanaged
719                         mode
720                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
721                         signal when well_known_udis get added/removed
722                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
723                         if we are in unmanaged mode
724
725 2008-10-10  Alexander Sack  <asac@ubuntu.com>
726
727         Add support to track network devices that have a configuration
728         with a matching interface.name in /etc/network/interfaces
729
730         * system-settings/plugins/ifupdown/plugin.c
731                 - (typedef struct SCPluginIfupdownPrivate): add hash table
732                         to track |well_known_udis|
733                 - (get_iface_for_udi): helper function to get interface.name
734                         for a udi
735                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
736                         that add and remove devices to and from the well_known_udis
737                         set depending on whether their |interface.name| matches
738                         any interface definition in /etc/network/interfaces
739                 - (SCPluginIfupdown_init): connect callbacks from above with
740                         hal_mgr and setup well_known_udis hashtable
741                 - (GObject__dispose): destroy well_known_udis hashtable
742                 - (hal_device_added_cb2): implement wrapper callback with GFunc
743                         signature. user_data is supposed to be a triple (hal_mgr,
744                         config and devtype)
745                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
746                         startup and call hal_device_added_cb2
747
748 2008-10-10  Alexander Sack  <asac@ubuntu.com>
749
750         Remove implementation for not used NMSystemConfigInterface callback functions
751         in ifupdown plugin
752
753         * system-settings/plugins/ifupdown/plugin.c
754                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
755                 - (SCPluginIfupdown_connection_added): removed
756
757 2008-10-08  Dan Williams  <dcbw@redhat.com>
758
759         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
760
761         * src/NetworkManagerUtils.c
762                 - (nm_utils_call_dispatcher): add a 'hostname' action
763
764         * src/NetworkManagerPolicy.c
765                 - (set_system_hostname): dispatch hostname changes
766
767         * callouts/nm-dispatcher-action.c
768                 - (nm_dispatcher_action): handle 'hostname' actions
769
770 2008-10-08  Dan Williams  <dcbw@redhat.com>
771
772         * src/NetworkManagerSystem.c
773                 - (find_route): ref the route so it doesn't get destroyed when the cache
774                         is cleared
775                 - (nm_system_device_set_priority): unref the route here after it's done
776                         being used
777
778 2008-10-08  Dan Williams  <dcbw@redhat.com>
779
780         * src/nm-serial-device.c
781                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
782
783 2008-10-08  Tambet Ingo  <tambet@gmail.com>
784
785         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
786         connection with new settings before saving it.
787
788 2008-10-06  Dan Williams  <dcbw@redhat.com>
789
790         * src/nm-ip4-config.c
791           src/nm-ip4-config.h
792                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
793
794         * src/nm-device-interface.c
795                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
796                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
797                         by using '/' for the object path
798
799         * src/nm-device.c
800                 - (src/nm-device.c): marshal missing/unexported ip4-config through
801                         dbus as '/' since dbus-glib can't handle NULL objects nor can
802                         dbus handle NULL object paths
803
804 2008-10-03  Alexander Sack  <asac@ubuntu.com>
805
806         Implement system hostname support for debian/ubuntu
807
808         * system-settings/plugins/ifupdown/plugin.c
809                 - (GObject__get_property): extend announced capabilities; add
810                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
811                 - (GObject__set_property,write_system_hostname): implement
812                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
813                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
814                    update_system_hostname, get_hostname):
815                         implement hostname property that watches and
816                         parses /etc/hostname
817
818 2008-10-03  Alexander Sack  <asac@ubuntu.com>
819
820         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
821           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
822           system-settings/plugins/ifcfg-fedora/Makefile.am
823           system-settings/src/nm-inotify-helper.c
824           system-settings/src/nm-inotify-helper.h
825           src/Makefile.am
826                 - Move ifcfg-fedora inotify helpers to the system settings service so
827                         they are available to all plugins
828
829 2008-10-03  Alexander Sack  <asac@ubuntu.com>
830
831         Implement support for wep-tx-keyidx in ifupdown system
832         config plugin.
833
834         * system-settings/plugins/ifupdown/parser.c
835                 - (update_wireless_security_setting_from_if_block): introduce
836                         free_type_mapping func table; rename a few local
837                         variables to improve readability; add wpa security mapping
838                         for wep-tx-keyidx property
839                 - (string_to_gpointerint): new function used for the auto_type_mapping
840                         of new wep-tx-keyidx property
841                 - (slist_free_all): free func used for mapped slist types
842
843 2008-10-03  Alexander Sack  <asac@ubuntu.com>
844
845         * system-settings/src/main.c:
846                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
847                         always used as the hash key; fixes a crash when removing wired
848                         devices
849
850 2008-10-02  Dan Williams  <dcbw@redhat.com>
851
852         * src/nm-gsm-device.c
853                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
854                         pass the required GSM secret along via user_data rather than keeping
855                         it around in the private data where it sometimes didn't get cleared
856                 - (real_get_ppp_name): implement using the GSM username
857
858 2008-10-02  Dan Williams  <dcbw@redhat.com>
859
860         * src/ppp-manager/nm-ppp-manager.c
861           src/ppp-manager/nm-ppp-manager.h
862                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
863                         the settings daemon for completely new ones
864                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
865                         local PPP peer name; allow PPP debuging by launching NM with
866                         the environment variable NM_PPP_DEBUG defined
867                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
868                         create_pppd_cmd_line()
869
870         * src/nm-serial-device.c
871           src/nm-serial-device.h
872                 - New 'get_ppp_name' function for subclasses to implement to return the
873                         local PPP peer name
874                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
875                         and pass that name to the PPP manager
876
877         * src/nm-device-ethernet.c
878                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
879                         the local peer name
880
881         * src/nm-cdma-device.c
882                 - (real_get_ppp_name): implement using the CDMA username
883
884 2008-10-02  Dan Williams  <dcbw@redhat.com>
885
886         Patch from Alexander Sack <asac ubuntu com>
887
888         * system-settings/plugins/ifupdown/parser.c
889                 - Implement more graceful ip4 config parsing for cases where
890                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
891                   by using default values
892
893 2008-10-02  Dan Williams  <dcbw@redhat.com>
894
895         * src/NetworkManagerPolicy.c
896                 - (device_state_changed): when marking a connection invalid, clear its
897                         secrets too so that fresh secrets get requested the next time
898
899 2008-10-01  Dan Williams  <dcbw@redhat.com>
900
901         * system-settings/src/dbus-settings.c
902                 - (nm_sysconfig_settings_init): cache system hostname on startup as
903                         a fallback if no plugin provides a hostname
904                 - (get_property): fall back to cached hostname if no plugin provides
905                         a hostname
906
907 2008-10-01  Dan Williams  <dcbw@redhat.com>
908
909         Fix setting value comparison issue that caused some settings to look the
910         same when they were really different (rh #464417)
911
912         * libnm-util/nm-param-spec-specialized.c
913                 - (type_is_fixed_size): return fundamental size of the fixed type too
914                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
915                         in the comparison so that the _entire_ fixed type collection gets
916                         compared rather than just the first 'len1' bytes
917
918 2008-09-30  Dan Williams  <dcbw@redhat.com>
919
920         * src/NetworkManagerPolicy.c
921                 - (lookup_thread_worker): don't store the idle handler ID becuase the
922                         idle handler could have already run and freed the LookupThread
923                         structure
924
925 2008-09-30  Tambet Ingo  <tambet@gmail.com>
926
927         * src/nm-device.c (nm_device_get_priority): Implement.
928         (nm_device_set_ip4_config): Send the device priority to system ip4 
929         config setter.
930
931         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
932         Add priority argument and if it's >= 0, set the priority of the network
933         route added automatically by netlink (or kernel?).
934         (nm_system_device_set_priority): Implement.
935
936         * src/NetworkManagerPolicy.c (get_best_device): Use 
937         nm_device_get_priority() instead of home-grown version. Revert the
938         meaning, best priority is the lowest one.
939
940 2008-09-29  Dan Williams  <dcbw@redhat.com>
941
942         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
943         when it returns EAGAIN (rh #362421)
944
945         * src/nm-device-wifi.c
946                 - (wireless_get_range): try GIWRANGE a few times until the card responds
947                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
948
949 2008-09-28  Dan Williams  <dcbw@redhat.com>
950
951         * src/nm-serial-device.c
952           src/nm-serial-device.h
953                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
954                         cleaned at the right times when subclasses close the serial port too
955                 - (nm_serial_device_send_command): use a default send delay; don't
956                         spin forever on EAGAIN
957                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
958                         remove, no longer used
959                 - (find_response): return the matched response if any
960                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
961                         while doing so
962                 - (wait_for_reply_done): pass the matched response to the callback
963                 - (wait_for_reply_got_data): save the matched response; simplify timeout
964                         handling
965                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
966                         const since they never get modified
967                 - (cleanup_device): split out common cleanup stuff to a new function
968                 - (real_deactivate_quickly, finalize): use cleanup_device()
969
970         * src/nm-gsm-device.c
971                 - (modem_get_reply): remove, unused
972                 - (set_apn): give the card a bit more time to respond
973                 - (manual_registration_again, schedule_manual_registration_again,
974                    manual_registration_response, manual_registration): handle manual
975                         registration timeouts better by retrying registration a few times
976                         because cards are a bit slow after CFUN=1
977                 - (automatic_registration_get_network, get_network_response): use
978                         modem_wait_for_reply() because it interacts better with the serial
979                         buffer and does more intelligent matching; need to wait for 'OK'
980                         rather than just matching terminators
981                 - (schedule_automatic_registration_again,
982                    automatic_registration_response, automatic_registration): retry
983                         registration a few times on timeout or "searching" because cards
984                         take a bit to find a network after being powered up with CFUN=1
985                 - (power_up_response, power_up, init_full_done, enter_pin,
986                    check_pin_done): power up the card with CFUN=1 before trying to
987                         register with the network
988                 - (init_modem_full, init_modem): use more standard 3G init strings
989
990         * src/nm-hso-gsm-device.c
991                 - (modem_get_reply): remove, unused
992                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
993                         modem_wait_for_reply() to match actual responses instead of single
994                         termination characters; it doesn't leave stuff in the serial buffer
995                         that might confuse later calls
996                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
997                         to ensure that the call is really disconnected and not leave extra
998                         stuff in the serial buffer
999
1000         * src/nm-cdma-device.c
1001                 - (power_up_response, power_up, init_done): try Sierra-style modem
1002                         power up before attempting to connect
1003
1004 2008-09-27  Dan Williams  <dcbw@redhat.com>
1005
1006         * libnm-util/nm-setting-gsm.c
1007                 - (verify): verify GSM network ID
1008
1009 2008-09-25  Dan Williams  <dcbw@redhat.com>
1010
1011         * libnm-util/nm-setting-gsm.c
1012           libnm-util/nm-setting-gsm.h
1013                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1014                         technology terms (bgo #551361)
1015
1016 2008-09-25  Dan Williams  <dcbw@redhat.com>
1017
1018         Fix bgo #549401 (inspired by patch from Alexander Sack)
1019
1020         * src/nm-device-ethernet.c
1021                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1022                 - (remove_supplicant_interface_error_handler): remove the supplicant
1023                         error idle callback too
1024                 - (supplicant_interface_release): rename from supplicant_interface_clean
1025                         to match nm-device-wifi.c; clean up supplicant interface-related
1026                         state tasks when the supplicant interface is disposed of
1027                 - (schedule_state_handler): add scheduled tasks to a list so they can
1028                         be cleaned up later
1029                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1030                    supplicant_iface_connection_state_cb_handler): use
1031                         finish_supplicant_task() to clean up each completed task
1032                 - (supplicant_iface_connection_error_cb_handler,
1033                    supplicant_connection_timeout_cb): clear source id when the task is
1034                         complete
1035                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1036                         later cleanup
1037                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1038                         tasks
1039
1040         * src/nm-device-wifi.c
1041                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1042                 - (remove_supplicant_interface_error_handler): remove the supplicant
1043                         error idle callback too
1044                 - (supplicant_interface_release): clean up supplicant interface-related
1045                         state tasks when the supplicant interface is disposed of
1046                 - (schedule_state_handler): add scheduled tasks to a list so they can
1047                         be cleaned up later
1048                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1049                    supplicant_iface_connection_state_cb_handler): use
1050                         finish_supplicant_task() to clean up each completed task
1051                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1052                         the task is complete
1053                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1054                         later cleanup
1055                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1056
1057 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1058
1059         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1060         method and get/set hostname property.
1061
1062 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1063
1064         * src/supplicant-manager/nm-supplicant-interface.c
1065         (nm_supplicant_interface_disconnect): Don't increment the reference 
1066         count when disconnecting. The problem is on shutdown, when the replies
1067         to these commands do not arrive before NM exits, resulting on never
1068         calling supplicant interface's dispose(), which removes the interface
1069         from supplicant.
1070
1071 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1072
1073         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1074         all the public function arguments.
1075
1076 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1077
1078         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1079         "Failure" signal from VPN plugins, store the failure reason, and
1080         use it when the state is changed to failure.
1081
1082         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1083         description.
1084
1085         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1086         reason to the end of the list to not break the API.
1087         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1088         so it can be shared by plugins and daemon.
1089
1090 2008-09-18  Dan Williams  <dcbw@redhat.com>
1091
1092         Patch from Alexander Sack <asac@ubuntu.com>
1093
1094         * configure.in
1095           system-settings/plugins/Makefile.am
1096           system-settings/plugins/ifupdown/Makefile.am
1097           system-settings/plugins/ifupdown/interface_parser.c
1098           system-settings/plugins/ifupdown/interface_parser.h
1099           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1100           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1101           system-settings/plugins/ifupdown/parser.c
1102           system-settings/plugins/ifupdown/parser.h
1103           system-settings/plugins/ifupdown/plugin.c
1104           system-settings/plugins/ifupdown/plugin.h
1105                 - Implement a Debian/Ubuntu legacy network configuration plugin
1106                         (gnome.org #551941)
1107
1108 2008-09-18  Dan Williams  <dcbw@redhat.com>
1109
1110         Implement support for honoring configured and automatic hostnames, and for
1111         setting the configured hostname.
1112
1113         * introspection/nm-ip4-config.xml
1114           src/nm-ip4-config.c
1115           src/nm-ip4-config.h
1116           src/dhcp-manager/nm-dhcp-manager.c
1117                 - Remove useless hostname property; it's not really part of the IPv4
1118                         config
1119
1120         * introspection/nm-settings-system.xml
1121           libnm-glib/nm-dbus-settings-system.c
1122           libnm-glib/nm-dbus-settings-system.h
1123                 - Add SetHostname() call to system settings D-Bus interface
1124                 - Add Hostname property to system settings D-Bus interface
1125                 - (nm_dbus_settings_system_save_hostname,
1126                    nm_dbus_settings_system_get_hostname): implement
1127
1128         * src/nm-device.c
1129           src/nm-device.h
1130                 - (nm_device_get_dhcp4_config): implement
1131
1132         * src/nm-manager.c
1133           src/nm-manager.h
1134                 - Fetch and track system settings service hostname changes, and proxy
1135                         the changes via a GObject property of the manager
1136
1137         * system-settings/src/nm-system-config-interface.c
1138           system-settings/src/nm-system-config-interface.h
1139                 - Replace nm_system_config_interface_supports_add() with a capabilities
1140                         bitfield
1141
1142         * system-settings/src/nm-system-config-error.c
1143           system-settings/src/nm-system-config-error.h
1144                 - Add additional errors
1145
1146         * system-settings/src/dbus-settings.c
1147           system-settings/src/dbus-settings.h
1148                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1149                         property; first plugin returning a hostname wins
1150                 - (impl_settings_add_connection): use plugin capabilities instead of
1151                         nm_system_config_interface_supports_add()
1152                 - (impl_settings_save_hostname): implement hostname saving
1153
1154         * src/NetworkManagerPolicy.c
1155                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1156                    lookup_thread_die): implement an asynchronous hostname lookup thread
1157                         which given an IPv4 address tries to look up the hostname for that
1158                         address with reverse DNS
1159                 - (get_best_device): split out best device code from
1160                         update_routing_and_dns()
1161                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1162                         to preserve the 127.0.0.1 reverse mapping that so many things require
1163                 - (set_system_hostname): set a given hostname
1164                 - (update_system_hostname): implement hostname policy; a configured
1165                         hostname (from the system settings service) is used if available,
1166                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1167                         If there was no automatically determined hostname, reverse DNS of
1168                         the best device's IP address will be used, and as a last resort the
1169                         hostname 'localhost.localdomain' is set.
1170                 - (update_routing_and_dns): use get_best_device(); update the system
1171                         hostname when the network config changes
1172                 - (hostname_changed): update system hostname if the system settings
1173                         service signals a hostname change
1174                 - (nm_policy_new): list for system settings service hostname changes
1175                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1176                         gets told to die
1177
1178         * system-settings/plugins/keyfile/plugin.c
1179           system-settings/plugins/ifcfg-suse/plugin.c
1180                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1181                         capabilities properties
1182
1183         * system-settings/plugins/ifcfg-fedora/shvar.c
1184                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1185                         writes out /etc/sysconfig/network now
1186
1187         * system-settings/plugins/ifcfg-fedora/plugin.c
1188                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1189                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1190                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1191                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1192                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1193                         hostname get/set and capabilities get
1194
1195 2008-09-18  Dan Williams  <dcbw@redhat.com>
1196
1197         * libnm-util/nm-setting-wireless.c
1198                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1199                         group ciphers if the wireless-security setting explicitly specified
1200                         them, effectively making the default be "all ciphers"  (idea from
1201                         Alexander Sack)
1202
1203 2008-09-15  Dan Williams  <dcbw@redhat.com>
1204
1205         Patch from Alexander Sack <asac@ubuntu.com>
1206
1207         * src/named-manager/nm-named-manager.c
1208                 - (dispatch_resolvconf): respect resolvconf exit code
1209
1210 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1211
1212         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1213         again. Add some debugging.
1214
1215 2008-09-11  Dan Williams  <dcbw@redhat.com>
1216
1217         * system-settings/plugins/keyfile/plugin.c
1218                 - (update_connection_settings): update connection manually, since
1219                         nm_exported_connection_update() does authentication
1220                 - (dir_changed): update_connection_settings() doesn't need to return
1221                         an error
1222
1223 2008-09-09  Dan Williams  <dcbw@redhat.com>
1224
1225         * libnm-glib/nm-vpn-plugin-ui-interface.c
1226           libnm-glib/nm-vpn-plugin-ui-interface.h
1227           libnm-glib/libnm_glib_vpn.ver
1228                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1229                         should clean up resources related to the connection (like keyring
1230                         secrets)
1231                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1232                         should save user-scope secrets (like to the keyring)
1233
1234 2008-09-08  Dan Williams  <dcbw@redhat.com>
1235
1236         Patch from Alexander Sack <asac@ubuntu.com>
1237
1238         * libnm-util/crypto_gnutls.c
1239           libnm-util/crypto_nss.c
1240                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1241
1242         * libnm-util/nm-utils.c
1243           libnm-util/nm-utils.h
1244           libnm-util/libnm-util.ver
1245                 - (nm_utils_init): initialize libnm-util
1246                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1247
1248         * libnm-util/nm-setting-8021x.c
1249                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1250
1251 2008-09-05  Dan Williams  <dcbw@redhat.com>
1252
1253         Patch from Roy Marples <roy@marples.name> and others
1254
1255         * configure.in
1256           src/named-manager/nm-named-manager.c
1257                 - Add support for resolvconf; use --with-resolvconf at configure time
1258                         to enable it
1259
1260 2008-09-05  Dan Williams  <dcbw@redhat.com>
1261
1262         * libnm-util/crypto_nss.c
1263           libnm-util/crypto_gnutls.c
1264           libnm-util/crypto.h
1265                 - (crypto_init): return error when init fails
1266
1267 2008-09-05  Dan Williams  <dcbw@redhat.com>
1268
1269         * libnm-glib/nm-device-wifi.c
1270                 - (access_point_removed_proxy): clean up the active access point too
1271                         just in case the active ap changed signal didn't come through yet
1272                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1273
1274 2008-09-05  Dan Williams  <dcbw@redhat.com>
1275
1276         * libnm-glib/nm-client.c
1277                 - (constructor): get initial state after we know whether NM is running
1278                         or not
1279
1280 2008-09-05  Dan Williams  <dcbw@redhat.com>
1281
1282         * libnm-glib/nm-ip4-config.c
1283           libnm-glib/nm-dhcp4-config.c
1284                 - (finalize): clean up the DBusGProxy
1285
1286 2008-09-04  Dan Williams  <dcbw@redhat.com>
1287
1288         * src/nm-ip4-config.c
1289           src/nm-ip4-config.h
1290                 - (nm_ip4_config_new): don't export over D-Bus here
1291                 - (nm_ip4_config_export): new function; export the config over D-Bus
1292                 - (nm_ip4_config_is_exported): new function
1293
1294         * src/nm-device.c
1295                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1296                         objects by balancing the IP4Config constructor; the device holds
1297                         a reference to the IP4Config already
1298                 - (nm_device_set_ip4_config): export the IP4Config when needed
1299
1300 2008-09-04  Dan Williams  <dcbw@redhat.com>
1301
1302         * src/supplicant-manager/nm-supplicant-settings-verify.c
1303                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1304
1305 2008-09-04  Dan Williams  <dcbw@redhat.com>
1306
1307         * libnm-util/nm-setting-vpn.c
1308           libnm-util/nm-setting-vpn.h
1309                 - Split VPN secrets from VPN data so that settings services can actually
1310                         figure out that they are secrets and store them accordingly
1311
1312         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1313           system-settings/plugins/keyfile/reader.c
1314           system-settings/plugins/keyfile/reader.h
1315           system-settings/plugins/keyfile/writer.c
1316                 - Store VPN secrets separately from VPN data so that they can be fetched
1317                         on demand
1318                 - Implement the get_secrets() call so that (a) secrets don't leak out
1319                         to unprivileged callers, and (b) secrets can be sent to privileged
1320                         callers when needed
1321
1322         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1323                 - Handle split VPN secrets
1324
1325 2008-08-27  Dan Williams  <dcbw@redhat.com>
1326
1327         * system-settings/plugins/ifcfg-fedora/reader.c
1328                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1329
1330 2008-08-27  Dan Williams  <dcbw@redhat.com>
1331
1332         Ensure zombie children get cleaned up.  To get notifications when children
1333         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1334         that requires calling waitpid() yourself if you've removed the child watch
1335         handler before the process has actually died, which NM needs to do in a few
1336         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1337         cleans up after the child when required.  Should fix problems trying to
1338         activate mobile broadband connections after a previous failure.
1339
1340         * src/dhcp-manager/nm-dhcp-dhclient.c
1341           src/dhcp-manager/nm-dhcp-dhcpcd.c
1342                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1343
1344         * src/dhcp-manager/nm-dhcp-manager.c
1345                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1346                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1347                         block on child quitting, since the non-blocking functionality was
1348                         never actually used
1349
1350         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1351                 - (dm_watch_cb): child is already reaped here
1352                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1353
1354         * src/nm-device.c
1355                 - (aipd_cleanup): block until child is dead
1356
1357         * src/named-manager/nm-named-manager.c
1358                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1359                         event bothering to watch the child
1360
1361         * src/ppp-manager/nm-ppp-manager.c
1362                 - (ppp_watch_cb): child is already reaped here
1363                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1364
1365         * src/vpn-manager/nm-vpn-service.c
1366                 - (vpn_service_watch_cb): child is already reaped here
1367                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1368                         status of the child is actually tracked
1369                 - (ensure_killed, finalize): block until child is dead
1370
1371 2008-08-26  Dan Williams  <dcbw@redhat.com>
1372
1373         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1374                 - (update): Update filename of the connection if the connection id
1375                         was changed
1376
1377         * system-settings/plugins/keyfile/plugin.c
1378                 - (dir_changed): first pass at handling connection renames correctly
1379
1380         * system-settings/plugins/keyfile/writer.c
1381           system-settings/plugins/keyfile/writer.h
1382                 - (write_connection): replace '/' with '*' when writing out the filename
1383                         from the connection id
1384
1385 2008-08-26  Dan Williams  <dcbw@redhat.com>
1386
1387         Add connection UUIDs, since connection names can be changed, and since
1388         old-style connection IDs could change over the life of the connection.  The
1389         UUID should be assigned at connection creation time, be stable for a given
1390         connection, and should be unique among all connections for a given settings
1391         service.
1392
1393         * configure.in
1394           libnm-util/Makefile.am
1395                 - Require libuuid
1396
1397         * introspection/nm-exported-connection.xml
1398                 - Remove "GetID" method
1399
1400         * libnm-glib/nm-dbus-connection.c
1401           libnm-glib/nm-settings.c
1402           libnm-glib/nm-settings.h
1403                 - Remove id-related stuff
1404
1405         * libnm-util/nm-utils.c
1406           libnm-util/nm-utils.h
1407           libnm-util/libnm-util.ver
1408                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1409                         utility functions to generate UUIDs
1410
1411         * libnm-util/nm-setting-connection.c
1412           libnm-util/nm-setting-connection.h
1413                 - Add 'uuid' member to the connection setting
1414                 - (verify): require valid 'uuid' for a valid connection
1415
1416         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1417           system-settings/plugins/ifcfg-fedora/reader.c
1418           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1419           system-settings/plugins/ifcfg-suse/parser.c
1420           system-settings/plugins/keyfile/nm-keyfile-connection.c
1421           system-settings/src/main.c
1422                 - Remove id-related stuff
1423                 - Give connections UUIDs where needed
1424
1425 2008-08-25  Dan Williams  <dcbw@redhat.com>
1426
1427         * libnm-util/crypto_gnutls.c
1428           libnm-util/crypto_nss.c
1429                 - (crypto_init, crypto_deinit): refcount init/deinit
1430                 - (crypto_md5_hash): allow NULL salt
1431
1432 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1433
1434         * libnm-glib/Makefile.am
1435           libnm-util/Makefile.am
1436           libnm-glib/libnm_glib.ver
1437           libnm-glib/libnm_glib_vpn.ver
1438           libnm-util/libnm-util.ver
1439                 - Use linker version scripts to control the list of exported 
1440                 symbols. List each exported symbol explicitely.
1441         * libnm-util/Makefile.am
1442                 - Fix compilation of the test-crypto binary. The crypto
1443                 functions are no longer part of the libnm-util API. Add 
1444                 crypto_*.c to test_crypto_SOURCES and link against the correct
1445                 crypto libraries.
1446
1447 2008-08-19  Dan Williams  <dcbw@redhat.com>
1448
1449         * configure.in
1450           test/Makefile.am
1451                 - Don't build test/test-common
1452                 - Remove unused stuff
1453
1454         * test/nm-set-fallback
1455           test/nmtestdevices.c
1456           test/test-common/.cvsignore
1457           test/test-common/Makefile.am
1458           test/test-common/test-common.c
1459           test/test-common/test-common.h
1460                 - delete
1461
1462 2008-08-18  Dan Williams  <dcbw@redhat.com>
1463
1464         * libnm-util/nm-utils.c
1465           libnm-util/nm-utils.h
1466                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1467                         export anything that needs to be converted with this function
1468
1469         * src/dhcp-manager/nm-dhcp-manager.c
1470                 - (garray_to_string): convert a byte array to a UTF-8 string with
1471                         minimal validation; the DHCP client sends it in ASCII anyway
1472                 - (get_option, copy_option): use garray_to_string()
1473
1474 2008-08-18  Dan Williams  <dcbw@redhat.com>
1475
1476         * include/NetworkManager.h
1477           introspection/nm-device.xml
1478                 - Add a "missing firmware" device state reason
1479
1480         * src/NetworkManagerSystem.c
1481           src/NetworkManagerSystem.h
1482                 - (nm_system_device_set_up_down): add a no_firmware argument
1483                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1484                         IFF_UP is ENOENT, that almost always means missing firmware
1485
1486         * src/backends/NetworkManagerGeneric.c
1487           src/nm-device-ethernet.c
1488           src/nm-device-private.h
1489           src/nm-device-wifi.c
1490           src/nm-device.c
1491           src/nm-device.h
1492           src/nm-hso-gsm-device.c
1493           src/vpn-manager/nm-vpn-connection.c
1494                 - Pass no_firmware along; check it where appropriate
1495
1496 2008-08-18  Dan Williams  <dcbw@redhat.com>
1497
1498         Patch from Robert Buchholz <rbu@gentoo.org>
1499
1500         * autogen.sh
1501           configure.in
1502                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1503                         1003.1-1988, allowing for file names longer than 99 characters
1504
1505 2008-08-17  Dan Williams  <dcbw@redhat.com>
1506
1507         * include/NetworkManager.h
1508           introspection/nm-device.xml
1509           src/nm-gsm-device.c
1510                 - Finer-grained GSM registration failure error codes
1511
1512 2008-08-17  Dan Williams  <dcbw@redhat.com>
1513
1514         * callouts/Makefile.am
1515           src/Makefile.am
1516                 - Move dispatcher directory creation to callouts/Makefile.am
1517
1518         * system-settings/plugins/keyfile/Makefile.am
1519                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1520
1521 2008-08-15  Dan Williams  <dcbw@redhat.com>
1522
1523         Do connection sharing in a cleaner manner; all required iptables rules
1524         are now stored in the activation request and pertain only to the device
1525         which is being shared to other computers. (rh #458625)
1526
1527         * src/nm-activation-request.c
1528           src/nm-activation-request.h
1529                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1530                         the activation request which will get torn down automatically when
1531                         the activation request dies
1532                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1533                         is started, and tear them down when sharing is stopped
1534
1535         * src/nm-device.c
1536                 - (start_sharing): start up sharing by doing the required iptables magic
1537                 - (share_init): poke the right bits of the kernel and load the right
1538                         modules for NAT
1539                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1540                         connection if it's a 'shared' connection
1541
1542         * src/NetworkManagerPolicy.c
1543                 - Remove all sharing stuff; done in the device code itself
1544
1545 2008-08-15  Dan Williams  <dcbw@redhat.com>
1546
1547         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1548                 - (create_dm_cmd_line): send the right router address
1549
1550 2008-08-15  Dan Williams  <dcbw@redhat.com>
1551
1552         * src/ppp-manager/nm-ppp-manager.c
1553                 - (pppd_timed_out): ensure timeouts fail the connection
1554
1555 2008-08-14  Dan Williams  <dcbw@redhat.com>
1556
1557         * src/nm-properties-changed-signal.c
1558           src/nm-properties-changed-signal.h
1559                 - Add a property spec flag for "don't export this property" in
1560                         property changed signals
1561
1562         * src/nm-hso-gsm-device.c
1563           src/nm-gsm-device.c
1564           src/nm-cdma-device.c
1565                 - Don't export monitor interface or netdev interface properties
1566
1567 2008-08-14  Dan Williams  <dcbw@redhat.com>
1568
1569         * src/NetworkManagerPolicy.c
1570                 - (update_routing_and_dns): 'hso' devices can be default even if they
1571                         don't have a gateway
1572
1573 2008-08-14  Dan Williams  <dcbw@redhat.com>
1574
1575         * src/nm-device.c
1576                 - (nm_device_deactivate_quickly): tear down activation request after
1577                         calling device-specific deactivation
1578
1579         * src/nm-hso-gsm-device.c
1580                 - (real_deactivate_quickly): terminate connection when deactivating
1581
1582 2008-08-14  Dan Williams  <dcbw@redhat.com>
1583
1584         * src/nm-activation-request.h
1585                 - Add HSO secrets caller
1586
1587         * src/nm-gsm-device.c
1588           src/nm-gsm-device.h
1589                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1590                         something to the callback function
1591                 - (set_apn, set_apn_done): call class dial function, not a static one
1592                 - (nm_gsm_device_class_init): add a class 'dial' function
1593
1594         * src/nm-hal-manager.c
1595                 - (get_hso_netdev): find the hso-driven hardware's net device
1596                 - (modem_device_creator): recognize hso-driven hardware and create the
1597                         right type of device object for it
1598
1599         * src/Makefile.am
1600           src/nm-hso-gsm-device.c
1601           src/nm-hso-gsm-device.h
1602                 - Implement support for devices driven by the 'hso' driver as a subclass
1603                         of NMGsmDevice
1604
1605 2008-08-14  Dan Williams  <dcbw@redhat.com>
1606
1607         * src/NetworkManagerSystem.c
1608                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1609                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1610                         success if the operation really was successful
1611
1612 2008-08-14  Dan Williams  <dcbw@redhat.com>
1613
1614         * src/nm-netlink-monitor.c
1615           src/nm-netlink-monitor.h
1616           src/nm-device-ethernet.c
1617                 - (nm_netlink_monitor_request_status): return an error on failure
1618                 - (constructor): don't segfault on missing error
1619
1620 2008-08-13  Dan Williams  <dcbw@redhat.com>
1621
1622         * callouts/nm-dispatcher-action.c
1623                 - Add IP4 config info to script environment
1624
1625 2008-08-12  Dan Williams  <dcbw@redhat.com>
1626
1627         * src/nm-device.c
1628                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1629                         that want to use DHCP hostnames should use dispatcher scripts
1630                         for that
1631
1632         * src/NetworkManagerSystem.h
1633           src/backends/NetworkManagerArch.c
1634           src/backends/NetworkManagerDebian.c
1635           src/backends/NetworkManagerFrugalware.c
1636           src/backends/NetworkManagerGeneric.c
1637           src/backends/NetworkManagerGeneric.h
1638           src/backends/NetworkManagerGentoo.c
1639           src/backends/NetworkManagerMandriva.c
1640           src/backends/NetworkManagerPaldo.c
1641           src/backends/NetworkManagerRedHat.c
1642           src/backends/NetworkManagerSlackware.c
1643           src/backends/NetworkManagerSuSE.c
1644                 - Remove nm_system_set_hostname(), no longer used
1645           
1646         * src/backends/Makefile.am
1647           src/backends/shvar.c
1648           src/backends/shvar.h
1649                 - Remove shvar.*; no longer used
1650
1651 2008-08-12  Dan Williams  <dcbw@redhat.com>
1652
1653         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1654         hostname is updated at runtime.  Distros or users who want hostname updates
1655         can use dispatcher scripts to update the hostname if they need it.
1656
1657 2008-08-12  Dan Williams  <dcbw@redhat.com>
1658
1659         * introspection/nm-settings-system.xml
1660           system-settings/src/dbus-settings.c
1661           system-settings/src/dbus-settings.h
1662                 - Add a 'Hostname' property (rw) which represents the configured
1663                         hostname and domain of the system, if any
1664
1665         * system-settings/src/nm-system-config-error.c
1666           system-settings/src/nm-system-config-error.h
1667           system-settings/src/nm-system-config-interface.c
1668           system-settings/src/nm-system-config-interface.h
1669                 - Add a 'hostname' property to the plugin interface
1670                 - Add a method to send updated hostname to plugins to save in their
1671                         backing configuration store
1672
1673         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1674           system-settings/plugins/keyfile/plugin.c
1675           system-settings/plugins/keyfile/writer.c
1676           system-settings/plugins/keyfile/writer.h
1677           system-settings/plugins/ifcfg-suse/plugin.c
1678                 - Add minimal hostname support
1679
1680         * system-settings/plugins/ifcfg-fedora/plugin.c
1681                 - Add support for updating system hostname in /etc/sysconfig/network
1682
1683 2008-08-12  Dan Williams  <dcbw@redhat.com>
1684
1685         * system-settings/plugins/ifcfg-fedora/shvar.c
1686           system-settings/plugins/ifcfg-fedora/shvar.c
1687                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1688
1689 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1690
1691         * Makefile.am: Fix distcheck.
1692
1693 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1694
1695         * libnm-glib/*.c. Document some more.
1696
1697 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1698
1699         Start documenting libnm-glib public API using gtk-doc.
1700
1701         * libnm-glib/nm-serial-device.c: 
1702         * libnm-glib/nm-object.c: 
1703         * libnm-glib/nm-gsm-device.c: 
1704         * libnm-glib/nm-device.c: 
1705         * libnm-glib/nm-device-wifi.c: 
1706         * libnm-glib/nm-device-ethernet.c: 
1707         * libnm-glib/nm-client.c: 
1708         * libnm-glib/nm-cdma-device.c: Document the public API.
1709
1710         * docs/libnm-glib/libnm-glib.types: Implement.
1711
1712         * docs/libnm-glib/Makefile.am: Implement.
1713
1714         * autogen.sh: 
1715         * configure.in: 
1716         * Makefile.am: Add gtk-doc support.
1717
1718 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1719
1720         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1721
1722         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1723         the composite result of all the IP4 configurations and call a distro
1724         specific update_resolv_conf().
1725         (update_resolv_conf): Implement one for directly writing to 
1726         /etc/resolv.conf and one for opensuse to call netconfig.
1727
1728 2008-08-11  Dan Williams  <dcbw@redhat.com>
1729
1730         * src/ppp-manager/nm-ppp-manager.c
1731                 - (impl_ppp_manager_need_secrets): pass interface as required
1732
1733 2008-08-11  Dan Williams  <dcbw@redhat.com>
1734
1735         Merge the vpn-properties setting with the vpn setting since it was pointless
1736         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1737         of string:string (instead of string:variant) so that system settings plugins
1738         can have an easier time dealing with the arbitrary key/value pairs.
1739
1740 2008-08-11  Dan Williams  <dcbw@redhat.com>
1741
1742         * libnm-util/nm-utils.c
1743                 - (nm_utils_register_value_transformations): add value transform for
1744                         a hash table of string:string
1745
1746 2008-08-10  Dan Williams  <dcbw@redhat.com>
1747
1748         * libnm-glib/nm-vpn-plugin.c
1749                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1750                         an idle handler so the Connect reply gets delivered before the
1751                         stop StateChanged signal
1752
1753 2008-08-10  Dan Williams  <dcbw@redhat.com>
1754
1755         * src/nm-ip4-config.c
1756                 - (get_property): use common ip4 address/route conversion functions
1757                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1758                         copy the new route here, not take ownership
1759
1760 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1761
1762         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1763         Update the IP4 setting's method name.
1764
1765 2008-08-07  Dan Williams  <dcbw@redhat.com>
1766
1767         * introspection/nm-ip4-config.xml
1768           libnm-glib/libnm-glib-test.c
1769           libnm-glib/nm-ip4-config.c
1770           libnm-glib/nm-ip4-config.h
1771           src/NetworkManagerSystem.h
1772           src/backends/NetworkManagerArch.c
1773           src/backends/NetworkManagerDebian.c
1774           src/backends/NetworkManagerFrugalware.c
1775           src/backends/NetworkManagerGeneric.c
1776           src/backends/NetworkManagerGeneric.h
1777           src/backends/NetworkManagerGentoo.c
1778           src/backends/NetworkManagerMandriva.c
1779           src/backends/NetworkManagerPaldo.c
1780           src/backends/NetworkManagerRedHat.c
1781           src/backends/NetworkManagerSlackware.c
1782           src/backends/NetworkManagerSuSE.c
1783           src/dhcp-manager/nm-dhcp-manager.c
1784           src/nm-device.c
1785           src/nm-ip4-config.c
1786           src/nm-ip4-config.h
1787                 - Remove NIS logic; should be done from dispatcher scripts instead
1788
1789 2008-08-07  Dan Williams  <dcbw@redhat.com>
1790
1791         * src/dhcp-manager/nm-dhcp-manager.c
1792                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1793                         mis-handling of DHCP responses that returned more than one router
1794                         (found by Grant Williamson)
1795
1796 2008-08-07  Dan Williams  <dcbw@redhat.com>
1797
1798         * callouts/nm-dispatcher-action.c
1799                 - (nm_dispatcher_action): grab device path and create the device; pass
1800                         the device's DHCP4 config to script caller
1801                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1802                         scripts
1803
1804         * libnm-glib/nm-dhcp4-config.c
1805           libnm-glib/nm-dhcp4-config.h
1806                 - (nm_dhcp4_config_get_options): expose
1807                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1808
1809 2008-08-07  Dan Williams  <dcbw@redhat.com>
1810
1811         * include/NetworkManager.h
1812                 - Add the DHCP4Config D-Bus interface
1813
1814         * libnm-glib/Makefile.am
1815           libnm-glib/nm-dhcp4-config.c
1816           libnm-glib/nm-dhcp4-config.h
1817                 - Handle DHCP4 config objects exported by NM over D-Bus
1818
1819         * libnm-glib/nm-device.c
1820           libnm-glib/nm-device.h
1821                 - Add a 'dhcp4-config' property
1822
1823         * libnm-glib/libnm-glib-test.c
1824                 - Print out DHCP4 config for devices
1825                 - Fix some crashes when no connections are active
1826
1827         * src/nm-device-interface.c
1828           src/nm-device.c
1829           src/nm-dhcp4-config.c
1830           src/nm-dhcp4-config.h
1831                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1832                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1833                         doesn't let us do when the property type is G_TYPE_OBJECT
1834
1835 2008-08-07  Dan Williams  <dcbw@redhat.com>
1836
1837         * src/NetworkManager.c
1838           src/NetworkManagerSystem.h
1839           src/backends/NetworkManagerArch.c
1840           src/backends/NetworkManagerDebian.c
1841           src/backends/NetworkManagerFrugalware.c
1842           src/backends/NetworkManagerGeneric.c
1843           src/backends/NetworkManagerGeneric.h
1844           src/backends/NetworkManagerGentoo.c
1845           src/backends/NetworkManagerMandriva.c
1846           src/backends/NetworkManagerPaldo.c
1847           src/backends/NetworkManagerRedHat.c
1848           src/backends/NetworkManagerSlackware.c
1849           src/backends/NetworkManagerSuSE.c
1850                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1851
1852 2008-08-06  Dan Williams  <dcbw@redhat.com>
1853
1854         * libnm-glib/nm-ip4-config.c
1855           libnm-glib/nm-ip4-config.h
1856                 - Add 'routes' property
1857
1858         * libnm-util/nm-setting-vpn.c
1859           libnm-util/nm-setting-vpn.h
1860                 - Remove 'routes' property
1861
1862         * libnm-util/nm-setting-ip4-config.c
1863           libnm-util/nm-setting-ip4-config.h
1864                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1865                 - Add 'ignore-auto-routes' property
1866                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1867                         accomodate route metrics
1868                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1869
1870         * libnm-util/nm-utils.c
1871           libnm-util/nm-utils.h
1872                 - Add helpers for marshalling IP4 routes
1873
1874         * src/NetworkManagerUtils.c
1875                 - (nm_utils_merge_ip4_config): handle property renames and new route
1876                         structure
1877
1878         * src/NetworkManagerSystem.c
1879                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1880                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1881
1882         * src/dhcp-manager/nm-dhcp-manager.c
1883                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1884
1885         * system-settings/plugins/ifcfg-fedora/reader.c
1886           system-settings/plugins/ifcfg-fedora/writer.c
1887                 - Handle routes separately from addresses now that routes have a different
1888                         format
1889
1890         * introspection/nm-ip4-config.xml
1891           src/nm-ip4-config.c
1892           src/nm-ip4-config.h
1893                 - Rename internal routing functions
1894                 - 'static-routes' renamed to 'routes'
1895
1896 2008-08-04  Dan Williams  <dcbw@redhat.com>
1897
1898         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1899
1900         * src/NetworkManager.c
1901           src/nm-manager.c
1902           src/nm-manager.h
1903                 - More explicitly make the NMManager a singleton
1904
1905 2008-08-04  Dan Williams  <dcbw@redhat.com>
1906
1907         * libnm-util/nm-connection.c
1908           libnm-util/nm-connection.h
1909                 - (nm_connection_verify): return error on missing 'connection' setting
1910                         (found by Sjoerd Simons)
1911
1912 2008-08-04  Dan Williams  <dcbw@redhat.com>
1913
1914         Handle multiple concurrent PPP connections.
1915
1916         * src/ppp-manager/nm-ppp-manager.c
1917           src/ppp-manager/nm-ppp-manager.h
1918                 - (constructor): only PPP Manager request bus name once; each
1919                         NMPPPManager object gets a unique object path
1920                 - (nm_ppp_manager_class_init, get_property, set_property,
1921                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1922                         at construct time
1923                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1924                         remove timeout until PPP manager gets an IP4 config
1925                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1926                         the plugin can call back to this specific PPP manager instance
1927
1928         * src/nm-device-ethernet.c
1929           src/nm-serial-device.c
1930                 - Pass parent device in nm_ppp_manager_new()
1931
1932         * src/nm-gsm-device.c
1933           src/nm-cdma-device.c
1934                 - (device_state_changed): don't close serial device on NEED_AUTH
1935                         state changed, that's not a failure case like the rest are
1936
1937         * src/ppp-manager/nm-pppd-plugin.c
1938                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1939                         binds one interface to any pppd process, thus the correct index
1940                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1941                         problems; try harder to get a peer address in spite of pppd
1942                 - (plugin_init): use 'ipparam' as the object path back to our specific
1943                         PPP manager instance
1944
1945 2008-08-04  Dan Williams  <dcbw@redhat.com>
1946
1947         * src/ppp-manager/nm-ppp-manager.c
1948                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1949                         since the GSM and CDMA settings now implement need_secrets, we can
1950                         rely on them to do the right thing.  Where secrets are not required,
1951                         just pass empty strings back to the pppd plugin.
1952                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1953                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1954                         on successful IP4 config receipt
1955
1956 2008-08-04  Dan Williams  <dcbw@redhat.com>
1957
1958         * libnm-util/nm-setting-cdma.c
1959           libnm-util/nm-setting-gsm.c
1960                 - (verify): validate username & password if they exist
1961                 - (need_secrets): if username given, require a password too
1962
1963 2008-08-04  Dan Williams  <dcbw@redhat.com>
1964
1965         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1966                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1967                         manpage says about --listen-address without --interface
1968                         (bgo #546033)
1969
1970 2008-08-01  Dan Williams  <dcbw@redhat.com>
1971
1972         * libnm-glib/nm-device.c
1973                 - (proxy_get_string): util function for querying a HAL property
1974                 - (get_ancestor_device): split out from get_product_and_vendor()
1975                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1976                         from PCI devices by querying subsys properties
1977                 - (nm_device_update_description): simplify
1978
1979 2008-08-01  Dan Williams  <dcbw@redhat.com>
1980
1981         * libnm-util/nm-setting-ip4-config.c
1982           libnm-util/nm-setting-ip4-config.h
1983                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1984                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1985                         settings, and they don't necessarily use DHCP.
1986
1987         * src/NetworkManagerPolicy.c
1988           src/nm-device.c
1989           system-settings/plugins/ifcfg-fedora/reader.c
1990           system-settings/plugins/ifcfg-suse/parser.c
1991                 - Fixup for method changes
1992
1993 2008-07-31  Dan Williams  <dcbw@redhat.com>
1994
1995         * src/nm-activation-request.c
1996           src/vpn-manager/nm-vpn-connection.c
1997                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1998                         itself should be attached to the activation request or the VPN
1999                         connection, not the NMConnection object, since the call is not
2000                         expected to live as long as the NMConnection itself
2001
2002 2008-07-31  Dan Williams  <dcbw@redhat.com>
2003
2004         * src/nm-device-wifi.c
2005                 - (real_act_stage2_config): fix issue where association would continue
2006                         even though secrets were needed; 'goto out' was in wrong scope and
2007                         result of handle_auth_or_fail() should have been dumped directly to
2008                         'ret' to ensure that the association was postponed until secrets
2009                         are available
2010
2011 2008-07-31  Dan Williams  <dcbw@redhat.com>
2012
2013         * system-settings/plugins/ifcfg-fedora/plugin.c
2014           system-settings/plugins/ifcfg-fedora/reader.c
2015                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2016                         valid NM connection
2017
2018 2008-07-29  Dan Williams  <dcbw@redhat.com>
2019
2020         * src/nm-gsm-device.c
2021                 - (automatic_registration_response, automatic_registration): recognize
2022                         denied registration and reorder responses
2023
2024 2008-07-29  Dan Williams  <dcbw@redhat.com>
2025
2026         * src/nm-serial-device.c
2027                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2028                         time(2) is used for current time, which returns seconds, we shouldn't
2029                         be multiplying by 1000.
2030
2031 2008-07-28  Dan Williams  <dcbw@redhat.com>
2032
2033         Patch from Fabrice Bellet <fabrice@bellet.info>
2034
2035         * src/NetworkManagerSystem.c
2036                 - (route_in_same_subnet): mask addresses and compare them so that the
2037                         function actually does what it says it's going to do (rh #456685)
2038
2039 2008-07-27  Dan Williams  <dcbw@redhat.com>
2040
2041         * libnm-util/nm-setting-ip6-config.c
2042                 - (set_property): add missing break that caused routes to be overwritten
2043                         with addresses
2044
2045         * libnm-util/nm-setting-ip6-config.c
2046                 - (verify): validate routes and return GError everywhere on invalid setting
2047                 - (finalize): don't leak routes
2048                 - (set_property): add missing break that caused routes to be overwritten
2049                         with addresses
2050
2051 2008-07-27  Dan Williams  <dcbw@redhat.com>
2052
2053         * libnm-util/*
2054                 - Relicense to LGPLv2+
2055
2056 2008-07-27  Dan Williams  <dcbw@redhat.com>
2057
2058         * system-settings/plugins/ifcfg-fedora/reader.c
2059                 - (make_ip4_setting): fix parsing automatic configs
2060
2061 2008-07-27  Dan Williams  <dcbw@redhat.com>
2062
2063         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2064           src/nm-device.c
2065           src/ppp-manager/nm-ppp-manager.c
2066                 - Ensure child process gets reaped.  The child watch function may be
2067                         removed from the mainloop before the child gets killed, so we have
2068                         to make sure the child is reaped when it's told to die intentionally
2069
2070 2008-07-27  Dan Williams  <dcbw@redhat.com>
2071
2072         Patch from Roy Marples <roy@marples.name>
2073
2074         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2075                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2076
2077 2008-07-27  Dan Williams  <dcbw@redhat.com>
2078
2079         * src/nm-gsm-device.c
2080                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2081                         Huawei devices turn echo back on after CPIN (rh #456770)
2082
2083 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2084
2085         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2086         format argument to g_set_error() call.
2087
2088         * src/backends/interface_parser.[ch]: Remove.
2089
2090         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2091
2092 2008-07-21  Dan Williams  <dcbw@redhat.com>
2093
2094         * src/ppp-manager/nm-ppp-manager.c
2095                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2096                         to prevent pppd from picking up some random local address from an
2097                         interface that doesn't have anything to do with the one we're
2098                         interested in (rh #455348)
2099
2100 2008-07-17  Dan Williams  <dcbw@redhat.com>
2101
2102         * libnm-util/nm-utils.c
2103                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2104                         by locale
2105                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2106                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2107
2108 2008-07-17  Dan Williams  <dcbw@redhat.com>
2109
2110         * introspection/Makefile.am
2111           introspection/nm-device.xml
2112           introspection/nm-dhcp4-config.xml
2113                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2114                         itself
2115         * src/nm-device-interface.c
2116           src/nm-device-interface.h
2117                 - Add the DHCP4Config property
2118
2119         * src/nm-device.c
2120                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2121                         D-Bus clients when it changes
2122
2123         * src/nm-dhcp4-config.c
2124           src/nm-dhcp4-config.h
2125                 - Simple object to store DHCP4 options, export them over D-Bus, and
2126                         notify when they change
2127
2128         * src/dhcp-manager/nm-dhcp-manager.c
2129           src/dhcp-manager/nm-dhcp-manager.h
2130                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2131                         filter server-returned DHCP options into an NMDHCP4Config object
2132
2133 2008-07-16  Dan Williams  <dcbw@redhat.com>
2134
2135         * introspection/nm-device.xml
2136                 - Add device state reasons
2137
2138 2008-07-16  Dan Williams  <dcbw@redhat.com>
2139
2140         Patch from Roy Marples <roy@marples.name>
2141
2142         * configure.in
2143                 - Add --with-dhcp-client option
2144
2145         * src/dhcp-manager/Makefile.am
2146                 - pass DHCP_CLIENT_PATH on compile line
2147
2148         * src/dhcp-manager/nm-dhcp-manager.c
2149           src/dhcp-manager/nm-dhcp-manager.h
2150                 - Genericize for both dhcpcd and dhclient
2151
2152         * src/dhcp-manager/nm-dhcp-dhclient.c
2153                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2154
2155         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2156                 - Implement support for dhcpcd too
2157
2158 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2159
2160         * system-settings/src/nm-system-config-interface.c 
2161         (nm_system_config_interface_supports_add): Implement.
2162         (nm_system_config_interface_add_connection): Return a boolean to notify
2163         of errors.
2164
2165         * system-settings/src/nm-polkit-helpers.c: 
2166         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2167         a separate file.
2168
2169         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2170         Return an error when none of the plugins support add or if addition
2171         failed for some reason.
2172
2173         * system-settings/src/nm-system-config-error.h: 
2174         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2175         here from nm-polkit-helpers.[ch].
2176
2177         * system-settings/src/Makefile.am: Build new files.
2178
2179         * system-settings/plugins/keyfile/reader.c 
2180         (read_array_of_array_of_uint): Make it more general so that it would
2181         work for routes as well.
2182
2183         * system-settings/plugins/keyfile/writer.c
2184         (write_array_of_array_of_uint): Ditto.
2185         Fix the netmask/prefix writing.
2186
2187         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2188         boolean to notify errors.
2189
2190         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2191         Return more specific error.
2192         (delete): Ditto.
2193
2194 2008-07-11  Dan Williams  <dcbw@redhat.com>
2195
2196         Modify the NMDevice::state-changed signal to include the previous state
2197         and reason. Enables the applet to provide more information why device
2198         activation failed.
2199
2200 2008-07-09  Dan Williams  <dcbw@redhat.com>
2201
2202         * callouts/Makefile.am
2203           callouts/nm-avahi-autoipd-action.c
2204           callouts/nm-avahi-autoipd.conf
2205                 - avahi-autoipd callout to send options back to NM
2206
2207         * src/autoip.c
2208           src/autoip.h
2209                 - remove
2210
2211         * src/nm-device.c
2212           src/nm-device-private.h
2213           src/nm-manager.c
2214                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2215                         old custom stuff
2216
2217 2008-07-07  Dan Williams  <dcbw@redhat.com>
2218
2219         * system-settings/plugins/ifcfg-fedora/reader.c
2220                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2221                         handle PREFIX too; clean up
2222
2223 2008-07-07  Dan Williams  <dcbw@redhat.com>
2224
2225         Convert to using IPv4 prefixes instead of netmasks.
2226
2227 2008-07-03  Dan Williams  <dcbw@redhat.com>
2228
2229         * libnm-util/nm-setting-ip4-config.c
2230           libnm-util/nm-setting-ip4-config.h
2231                 - Add properties for DHCP Client Identifier and DHCP Hostname
2232
2233         * src/dhcp-manager/nm-dhcp-manager.c
2234           src/dhcp-manager/nm-dhcp-manager.h
2235                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2236                         setting as an argument to pass on to the dhclient config file
2237                         creation function
2238                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2239                         DHCP is torn down
2240                 - (dhclient_run): punt config file handling to create_dhclient_config()
2241                 - (create_dhclient_config): create an interface-specific dhclient
2242                         config file since there may need to be interface-specific options
2243                         passed to dhclient
2244                 - (merge_dhclient_config): merge normal distro dhclient config file and
2245                         add options from the connection
2246                 - (nm_dhcp_device_new): generate the interface specific dhclient
2247                         config file path once
2248                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2249                         dhclient config file path
2250
2251         * src/nm-device.c
2252                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2253                         DHCP manager when starting DHCP
2254
2255 2008-07-02  Dan Williams  <dcbw@redhat.com>
2256
2257         * libnm-util/nm-setting-8021x.c
2258                 - (verify): allow forcing the PEAP label to 0
2259
2260 2008-07-02  Dan Williams  <dcbw@redhat.com>
2261
2262         * introspection/nm-active-connection.xml
2263           introspection/nm-vpn-connection.xml
2264           libnm-glib/nm-active-connection.c
2265           src/nm-activation-request.c
2266           src/nm-active-connection.h
2267           src/vpn-manager/nm-vpn-connection.c
2268                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2269                         and libnm-glib API since sharing didn't get implemented that way
2270
2271 2008-07-02  Dan Williams  <dcbw@redhat.com>
2272
2273         * src/nm-device-wifi.c
2274                 - (can_scan): don't scan when a shared connection is activated since
2275                         that makes drivers mad (causing disconnects); also NM doesn't need
2276                         to hedge against disconnects by keeping up-to-date network topology
2277                         because the connection originates from the local machine, and thus
2278                         there should be no disconnects
2279
2280 2008-07-01  Dan Williams  <dcbw@redhat.com>
2281
2282         Fix mobile broadband username/password issues.  NM was never requesting
2283         mobile broadband secrets, nor was it passing back the username and password
2284         if it had them.
2285
2286         * marshallers/nm-marshal.list
2287                 - Add some new types for activation request objects
2288
2289         * src/nm-activation-request.c
2290           src/nm-activation-request.h
2291                 - (get_secrets_cb): pass the caller type in the signal
2292                 - (nm_act_request_request_connection_secrets): take a caller type, so
2293                         that GetSecrets() reply handlers know who asked for the secrets in
2294                         the first place; use secret hints too so the settings service can
2295                         figure out exactly what NM wants (ie, PIN or the PPP password)
2296
2297         * src/ppp-manager/nm-ppp-manager.c
2298           src/ppp-manager/nm-ppp-manager.h
2299                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2300                         detect needed secrets when the secret could be blank, like GSM/CDMA
2301                         passwords.  So always ask for secrets, and send a hint as to what
2302                         secret we really want.
2303                 - (nm_ppp_manager_update_secrets): make function more generic by making
2304                         the device specific class figure out the username and password, and
2305                         accept an error argument to return back over D-Bus
2306
2307         * src/nm-device-wifi.c
2308                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2309                         nm_act_request_request_connection_secrets()
2310                 - (real_connection_secrets_updated): update for 'caller' changes
2311
2312         * src/nm-device.c
2313           src/nm-device.h
2314                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2315                         for 'caller' changes
2316
2317         * src/nm-device-ethernet.c
2318                 - (real_connection_secrets_updated): update for 'caller' changes and
2319                         move logic for getting PPPoE username and password here before
2320                         calling nm_ppp_manager_update_secrets()
2321                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2322                         nm_act_request_request_connection_secrets()
2323
2324         * src/nm-cdma-device.c
2325                 - (real_connection_secrets_updated): pass username and password back
2326                         to the PPP manager when required
2327
2328         * src/nm-gsm-device.c
2329                 - (enter_pin): send the required secret name to the settings service
2330                 - (real_connection_secrets_updated): pass username and password back
2331                         to the PPP manager when required
2332
2333 2008-06-30  Dan Williams  <dcbw@redhat.com>
2334
2335         * src/nm-device-wifi.c
2336                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2337
2338 2008-06-30  Dan Williams  <dcbw@redhat.com>
2339
2340         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2341         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2342         priv->supplicant.iface.  When either condition is false, the device should
2343         transition back to UNAVAILABLE because it cannot be used.
2344
2345         * src/nm-device-wifi.c
2346                 - (constructor): cleanup; connect to supplicant manager here since the
2347                         supplicant manager is always around
2348                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2349                         ensure the supplicant manager is in the IDLE state
2350                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2351                         cancel any pending scans too
2352                 - (real_bring_up): don't set up the supplicnat interface here, because
2353                         we need the supplicant interface at times when the device may not
2354                         be "up"
2355                 - (real_take_down): just remove the periodic source
2356                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2357                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2358                         do anything if there's no supplicant interface
2359                 - (cleanup_association_attempt): cleanup
2360                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2361                         the interface enters the READY state; transition to UNAVAILABLE
2362                         state when the interface goes down because the device can't be used
2363                         without a supplicant interface
2364                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2365                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2366                         acquire the supplicant interface and transition to DISCONNECTED
2367                         if the radio isn't killed
2368                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2369                 - (state_changed_cb): release any existing supplicant interface; if the
2370                         radio is enabled then try to acquire a new supplicant interface;
2371                         if the radio is enabled and a supplicant interface has been acquired,
2372                         we can transition to DISCONNECTED
2373                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2374                         don't enable the radio, because HAL probably lied to us about the
2375                         killswitch being off.  If bringing the hardware up worked, then
2376                         try to grab a supplicant interface, and if that was successful,
2377                         transition to DISCONNECTED
2378
2379 2008-06-30  Dan Williams  <dcbw@redhat.com>
2380
2381         * src/supplicant-manager/nm-supplicant-interface.c
2382                 - (request_scan_results, nm_supplicant_interface_dispose,
2383                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2384                         the id of the timeout, not a GSource
2385
2386 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2387
2388         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2389         bunch of typoes introduced by "Patch from David Cantrell 
2390         <dcantrell@redhat.com> and me".
2391
2392 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2393
2394         * src/nm-serial-device.c: 
2395         * src/nm-gsm-device.c: 
2396         * src/nm-cdma-device.c: Move the pending call handling to a common location
2397         in serial device. Handle setting device state to failed in one place as well.
2398
2399 2008-06-29  Dan Williams <dcbw@redhat.com>
2400
2401         * src/nm-hal-manager.c
2402                 - Rework killswitch handling to query killswitch status immediately
2403                         when the first killswitch is added, so that rfkill state is
2404                         known as early as possible
2405                 - Also treat failure of GetPower() as rfkill when the dbus method
2406                         call times out (but not when the HAL callout returns an error)
2407
2408 2008-06-26  Dan Williams <dcbw@redhat.com>
2409
2410         Patch from David Cantrell <dcantrell@redhat.com> and me
2411
2412         * include/nm-dbus-glib-types.h
2413                 - Add IP6 address types
2414
2415         * libnm-util/Makefile.am
2416           libnm-util/nm-setting-ip6-config.c
2417           libnm-util/nm-setting-ip6-config.h
2418                 - Add IP6 settings object
2419
2420         * libnm-util/nm-connection.c
2421                 - (register_default_settings): register ip6 settings object
2422
2423         * libnm-util/nm-utils.c
2424           libnm-util/nm-utils.h
2425                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2426                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2427                         ip6 address conversion functions
2428         
2429 2008-06-26  Dan Williams <dcbw@redhat.com>
2430
2431         Patch from David Cantrell <dcantrell@redhat.com>
2432         
2433         * Use inet_ntop() and inet_pton() everwhere and check for errors
2434
2435 2008-06-26  Dan Williams <dcbw@redhat.com>
2436
2437         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2438
2439 2008-06-26  Dan Williams <dcbw@redhat.com>
2440
2441         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2442
2443         * src/nm-device-wifi.c
2444                 - (link_timeout_cb): don't ignore disconnects due to scanning
2445                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2446                         a longer timeout when scanning; avoids case where supplicant can't
2447                         find the AP and just keeps scanning forever but isn't connected
2448
2449 2008-06-26  Dan Williams <dcbw@redhat.com>
2450
2451         Patch from Michael Biebl <biebl@debian.org>
2452
2453         * Clean up build system stuff
2454
2455 2008-06-23  Christian Persch  <chpe@gnome.org>
2456
2457         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2458         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2459         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2460         (impl_get_object):
2461         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2462         (impl_get_object):
2463         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2464         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2465         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2466         (impl_get_object):
2467         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2468         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2469         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2470         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2471         * vpn-daemons/pptp/properties/vpnui_opt.c:
2472         (vpnui_opt_connect_signals):
2473         * vpn-daemons/pptp/properties/vpnui_opt.h:
2474         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2475         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2476         deprecated gtk type macros. Bug #539325.
2477
2478 2008-06-20  Dan Williams  <dcbw@redhat.com>
2479
2480         * libnm-glib/nm-vpn-plugin-ui-interface.c
2481           libnm-glib/nm-vpn-plugin-ui-interface.h
2482                 - 'validity-changed' -> 'changed' to work better with the connection
2483                         editor.  Plugin UI widgets should emit 'changed' whenever their
2484                         UI values change in a meaningful way.
2485                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2486                         update_connection member now returns validity of the UI widget
2487
2488 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2489
2490         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2491
2492 2008-06-17  Dan Williams  <dcbw@redhat.com>
2493
2494         * libnm-glib/nm-vpn-plugin-ui-interface.c
2495           libnm-glib/nm-vpn-plugin-ui-interface.h
2496                 - Add "desc" property for longer descriptions of the VPN plugin
2497
2498 2008-06-16  Dan Williams  <dcbw@redhat.com>
2499
2500         * configure.in
2501           libnm-glib/libnm_glib_vpn.pc.in
2502                 - add a .pc file for libnm_glib_vpn
2503
2504         * libnm-glib/nm-vpn-plugin-ui-interface.c
2505           libnm-glib/nm-vpn-plugin-ui-interface.h
2506                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2507                         rework it substantially
2508
2509 2008-06-12  Dan Williams  <dcbw@redhat.com>
2510
2511         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2512         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2513         returns a descriptive GError when verification fails.
2514
2515 2008-06-11  Dan Williams  <dcbw@redhat.com>
2516
2517         Patch from Tambet Ingo <tambet@gmail.com>
2518
2519         * libnm-util/nm-setting-gsm.c
2520                 - (verify): validate APN
2521
2522         * src/nm-gsm-device.c
2523                 - (manual_registration_done): start setting APN if needed
2524                 - (set_apn, set_apn_done): set the APN
2525                 - (do_dial): use the APN when dialing
2526
2527 2008-06-11  Dan Williams  <dcbw@redhat.com>
2528
2529         * src/NetworkManagerSystem.c
2530                 - (nm_system_device_set_ip4_route,
2531                    nm_system_device_replace_default_ip4_route): check for the right
2532                         return value from rtnl_route_add() to know when to add a gateway
2533                         route (from Tambet)
2534
2535 2008-06-11  Dan Williams  <dcbw@redhat.com>
2536
2537         * src/NetworkManagerPolicy.c
2538                 - do_ipt_cmd -> do_cmd
2539                 - (sharing_init): use do_cmd() instead of system()
2540
2541 2008-06-10  Dan Williams  <dcbw@redhat.com>
2542
2543         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2544         and use "wifi" everwhere instead.
2545
2546 2008-06-10  Dan Williams  <dcbw@redhat.com>
2547
2548         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2549
2550 2008-06-10  Dan Williams  <dcbw@redhat.com>
2551
2552         Patch from Tambet Ingo <tambet@gmail.com>
2553
2554         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2555                 changes.
2556
2557         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2558                 a signal to emit these changes over dbus.
2559
2560         * src/Makefile.am: Genereate nm-serial-device-glue.
2561
2562         * libnm-glib/nm-serial-device.[ch]: Implement.
2563
2564         * libnm-glib/nm-cdma-device.[ch]
2565           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2566
2567         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2568
2569         * introspection/nm-device-serial.xml: Implement.
2570
2571         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2572
2573         * introspection/Makefile.am: Add nm-device-serial.xml.
2574
2575         * include/NetworkManager.h: Add a DBus interface for serial device.
2576
2577 2008-06-10  Dan Williams  <dcbw@redhat.com>
2578
2579         * configure.in
2580                 - Add TARGET_* define to config.h to distinguish distros
2581
2582         * src/dhcp-manager/nm-dhcp-manager.c
2583                 - (dhclient_run): use distro-specific path for dhclient config file
2584
2585 2008-06-09  Dan Williams  <dcbw@redhat.com>
2586
2587         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2588           src/dnsmasq-manager/nm-dnsmasq-manager.h
2589                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2590                         calculate the addresses passed to dnsmasq instead of hard-coding
2591                         them
2592
2593         * src/nm-device.c
2594                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2595                         IP addresses for shared connections to guard against shared
2596                         connection address collisions
2597                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2598                         error conditions
2599                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2600                         the dnsmasq manager
2601
2602 2008-06-09  Dan Williams  <dcbw@redhat.com>
2603
2604         * src/NetworkManagerPolicy.c
2605                 - (update_routing_and_dns): set the default connection _after_ unsetting
2606                         default on all non-default connections so that two connections can
2607                         never be default at the same time
2608                 - (device_state_changed): start and stop connection sharing when
2609                         needed
2610                 - (active_connection_default_changed): restart or stop sharing when
2611                         the default connection changes to keep shared connections always
2612                         NAT-ed through the default connection
2613                 - (check_sharing): handle activation/deactivation of shared connections
2614                 - (sharing_restart): atom-bomb approach to connection sharing until we
2615                         can use libnl; reinit all sharing when the default connection or
2616                         shared connections change
2617                 - (sharing_init, sharing_stop): evil functions that init and deinit
2618                         iptables
2619
2620 2008-06-09  Dan Williams  <dcbw@redhat.com>
2621
2622         * src/nm-activation-request.c
2623           src/nm-activation-request.h
2624                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2625                    nm_act_request_get_device): new functions to facilitate connection
2626                         sharing
2627
2628 2008-06-09  Dan Williams  <dcbw@redhat.com>
2629
2630         * src/nm-device.c
2631                 - (clear_act_request): unset the 'default' property of the activation
2632                         request when clearing it to ensure the property changed signal gets
2633                         delivered and handled
2634
2635 2008-06-09  Dan Williams  <dcbw@redhat.com>
2636
2637         * libnm-glib/nm-device-802-11-wireless.c
2638                 - (access_point_removed_proxy): actually unref the AP after removing
2639                         it from the device's AP list.  Fixes refcounting bug for APs that
2640                         caused them to get mixed up in the applet's menu.
2641
2642 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2643
2644         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2645         (nm_dhcp_device_destroy): Destroy the device options hash table.
2646
2647 2008-06-06  Dan Williams <dcbw@redhat.com>
2648
2649         * system-settings/src/nm-polkit-helpers.c
2650                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2651                         unref the context if the initialization fails; also avoid spew when
2652                         the error isn't set
2653
2654 2008-06-06  Dan Williams <dcbw@redhat.com>
2655
2656         Patch from Tambet Ingo  <tambet@gmail.com>
2657
2658         * src/NetworkManagerSystem.c
2659           src/NetworkManagerSystem.h
2660                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2661                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2662                 - (nm_system_device_set_ip4_route): clean up
2663                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2664
2665         * src/nm-device.c
2666                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2667
2668         * src/vpn-manager/nm-vpn-connection.c
2669                 - (ip_address_to_string): new function
2670                 - (print_vpn_config): use ip_address_to_string
2671                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2672                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2673
2674         * include/NetworkManagerVPN.h
2675                 - Add 'routes' key
2676
2677 2008-06-05  Dan Williams <dcbw@redhat.com>
2678
2679         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2680
2681         * test/nm-tool.c
2682                 - Show which device is the default device
2683
2684 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2685
2686         Fix memory leaks.
2687
2688         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2689         Free data returned from dbus method call.
2690
2691         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2692         dbus_g_method_get_sender() returns a duplicated string, free it 
2693         when done.
2694         (check_polkit_privileges): Looks like policykit sometimes returns
2695         error and non-null return value, don't leak errors in that case.
2696
2697         * system-settings/src/main.c (find_plugin): Don't leak existing 
2698         plugin names.
2699         (load_stuff): Don't leak device list and list items.
2700         (have_connection_for_device): Don't leak connection list.
2701
2702         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2703         Free the data received from g_keyfile_get_*.
2704
2705         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2706         the key when the security object is updated.
2707
2708         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2709         Free data returned from dbus method call.
2710         (iface_state_cb): Ditto.
2711         (add_network_cb): Ditto.
2712         (nm_supplicant_interface_add_cb): Don't make another copy of already
2713         duplicated object path.
2714         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2715         when done.
2716
2717         * src/supplicant-manager/nm-supplicant-config.c 
2718         (ADD_STRING_LIST_VAL): Fix a memory leak.
2719
2720         * src/nm-manager.c (free_get_settings_info): Free the allocated
2721         memory slice.
2722         (list_connections_cb): Free data returned from dbus method call.
2723         (system_settings_get_unmanaged_devices_cb): Ditto.
2724
2725         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2726
2727         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2728         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2729         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2730         of the GList.
2731
2732         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2733         arguments after the object is created.
2734
2735 2008-06-04  Dan Williams <dcbw@redhat.com>
2736
2737         * libnm-util/Makefile.am
2738                 - Don't distribute nm-param-spec-specialized.h
2739
2740 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2741
2742         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2743
2744         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2745         NMIP4Address, update the getters and setters.
2746
2747         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2748         Use the updated NMIP4Config routes api.
2749
2750         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2751         static routes as well.
2752
2753         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2754         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2755         routes api.
2756
2757 2008-05-30  Dan Williams <dcbw@redhat.com>
2758
2759         * src/named-manager/nm-named-manager.c
2760           src/named-manager/nm-named-manager.h
2761                 - Remove stale/obsolete bits for controlling bind over DBus
2762
2763 2008-05-29  Dan Williams <dcbw@redhat.com>
2764
2765         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2766           src/dnsmasq-manager/nm-dnsmasq-manager.h
2767                 - (nm_dnsmasq_manager_new): move iface argument here
2768                 - (constructor): remove, not needed
2769                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2770                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2771
2772         * src/nm-device.c
2773                 - (real_act_stage4_get_ip4_config,
2774                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2775                         changes
2776
2777 2008-05-29  Dan Williams <dcbw@redhat.com>
2778
2779         * src/nm-device.c
2780                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2781                         something happens to dnsmasq
2782                 - (nm_device_new_ip4_shared_config): new function; create a new
2783                         ip4-config for shared connections.  Shared connections always use a
2784                         fixed static IP address.
2785                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2786                         autoip connections by actually using the returned ip4-config and
2787                         not leaking it
2788                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2789                         connections
2790                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2791                         if its active
2792
2793 2008-05-29  Dan Williams <dcbw@redhat.com>
2794
2795         * src/nm-device-802-11-wireless.c
2796                 - (real_get_best_auto_connection): auto-activate 'shared' method
2797                         connections too
2798
2799 2008-05-29  Dan Williams <dcbw@redhat.com>
2800
2801         * libnm-util/nm-setting-ip4-config.c
2802           libnm-util/nm-setting-ip4-config.h
2803                 - Add a 'shared' method to indicate that this connection should be
2804                         brought up with a DHCP and proxy DNS server to facilitate
2805                         connection sharing.
2806                 - (verify): 'shared' method doesn't allow DNS or searches either
2807
2808 2008-05-29  Dan Williams <dcbw@redhat.com>
2809
2810         * configure.in
2811           src/Makefile.am
2812           src/dnsmasq-manager/Makefile.am
2813           src/dnsmasq-manager/nm-dnsmasq-manager.c
2814           src/dnsmasq-manager/nm-dnsmasq-manager.h
2815                 - Add a dnsmasq daemon manager to facilitate connection sharing
2816
2817 2008-05-29  Dan Williams <dcbw@redhat.com>
2818
2819         * src/nm-device-private.h
2820                 - Remove unused prototypes and clean up
2821
2822         * src/nm-device.c
2823                 - Remove anything related to system_config_data, which is no longer used
2824                 - (nm_device_new_ip4_autoip_config): make static
2825
2826 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2827
2828         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2829         (file_changed): Fix a bug where suse system settings plugin didn't
2830         update the connections automatically when the files changed.
2831
2832 2008-05-28  Dan Williams  <dcbw@redhat.com>
2833
2834         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2835
2836 2008-05-28  Dan Williams  <dcbw@redhat.com>
2837
2838         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2839
2840         * src/NetworkManagerSystem.c
2841                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2842                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2843                         was causing -EINVAL errors since the libnl code actually does flush
2844                         the routes on VPN interfaces now
2845
2846         * src/backends/NetworkManagerArch.c
2847           src/backends/NetworkManagerDebian.c
2848           src/backends/NetworkManagerFrugalware.c
2849           src/backends/NetworkManagerGeneric.c
2850           src/backends/NetworkManagerGentoo.c
2851           src/backends/NetworkManagerMandriva.c
2852           src/backends/NetworkManagerPaldo.c
2853           src/backends/NetworkManagerRedHat.c
2854           src/backends/NetworkManagerSlackware.c
2855           src/backends/NetworkManagerSuSE.c
2856                 - (nm_system_device_flush_ip4_routes,
2857                    nm_system_device_flush_ip4_routes_with_iface): remove
2858
2859 2008-05-28  Dan Williams  <dcbw@redhat.com>
2860
2861         * libnm-util/nm-setting-wireless.c
2862           libnm-util/nm-setting-wireless.h
2863                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2864                         'adhoc-create' property, which when TRUE indicates that NM should
2865                         create this connection as an adhoc wifi network if it's not found
2866                         as an adhoc network during scanning.  Can be used to auto-create
2867                         adhoc networks when used in combination with autoconnect.
2868
2869 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2870
2871         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2872
2873         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2874         checked, it doesn't work on some devices.
2875
2876 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2877
2878         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2879         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2880
2881         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2882         Use inet_aton() everywhere to improve error detection.
2883         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2884         provided.
2885
2886 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2887
2888         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2889         Fix a typo.
2890
2891 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2892
2893         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2894         reference counting issue.
2895
2896 2008-05-23  Dan Williams  <dcbw@redhat.com>
2897
2898         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2899
2900         * src/backends/NetworkManagerGeneric.c
2901                 - (nm_generic_enable_loopback): use libnl
2902
2903 2008-05-23  Dan Williams  <dcbw@redhat.com>
2904
2905         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2906
2907         * src/NetworkManagerSystem.h
2908           src/backends/NetworkManagerArch.c
2909           src/backends/NetworkManagerDebian.c
2910           src/backends/NetworkManagerFrugalware.c
2911           src/backends/NetworkManagerGentoo.c
2912           src/backends/NetworkManagerMandriva.c
2913           src/backends/NetworkManagerPaldo.c
2914           src/backends/NetworkManagerRedHat.c
2915           src/backends/NetworkManagerSlackware.c
2916           src/backends/NetworkManagerSuSE.c
2917                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2918                    nm_system_flush_arp_cache): remove, unused
2919
2920         * src/backends/NetworkManagerGeneric.c
2921           src/backends/NetworkManagerGeneric.h
2922                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2923                    nm_generic_flush_arp_cache): remove, unused
2924
2925 2008-05-23  Dan Williams  <dcbw@redhat.com>
2926
2927         * system-settings/plugins/ifcfg-fedora/reader.c
2928                 - (make_ip4_setting): honor PEERDNS setting
2929
2930 2008-05-23  Dan Williams  <dcbw@redhat.com>
2931
2932         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2933
2934         * src/NetworkManagerSystem.c
2935                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2936                         libnl
2937
2938         * src/backends/NetworkManagerArch.c
2939           src/backends/NetworkManagerDebian.c
2940           src/backends/NetworkManagerFrugalware.c
2941           src/backends/NetworkManagerGentoo.c
2942           src/backends/NetworkManagerMandriva.c
2943           src/backends/NetworkManagerPaldo.c
2944           src/backends/NetworkManagerRedHat.c
2945           src/backends/NetworkManagerSlackware.c
2946           src/backends/NetworkManagerSuSE.c
2947                 - (nm_system_device_flush_ip4_addresses,
2948                    nm_system_device_flush_ip4_addresses_with_iface): remove
2949
2950         * src/backends/NetworkManagerGeneric.c
2951                 - (nm_generic_device_flush_ip4_addresses,
2952                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2953
2954 2008-05-23  Dan Williams  <dcbw@redhat.com>
2955
2956         * src/supplicant-manager/nm-supplicant-settings-verify.c
2957                 - Switch 'bssid' from bytes to keyword type
2958                 - (validate_type_keyword): allow NULL keyword lists
2959
2960         * src/supplicant-manager/nm-supplicant-config.c
2961                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2962                         a byte array to string form, which is what the supplicant expects
2963
2964 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2965
2966         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2967         information received from DHCP.
2968
2969         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2970         to make it possible to ignore the DNS information (both servers and 
2971         searches) returned by DHCP server.
2972
2973         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2974         name servers and searches if "ignore_dhcp_dns" is set.
2975
2976         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2977         (nm_ip4_config_reset_searches): Implement.
2978
2979 2008-05-22  Dan Williams  <dcbw@redhat.com>
2980
2981         Remove anything mDNS related.  This is better done from a distro-specific
2982         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2983         avahi, since avahi can handle interface changes just fine using netlink.
2984
2985         * configure.in
2986                 - Remove --with-mdns-provider
2987
2988         * src/NetworkManagerPolicy.c
2989                 - (global_state_changed): don't restart the mdns provider
2990
2991         * src/NetworkManagerSystem.h
2992           src/backends/NetworkManagerArch.c
2993           src/backends/NetworkManagerDebian.c
2994           src/backends/NetworkManagerFrugalware.c
2995           src/backends/NetworkManagerGentoo.c
2996           src/backends/NetworkManagerMandriva.c
2997           src/backends/NetworkManagerPaldo.c
2998           src/backends/NetworkManagerRedHat.c
2999           src/backends/NetworkManagerSlackware.c
3000           src/backends/NetworkManagerSuSE.c
3001                 - (nm_system_restart_mdns_responder): remove
3002
3003         * src/backends/NetworkManagerGeneric.c
3004           src/backends/NetworkManagerGeneric.h
3005                 - (nm_generic_restart_mdns_responder): remove
3006
3007 2008-05-22  Dan Williams  <dcbw@redhat.com>
3008
3009         * configure.in
3010                 - clean up crypto options; just use --with-crypto=nss or
3011                         --with-crypto=gnutls
3012
3013 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3014
3015         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3016         anymore, do it right away.
3017
3018 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3019
3020         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3021         serial device open when we're not connecting or connected.
3022
3023         * src/nm-cdma-device.c (device_state_changed): Ditto.
3024
3025 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3026
3027         Don't remove all devices on waking up, sync with HAL.
3028
3029         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3030         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3031         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3032
3033 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3034
3035         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3036         If the default gateway is unreachable, add a route to gateway and try
3037         again.
3038
3039 2008-05-20  Dan Williams  <dcbw@redhat.com>
3040
3041         * system-settings/plugins/ifcfg-fedora/reader.c
3042                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3043
3044 2008-05-19  Dan Williams  <dcbw@redhat.com>
3045
3046         * system-settings/plugins/ifcfg-fedora/reader.c
3047                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3048                         if the ifcfg doesn't specify one (rh #446527)
3049
3050 2008-05-19  Dan Williams  <dcbw@redhat.com>
3051
3052         Make the system settings service exit when the bus goes away.  Since it's
3053         a bus-activated service, it's lifetime is limited to the bus that activated
3054         it (rh #444976).
3055
3056         * system-settings/src/Makefile.am
3057           system-settings/src/nm-system-config-hal-manager-private.h
3058                 - Remove nm-system-config-hal-manager-private.h
3059
3060         * system-settings/src/nm-system-config-hal-manager.c
3061                 - (nm_system_config_hal_manager_reinit_dbus,
3062                    nm_system_config_hal_manager_deinit_dbus): remove
3063
3064         * system-settings/src/main.c
3065                 - (dbus_reconnect): remove
3066                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3067                 - (destroy_cb): just quit when the bus goes away
3068                 - (start_dbus_service, dbus_init): simplify
3069                 - (main): destroy the wired devices hash table after destroying
3070                         the HAL manager so we don't have to disconnect signals from the
3071                         HAL manager
3072
3073 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3074
3075         Move crypto functions from nm-applet to libnm-util.
3076
3077         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3078         (nm_setting_802_1x_set_client_cert)
3079         (nm_setting_802_1x_set_phase2_ca_cert)
3080         (nm_setting_802_1x_set_phase2_client_cert)
3081         (nm_setting_802_1x_set_private_key)
3082         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3083         file (or private key and it's password), read the certificate data.
3084
3085         * libnm-util/crypto_nss.c: 
3086         * libnm-util/crypto_gnutls.c: 
3087         * libnm-util/crypto.[ch]: Move here from nm-applet.
3088
3089         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3090
3091         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3092         Imlement WPA-EAP configuration reading from sysconfig.
3093
3094 2008-05-16  Dan Williams  <dcbw@redhat.com>
3095
3096         * src/nm-device-802-11-wireless.c
3097                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3098                         wireless
3099
3100 2008-05-14  Dan Williams  <dcbw@redhat.com>
3101
3102         Fix Linus' bug in rh #134886
3103
3104         * src/nm-device-802-3-ethernet.c
3105                 - (constructor): request initial carrier state
3106
3107         * src/nm-netlink-monitor.c
3108                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3109                         signals after refilling the link cache.  Because the refill is a 
3110                         synchronous operation, the normal message hander won't get called
3111                         since libnl has already consumed the messages.
3112                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3113
3114 2008-05-14  Dan Williams  <dcbw@redhat.com>
3115
3116         * src/NetworkManagerSystem.c
3117                 - (nm_system_device_is_up_with_iface): clean up
3118
3119 2008-05-13  Dan Williams  <dcbw@redhat.com>
3120
3121         Fix refcounting issues over sleep/wake when a VPN connection was active that
3122         caused NM to try registering an object path for a device upon wake that was
3123         the same as an already registered object path.
3124
3125         * src/nm-device.c
3126                 - (nm_device_take_down): properly handle cases where the device is
3127                         no longer active but was just active, and therefore must be
3128                         deactivated.  When a device moves to unmanaged mode, this function
3129                         previously would not deactivate the device, because the state was
3130                         already unmanaged by the time this function was called.
3131
3132         * src/vpn-manager/nm-vpn-connection.c
3133                 - (device_state_changed): properly handle multiple devices states in
3134                         which the device is now deactivated.  Code previously didn't handle
3135                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3136                         UNMANAGED states.
3137
3138 2008-05-13  Dan Williams  <dcbw@redhat.com>
3139
3140         * src/nm-device-private.h
3141           src/nm-device.c
3142                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3143
3144         * src/nm-device-802-11-wireless.c
3145                 - (nm_device_802_11_wireless_set_enabled): take devices up
3146                         and down as appropriate for the rfkill state
3147
3148 2008-05-13  Dan Williams  <dcbw@redhat.com>
3149
3150         * marshallers/nm-marshal.list
3151                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3152
3153         * system-settings/plugins/ifcfg-fedora/Makefile.am
3154           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3155           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3156                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3157                         events.  Solely for use watching ifcfg files to pick up changes
3158                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3159
3160         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3161                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3162                         file contents change
3163                 - (finalize): clean up inotify watches
3164                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3165                         and the connection ifcfg for changes on their hardlinks
3166                 - (files_changed_cb): proxy the changed signal back out to listeners
3167
3168         * system-settings/plugins/ifcfg-fedora/plugin.c
3169                 - (dir_changed): 
3170                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3171                         changes
3172                 - (read_one_connection): connect to change signals on the new connection
3173                 - (dir_changed, connection_changed_handler,
3174                    handle_connection_remove_or_new): break out connection change
3175                         handling and connection new/remove handling so it can be used from
3176                         both the GFileMonitor callback and the NMIfcfgConnection changed
3177                         signals
3178
3179         * system-settings/plugins/ifcfg-fedora/reader.c
3180           system-settings/plugins/ifcfg-fedora/reader.h
3181                 - (connection_from_file): return the keyfile path the connection would use
3182
3183 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3184
3185         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3186         single PolKitContext which is shared by all. PolKitContext::unref leaks
3187         just about everything, including all open file descriptiors and results
3188         in 99% cpu usage when data arrives to any of the fds that don't belong
3189         to any context anymore.
3190
3191 2008-05-12  Dan Williams  <dcbw@redhat.com>
3192
3193         * gfilemonitor/glocaldirectorymonitor.c
3194           gfilemonitor/glocaldirectorymonitor.h
3195                 - (g_local_directory_monitor_constructor): actually subscribe to the
3196                         watch
3197                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3198
3199         * gfilemonitor/glocalfilemonitor.c
3200           gfilemonitor/glocalfilemonitor.h
3201                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3202                 - (_g_local_file_monitor_new): ensure that inotify is started up
3203
3204 2008-05-11  Dan Williams  <dcbw@redhat.com>
3205
3206         * configure.in
3207                 - record PolicyKit version
3208
3209         * system-settings/src/nm-polkit-helpers.c
3210                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3211                         with PolicyKit <= 0.6
3212
3213 2008-05-11  Dan Williams  <dcbw@redhat.com>
3214
3215         Update Fedora system-settings plugin to support latest API and use
3216         GFileMonitor rather than home-rolled inotify code.
3217
3218         * system-settings/plugins/ifcfg-fedora/Makefile.am
3219           system-settings/plugins/ifcfg-fedora/common.h
3220           system-settings/plugins/ifcfg-fedora/plugin.c
3221                 - Update to latest system settings plugin API; use GIO instead of
3222                         custom inotify code; use NMIfcfgConnection objects instead of
3223                         ConnectionData structures tacked onto NMConnection objects
3224
3225         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3226           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3227                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3228                         connections
3229
3230         * system-settings/plugins/ifcfg-fedora/reader.c
3231           system-settings/plugins/ifcfg-fedora/reader.h
3232                 - Move ifcfg parsing bits here from parser.c
3233
3234         * system-settings/plugins/ifcfg-fedora/parser.c
3235           system-settings/plugins/ifcfg-fedora/parser.h
3236                 - Remove; most code moved to reader.c
3237
3238 2008-05-11  Dan Williams  <dcbw@redhat.com>
3239
3240         * configure.in
3241           Makefile.am
3242           gfilemonitor/*
3243                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3244                         implementation, so that the same change monitoring code can be used
3245                         on systems without glib-2.14 (like Fedora 8)
3246
3247         * system-settings/plugins/keyfile/Makefile.am
3248           system-settings/plugins/keyfile/plugin.c
3249           system-settings/plugins/ifcfg-suse/Makefile.am
3250           system-settings/plugins/ifcfg-suse/plugin.c
3251                 - Use private gfilemonitor code if GIO is not present
3252
3253 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3254
3255         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3256         NMExportedConnection's 'update' and 'delete' and return error with
3257         descriptive message.
3258
3259 2008-05-08  Dan Williams  <dcbw@redhat.com>
3260
3261         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3262
3263         * src/nm-gsm-device.c
3264           src/nm-cdma-device.c
3265                 - (real_get_best_auto_connection): implement; allow autoconnection
3266                         to GSM & CDMA devices
3267
3268 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3269
3270         Use PolicyKit to authorize the system settings' AddConnection method
3271         and the system settings connections' Update and Delete methods.
3272         
3273         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3274         (impl_exported_connection_delete, nm_exported_connection_update)
3275         (nm_exported_connection_delete): Return boolean and fill GError
3276         to notify the callers of the reasons why it might have failed.
3277
3278         * libnm-glib/nm-dbus-settings-system.c
3279         (nm_dbus_settings_system_add_connection): Return the error from dbus
3280         call so that the callers can see why it failed.
3281
3282         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3283         signatures.
3284
3285         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3286
3287         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3288         abstract base class that checks PolicyKit permissions.
3289
3290         * system-settings/src/dbus-settings.c:
3291         (impl_settings_add_connection): Check the policy before carring out
3292         the request.
3293
3294         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3295         Inherit from NMSysconfigConnection, check the policies before
3296         allowing updating or removing.
3297
3298         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3299         Inherit from NMSysconfigConnection.
3300
3301         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3302         "Delete" methods with async flag so that the implementations can get
3303         access to DBusGMethodInvocation.
3304
3305         * system-settings/src/dbus-settings.c 
3306         (settings_add_connection_check_privileges): Implement.
3307         (impl_settings_add_connection): Check the privileges before adding a new
3308         connection. Improve error reporting.
3309
3310         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3311         async so that the implementation can access DBusGMethodInvocation.
3312
3313         * configure.in: Check for PolicyKit.
3314
3315         * policy/org.freedesktop.network-manager-settings.system.policy: 
3316         New file.
3317
3318         * policy/Makefile.am: Install the policy file.
3319
3320         * configure.in: Add 'policy' subdir.
3321
3322 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3323
3324         Rewrite the suse system settings plugin.
3325
3326         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3327
3328         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3329
3330         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3331
3332         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3333
3334         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3335
3336         * system-settings/src/main.c (load_plugins): Improve error reporting.
3337
3338         * system-settings/src/sha1.[ch] Add.
3339
3340         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3341
3342 2008-05-07  Dan Williams  <dcbw@redhat.com>
3343
3344         * system-settings/plugins/keyfile/reader.c
3345                 - (read_one_setting_value): handle IP address items separately
3346                 - (read_array_of_uint): read IPv4 DNS option as a string array
3347                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3348                         array
3349
3350         * system-settings/plugins/keyfile/writer.c
3351                 - (write_setting_value): handle IP address items separately
3352                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3353                         not an array of uint, so that it's user-editable
3354                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3355                         arrays, so they are user-editable
3356
3357 2008-05-07  Dan Williams  <dcbw@redhat.com>
3358
3359         * system-settings/plugins/keyfile/Makefile.am
3360                 - Change location of the keyfile plugin settings to
3361                         /etc/NetworkManager/system-connections
3362
3363 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3364
3365         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3366
3367         * system-settings/plugins/keyfile/plugin.c: Work with
3368         NMKeyfileConnections.
3369
3370         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3371         Plugins are supposed to return NMExportedConnections now and handle the
3372         updated(), removed(), and GetSecrets().
3373         Store the internal list of connections in hash table to make it easier
3374         to find duplicates.
3375
3376 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3377
3378         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3379         for multiple IP addresses.
3380
3381 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3382
3383         Patch from André Lemos.
3384
3385         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3386         corruption.
3387
3388 2008-05-06  Dan Williams  <dcbw@redhat.com>
3389
3390         * src/dhcp-manager/nm-dhcp-manager.c
3391                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3392                         NMIP4Config to support multiple IP addresses
3393
3394         * src/NetworkManagerUtils.c
3395                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3396
3397         * src/nm-ip4-config.c
3398           src/nm-ip4-config.h
3399                 - Store a list of IPv4 address/netmask/gateway tuples
3400                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3401                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3402                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3403                    nm_ip4_config_set_address): remove
3404                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3405                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3406                         new functions; handle multiple IPv4 addresses
3407
3408         * src/nm-device.c
3409           src/ppp-manager/nm-ppp-manager.c
3410           src/vpn-manager/nm-vpn-connection.c
3411           src/NetworkManagerPolicy.c
3412           test/nm-tool.c
3413           libnm-glib/libnm-glib-test.c
3414                 - update for changes to NMIP4Config for multiple IPv4 addresses
3415
3416         * src/NetworkManagerSystem.c
3417                 - (nm_system_device_set_ip4_route): don't add the route if any address
3418                         is on the same subnet as the destination
3419                 - (check_one_address): ignore the exact match, just match family and
3420                         interface index
3421                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3422                         an interface
3423                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3424                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3425
3426         * introspection/nm-ip4-config.xml
3427                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3428                 - Add 'addresses' property which is an array of (uuu) tuples of
3429                         address/netmask/gateway
3430
3431         * libnm-util/nm-setting-ip4-config.c
3432                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3433
3434         * libnm-glib/nm-ip4-config.c
3435           libnm-glib/nm-ip4-config.h
3436                 - Handle D-Bus interface changes to support multiple IP addresses
3437
3438 2008-05-06  Dan Williams  <dcbw@redhat.com>
3439
3440         * libnm-util/nm-utils.c
3441           libnm-util/nm-utils.h
3442                 - (nm_utils_ip4_addresses_from_gvalue,
3443                    nm_utils_ip4_addresses_to_gvalue): new functions
3444
3445 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3446
3447         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3448         the returned connection paths.
3449
3450 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3451
3452         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3453         "PropertiesChanged" signal signature.
3454
3455         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3456         defined in nm-dbus-glib-types.h.
3457         Don't register the connection on dbus, we're a proxy class to 
3458         communicate with an already registered connection over dbus.
3459
3460 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3461
3462         Implement new subclasses of NMSettings and NMExportedConnection to make
3463         it easier for the applet to access and modify system settings.
3464
3465         * libnm-glib/nm-dbus-connection.[ch]:
3466         * libnm-glib/nm-dbus-settings.[ch]:
3467         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3468
3469         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3470         bindings and glue.
3471
3472         * include/NetworkManager.h: Define the system settings DBus interface.
3473
3474 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3475
3476         Implement additional C API for exported connections to make them identical
3477         with the DBus API. Change the (list_connections) virtual function to be
3478         more usable from C - instead of requiring implementers to return a GPtrArray
3479         of dbus paths, return a list of connections.
3480
3481         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3482         (nm_settings_list_connections):
3483         (nm_exported_connection_new):
3484         (nm_exported_connection_update):
3485         (nm_exported_connection_delete): Implement.
3486
3487         (impl_settings_list_connections):
3488         (impl_exported_connection_update):
3489         (impl_exported_connection_delete): Use the new public functions to make 
3490         sure the C and dbus interfaces stay in sync.
3491
3492         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3493         connections.
3494
3495 2008-05-02  Dan Williams  <dcbw@redhat.com>
3496
3497         * system-settings/plugins/ifcfg-fedora/plugin.c
3498                 - (dispose): use right unref call on the DBusGConnection
3499
3500 2008-05-02  Dan Williams  <dcbw@redhat.com>
3501
3502         * src/nm-serial-device.c
3503                 - (find_terminator): don't compare the whole line, just the size of the
3504                         terminator, since some modems put stuff after the terminator, like
3505                         "CONNECT 9600"
3506
3507 2008-05-01  Dan Williams  <dcbw@redhat.com>
3508
3509         Patch from Michael Biebl <biebl@debian.org>
3510
3511         * callouts/Makefile.am
3512           callouts/org.freedesktop.nm_dispatcher.service.in
3513           system-settings/src/Makefile.am
3514           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3515                 - use the right install location for dbus-activated stuff
3516
3517 2008-04-30  Dan Williams  <dcbw@redhat.com>
3518
3519         * src/nm-gsm-device.c
3520                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3521                         PIN or PUK
3522
3523 2008-04-30  Dan Williams  <dcbw@redhat.com>
3524
3525         * src/nm-manager.c
3526                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3527
3528 2008-04-30  Dan Williams  <dcbw@redhat.com>
3529
3530         * src/nm-device-802-3-ethernet.c
3531           src/nm-device-802-11-wireless.c
3532                 - (real_is_up): return true instead of chaining up to unimplemented
3533                         parent method
3534
3535 2008-04-30  Dan Williams  <dcbw@redhat.com>
3536
3537         * src/NetworkManagerSystem.c
3538           src/NetworkManagerSystem.h
3539                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3540                         functions to check device flags for IFF_UP
3541
3542         * src/nm-serial-device.c
3543                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3544                         implement is_up
3545
3546         * src/nm-device-802-3-ethernet.c
3547           src/nm-device-802-11-wireless.c
3548                 - (real_hw_is_up): call nm_system_device_is_up()
3549
3550         * src/nm-device.c
3551                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3552                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3553                         does not implement
3554
3555 2008-04-29  Dan Williams  <dcbw@redhat.com>
3556
3557         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3558
3559         * marshallers/nm-marshal.list
3560                 - Add marshaller
3561
3562         * src/NetworkManager.c
3563                 - (main): let the NMManager handle the NMHalManager
3564
3565         * src/nm-hal-manager.c
3566           src/nm-hal-manager.h
3567                 - convert to a GObject, and emit singals when stuff changes.  Let the
3568                         NMManager handle the signals, instead of the NMHalManager calling
3569                         into the NMManager.  
3570
3571         * src/nm-manager.c
3572           src/nm-manager.h
3573                 - (remove_one_device): consolidate device removals here
3574                 - (dispose): use remove_one_device()
3575                 - (nm_manager_get_device_by_udi): make static
3576                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3577                         manager for devices at startup or wakeup time
3578                 - (nm_manager_new): create and monitor the HAL manager
3579                 - (hal_manager_udi_added_cb): new function; do what
3580                         nm_manager_add_device() used to do when signalled by the hal manager
3581                 - (hal_manager_udi_removed_cb): new function; do what
3582                         nm_manager_remove_device() used to do when signalled by the hal
3583                         manager
3584                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3585                         hal manager
3586                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3587                         in our device list that aren't known to HAL
3588                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3589                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3590                         commits ago
3591                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3592                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3593                    nm_manager_wireless_hardware_enabled,
3594                    nm_manager_set_wireless_hardware_enabled): remove, unused
3595
3596 2008-04-28  Dan Williams  <dcbw@redhat.com>
3597
3598         Fix the device up/down ambiguities.  Up/down state used to be a
3599         conglomeration of hardware state (IFF_UP) and any device-specific things
3600         (supplicant, periodic timers, etc) that the device used to indicate
3601         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3602         reason, then the device specific stuff wouldn't get run, and the device
3603         would be stuck.
3604
3605         * src/nm-device.c
3606           src/nm-device.h
3607                 - Create hw_is_up, hw_bring_up, and hw_take_down
3608                 - Rename bring_down -> take_down
3609                 - (real_hw_is_up): check interface flags for IFF_UP
3610                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3611                 - (nm_device_is_up): make static; only used locally
3612                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3613                         if the device is already up; if the device isn't up, bring it up
3614                 - (nm_device_hw_take_down): just take down hardware
3615                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3616                 - (nm_device_take_down): always deactivate device when called; always
3617                         try to take hardware down too
3618                 - (nm_device_state_changed): take device down when entering unmanaged
3619                         state from a higher state
3620
3621         * src/nm-device-802-11-wireless.c
3622                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3623                         check IFF_UP really
3624                 - (real_take_down, supplicant_iface_state_cb_handler, 
3625                    supplicant_iface_connection_state_cb_handler,
3626                    supplicant_mgr_state_cb_handler): fix some messages
3627
3628         * src/nm-device-802-3-ethernet.c
3629                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3630                         check IFF_UP really
3631
3632 2008-04-28  Dan Williams  <dcbw@redhat.com>
3633
3634         * src/nm-manager.c
3635           src/nm-manager.h
3636                 - (nm_manager_error_get_type): add new error
3637                 - (nm_manager_remove_device): don't bother taking down the device here,
3638                         the state change from unmanaging the device will do it
3639                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3640                         uses it; when going to sleep, just unmanage the device instead of
3641                         taking it down, because stuff will cleaned up correctly when the
3642                         device gets unmanaged
3643
3644 2008-04-28  Dan Williams  <dcbw@redhat.com>
3645
3646         * src/nm-hal-manager.c
3647                 - (add_initial_devices): convert to a GSourceFunc prototype
3648                 - (nm_manager_state_changed): when coming out of sleep, punt the
3649                         device re-addition to an idle handler to let D-Bus events go out
3650                         first, fixing a potential dbus-glib assert if the old device was
3651                         not yet disposed (due to references held while emitting the D-Bus
3652                         signals) but the new device was found, because the mainloop didn't
3653                         run between signal emission and add_initial_devices()
3654
3655 2008-04-27  Dan Williams  <dcbw@redhat.com>
3656
3657         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3658
3659         * initscript/paldo/NetworkManager.in
3660           initscript/SUSE/networkmanager.in
3661                 - Remove last bits of dhcdbd
3662
3663 2008-04-27  Dan Williams  <dcbw@redhat.com>
3664
3665         * src/nm-device-802-11-wireless.c
3666                 - (link_timeout_cb): don't ask for secrets when disconnected during
3667                         association/authentication phase, drivers are still just too crappy
3668
3669 2008-04-27  Dan Williams  <dcbw@redhat.com>
3670
3671         * Makefile.am
3672           configure.in
3673           dispatcher-daemon/Makefile.am
3674           dispatcher-daemon/NetworkManagerDispatcher.c
3675           initscript/Arch/Makefile.am
3676           initscript/Arch/networkmanager-dispatcher.in
3677           initscript/Gentoo/Makefile.am
3678           initscript/Gentoo/NetworkManagerDispatcher.in
3679           initscript/Mandriva/Makefile.am
3680           initscript/Mandriva/networkmanagerdispatcher.in
3681           initscript/RedHat/Makefile.am
3682           initscript/RedHat/NetworkManagerDispatcher.in
3683           initscript/SUSE/Makefile.am
3684           initscript/SUSE/networkmanager-dispatcher.in
3685           initscript/Slackware/Makefile.am
3686           initscript/Slackware/rc.networkmanager-dispatcher.in
3687           initscript/paldo/Makefile.am
3688           initscript/paldo/NetworkManagerDispatcher.in
3689           man/Makefile.am
3690           man/NetworkManagerDispatcher.8.in
3691                 - Remove the dispatcher daemon
3692
3693 2008-04-27  Dan Williams  <dcbw@redhat.com>
3694
3695         * callouts/Makefile.am
3696           callouts/nm-dispatcher-action.c
3697           callouts/nm-dispatcher-action.h
3698           callouts/nm-dispatcher.conf
3699           callouts/nm-dispatcher.xml
3700           callouts/org.freedesktop.nm_dispatcher.service
3701                 - Re-implement the dispatcher as a system-bus activated service that
3702                         NM calls on-demand, rather than an always running daemon
3703
3704         * src/Makefile.am
3705                 - Add callouts dir to includes to pick up dispatcher defines
3706
3707         * src/nm-device.c
3708                 - (nm_device_state_changed): call dispatcher on device activated/
3709                         deactivated
3710
3711         * src/vpn-manager/nm-vpn-connection.c
3712                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3713                         go up and down
3714
3715         * src/NetworkManagerUtils.c
3716           src/NetworkManagerUtils.h
3717                 - (nm_utils_call_dispatcher): helper to call dispatcher
3718
3719 2008-04-27  Dan Williams  <dcbw@redhat.com>
3720
3721         * src/NetworkManagerUtils.c
3722           src/NetworkManagerUtils.h
3723                 - remove unneeded includes
3724                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3725                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3726                    nm_timeval_cmp, nm_timeval_add): remove, unused
3727                 - clean up formatting
3728                 - (nm_spawn_process): de-uglify
3729
3730         * src/nm-device-802-11-wireless.c
3731                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3732
3733 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3734
3735         * initscript/Gentoo/NetworkManager.in:
3736                 Fix for starting the daemon.
3737
3738 2008-04-25  Dan Williams  <dcbw@redhat.com>
3739
3740         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3741
3742         * src/NetworkManagerSystem.c
3743                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
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_replace_default_ip4_route): new function; a libnl
3751                         implementation of nm_system_device_replace_default_route()
3752
3753         * src/NetworkManagerPolicy.c
3754                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3755
3756         * src/backends/NetworkManagerArch.c
3757           src/backends/NetworkManagerDebian.c
3758           src/backends/NetworkManagerFrugalware.c
3759           src/backends/NetworkManagerGeneric.c
3760           src/backends/NetworkManagerGeneric.h
3761           src/backends/NetworkManagerGentoo.c
3762           src/backends/NetworkManagerMandriva.c
3763           src/backends/NetworkManagerPaldo.c
3764           src/backends/NetworkManagerRedHat.c
3765           src/backends/NetworkManagerSlackware.c
3766           src/backends/NetworkManagerSuSE.c
3767                 - (nm_system_device_replace_default_route): remove
3768
3769 2008-04-25  Dan Williams  <dcbw@redhat.com>
3770
3771         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3772
3773         * src/NetworkManagerSystem.c
3774                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3775                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3776                         replace nm_system_device_add_route_via_device_with_iface() in the
3777                         backends
3778
3779         * src/backends/NetworkManagerArch.c
3780           src/backends/NetworkManagerDebian.c
3781           src/backends/NetworkManagerFrugalware.c
3782           src/backends/NetworkManagerGeneric.c
3783           src/backends/NetworkManagerGeneric.h
3784           src/backends/NetworkManagerGentoo.c
3785           src/backends/NetworkManagerMandriva.c
3786           src/backends/NetworkManagerPaldo.c
3787           src/backends/NetworkManagerRedHat.c
3788           src/backends/NetworkManagerSlackware.c
3789           src/backends/NetworkManagerSuSE.c
3790                 - Remove nm_system_device_add_route_via_device_with_iface()
3791
3792 2008-04-25  Dan Williams  <dcbw@redhat.com>
3793
3794         * system-settings/plugins/ifcfg-fedora/parser.c
3795                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3796
3797 2008-04-24  Dan Williams  <dcbw@redhat.com>
3798
3799         * dispatcher-daemon/NetworkManagerDispatcher.c
3800                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3801
3802 2008-04-24  Dan Williams  <dcbw@redhat.com>
3803
3804         * initscript/RedHat/NetworkManager.in
3805           initscript/RedHat/NetworkManagerDispatcher.in
3806                 - Be active at runlevel 2
3807                 - Adjust priorities earlier
3808
3809 2008-04-22  Dan Williams  <dcbw@redhat.com>
3810
3811         * src/NetworkManagerPolicy.c
3812                 - (update_routing_and_dns): when checking for a gateway, look at the
3813                         composite IP4 config, not the connection's ip4-config setting, which
3814                         doesn't include DHCP-returned information
3815
3816 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3817
3818         Implement GKeyFile system settings plugin.
3819         Implement writing system settings (currently supported only by GKeyFile plugin).
3820
3821         * system-settings/src/main.c: 
3822         * system-settings/src/dbus-settings.c: Move the communication with plugins
3823         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3824         plugins for adding/updating/removing connections.
3825
3826         * system-settings/src/nm-system-config-interface.c
3827         (nm_system_config_interface_add_connection): Implement
3828         (nm_system_config_interface_update_connection): Implement.
3829         (nm_system_config_interface_remove_connection): Implement.
3830
3831         * system-settings/plugins/keyfile/Makefile.am:
3832         * system-settings/plugins/keyfile/plugin.[ch]:
3833         * system-settings/plugins/keyfile/writer.[ch]:
3834         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3835
3836         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3837
3838         * configure.in: Generate GKeyFile Makefile.
3839
3840         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3841         corruption, need to duplicate the returned string.
3842         (impl_exported_connection_update): Implement.
3843         (impl_exported_connection_delete): Implement.
3844
3845         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3846
3847         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3848
3849 2008-04-22  Dan Williams  <dcbw@redhat.com>
3850
3851         Patch from Charles R. Anderson (cra@wpi.edu)
3852
3853         * src/NetworkManagerPolicy.c
3854                 - (update_routing_and_dns): don't select devices without a gateway
3855                         as having the default route (rh #437338)
3856
3857 2008-04-21  Dan Williams  <dcbw@redhat.com>
3858
3859         * src/nm-activation-request.c
3860           src/nm-activation-request.h
3861                 - (dispose): ensure to disconnect from the device's state-changed signal
3862                         when appropriate so the signal doesn't get handled by an already
3863                         disposed NMActRequest
3864                 - (device_state_changed): update is_default here too just to make sure
3865                         default is only True when the child device is activated
3866                 - (nm_act_request_set_default): new function
3867
3868         * src/NetworkManagerPolicy.c
3869                 - (update_routing_and_dns): set 'default' on the active connection which
3870                         has the default route and DNS
3871
3872 2008-04-21  Dan Williams  <dcbw@redhat.com>
3873
3874         * src/NetworkManagerPolicy.c
3875                 - (device_state_changed): update routing and DNS when a device goes
3876                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3877
3878 2008-04-21  Dan Williams  <dcbw@redhat.com>
3879
3880         * include/NetworkManager.h
3881                 - Add NMActiveConnectionState enum
3882
3883         * introspection/nm-active-connection.xml
3884           introspection/nm-vpn-connection.xml
3885                 - Add 'State' property for overall active connection state
3886                 - Add 'Default' property, when True means this active connection
3887                         has the default route
3888                 - Add PropertyChanged signals so changes actually go out over the bus
3889
3890         * src/nm-active-connection.h
3891                 - Add defines for State & Default properties
3892
3893         * src/nm-activation-request.c
3894                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3895                         signal to determine active connection state
3896
3897         * src/vpn-manager/nm-vpn-connection.c
3898           src/vpn-manager/nm-vpn-connection.h
3899           src/vpn-manager/nm-vpn-manager.c
3900           src/vpn-manager/nm-vpn-service.c
3901                 - Rename old 'state' to 'vpn-state'
3902                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3903                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3904                         'vpn-state-changed' signal
3905
3906         * libnm-glib/nm-active-connection.c
3907           libnm-glib/nm-active-connection.h
3908                 - Add new 'state' and 'default' properties and accessors
3909
3910         * libnm-glib/nm-vpn-connection.c
3911           libnm-glib/nm-vpn-connection.h
3912                 - Rename old 'state' property to 'vpn-state'
3913                 - Add new 'state' and 'default' properties and accessors
3914
3915 2008-04-21  Dan Williams  <dcbw@redhat.com>
3916
3917         * src/nm-ip4-config.c
3918                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3919                         not specified (rh #443474)
3920
3921 2008-04-20  Dan Williams  <dcbw@redhat.com>
3922
3923         * src/NetworkManagerUtils.c
3924           src/NetworkManagerUtils.h
3925                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3926                         NMSettingIP4Config to an NMIP4Config object
3927
3928         * src/nm-device.c
3929                 - (merge_ip4_config): move to NetworkManagerUtils.c
3930
3931         * src/vpn-manager/nm-vpn-connection.c
3932                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3933                         too
3934
3935 2008-04-18  Dan Williams  <dcbw@redhat.com>
3936
3937         * libnm-util/nm-setting-ppp.c
3938           libnm-util/nm-setting-ppp.h
3939                 - Add 'no-vj-comp' option for TCP header compression
3940                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3941                         uint32
3942
3943 2008-04-18  Dan Williams  <dcbw@redhat.com>
3944
3945         * libnm-util/nm-setting-ppp.c
3946           libnm-util/nm-setting-ppp.h
3947           src/ppp-manager/nm-ppp-manager.c
3948                 - Add 'refuse-pap' and 'refuse-mschapv2' options
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                 - Remove the 'usepeerdns' option and always request DNS servers from
3956                         the PPP server; the connection chooses to use/override/ignore the
3957                         DNS servers returned from the PPP server
3958
3959 2008-04-18  Dan Williams  <dcbw@redhat.com>
3960
3961         * libnm-util/nm-setting-ppp.c
3962           libnm-util/nm-setting-ppp.h
3963           src/ppp-manager/nm-ppp-manager.c
3964                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3965                         it seems to have been an erroneous addition to the PPTP plugin in
3966                         the first place (from which the ppp-manager is derived)
3967
3968 2008-04-17  Dan Williams  <dcbw@redhat.com>
3969
3970         * libnm-util/nm-setting-pppoe.c
3971                 - (verify): require a PPP setting too
3972
3973         * src/ppp-manager/nm-ppp-manager.c
3974                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3975                         segfaulting
3976
3977 2008-04-17  Dan Williams  <dcbw@redhat.com>
3978
3979         * src/nm-device.c
3980                 - (nm_device_state_changed): do deactivation and and promotion to
3981                         unavailable here, so that the device gets cleaned up before the
3982                         manager runs and starts emitting signals; do the
3983                         FAILED->DISCONNECTED transition from an idle handler rather than
3984                         immediately to guard against recursion
3985                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3986                         FAILED->DISCONNECTED handler if it's scheduled
3987
3988 2008-04-17  Dan Williams  <dcbw@redhat.com>
3989
3990         * src/nm-device-802-11-wireless.c
3991                 - (state_changed_cb): clear AP list when device transitions to
3992                         unavailable or unmanaged
3993                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3994                         since this is already done in device_cleanup()
3995                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3996                         isn't available or managed
3997                 - (device_cleanup): use remove_all_aps()
3998                 - (remove_all_aps): consolidate code removing all APs
3999
4000 2008-04-17  Dan Williams  <dcbw@redhat.com>
4001
4002         * src/nm-serial-device.c
4003           src/nm-serial-device.h
4004                 - (wait_for_reply_got_data): break input into lines, and search each
4005                         line for responses _and_ terminator strings; also make sure that
4006                         the read loop doesn't continue after the timeout is supposed to fire
4007                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4008
4009         * src/nm-gsm-device.c
4010           src/nm-cdma-device.c
4011                 - Send terminators to nm_serial_device_wait_for_reply()
4012
4013 2008-04-16  Dan Williams  <dcbw@redhat.com>
4014
4015         Patch from 陈鑫 <znscnchen@gmail.com>
4016
4017         * src/ppp-manager/nm-pppd-plugin.c
4018                 - (get_credentials): return correct value for success; handle case where
4019                         pppd just does some checking but doesn't want a password
4020                 - (plugin_init): make CHAP work too
4021
4022 2008-04-16  Dan Williams  <dcbw@redhat.com>
4023
4024         Patch from 陈鑫 <znscnchen@gmail.com>
4025
4026         * src/ppp-manager/nm-ppp-manager.c
4027                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4028
4029 2008-04-16  Dan Williams  <dcbw@redhat.com>
4030
4031         Patch from 陈鑫 <znscnchen@gmail.com>
4032
4033         * src/nm-device-802-3-ethernet.c
4034                 - (real_deactivate_quickly): clear the IP interface name on
4035                         deactivation, otherwise the wrong interface might get used later
4036                         for routing and IP management
4037
4038 2008-04-15  Dan Williams  <dcbw@redhat.com>
4039
4040         * libnm-glib/nm-device.c
4041                 - (get_product_and_vendor): handle serial devices correctly
4042                 - (nm_device_update_description): pass device to get_product_and_vendor()
4043
4044 2008-04-15  Dan Williams  <dcbw@redhat.com>
4045
4046         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4047
4048         * src/NetworkManagerSystem.h
4049           src/backends/NetworkManagerArch.c
4050           src/backends/NetworkManagerDebian.c
4051           src/backends/NetworkManagerFrugalware.c
4052           src/backends/NetworkManagerGeneric.c
4053           src/backends/NetworkManagerGeneric.h
4054           src/backends/NetworkManagerGentoo.c
4055           src/backends/NetworkManagerMandriva.c
4056           src/backends/NetworkManagerPaldo.c
4057           src/backends/NetworkManagerRedHat.c
4058           src/backends/NetworkManagerSlackware.c
4059           src/backends/NetworkManagerSuSE.c
4060           src/nm-device.c
4061                 - (nm_generic_device_add_ip6_link_address,
4062                    nm_system_device_add_ip6_link_address): remove
4063
4064 2008-04-15  Dan Williams  <dcbw@redhat.com>
4065
4066         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4067
4068         * src/backends/NetworkManagerArch.c
4069           src/backends/NetworkManagerDebian.c
4070           src/backends/NetworkManagerFrugalware.c
4071           src/backends/NetworkManagerGeneric.c
4072           src/backends/NetworkManagerGeneric.h
4073           src/backends/NetworkManagerGentoo.c
4074           src/backends/NetworkManagerMandriva.c
4075           src/backends/NetworkManagerPaldo.c
4076           src/backends/NetworkManagerRedHat.c
4077           src/backends/NetworkManagerSlackware.c
4078           src/backends/NetworkManagerSuSE.c
4079           src/NetworkManagerSystem.h
4080                 - flush_routes -> flush_ip4_routes
4081                 - flush_addresses -> flush_ip4_addresses
4082
4083         * src/NetworkManagerSystem.c
4084           src/nm-device.c
4085           src/vpn-manager/nm-vpn-connection.c
4086                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4087
4088 2008-04-15  Dan Williams  <dcbw@redhat.com>
4089
4090         Remove exposure of wireless-tools mode types in the API.
4091
4092         * include/NetworkManager.h
4093                 - Define NM80211Mode enum
4094
4095         * introspection/generic-types.xml
4096                 - Describe NM_802_11_MODE enum
4097                 - Remove IW_MODE_* enum
4098
4099         * introspection/nm-access-point.xml
4100           libnm-glib/nm-access-point.c
4101           libnm-glib/nm-access-point.h
4102                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4103
4104         * introspection/nm-device-802-11-wireless.xml
4105           libnm-glib/nm-device-802-11-wireless.c
4106           libnm-glib/nm-device-802-11-wireless.h
4107                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4108
4109         * libnm-util/nm-setting-wireless.c
4110           src/NetworkManagerAP.c
4111           src/NetworkManagerAP.h
4112           src/nm-device-802-11-wireless.c
4113           src/nm-device-802-11-wireless.h
4114           test/nm-tool.c
4115                 - Use NM80211Mode not IW_MODE_*
4116
4117 2008-04-15  Dan Williams  <dcbw@redhat.com>
4118
4119         Enhance nm-online based on a patch from Bill Nottingham.
4120
4121         * test/nm-online.c
4122                 - Add a '-q' option
4123                 - Add help messages and option summary
4124                 - Add long-format options
4125                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4126
4127 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4128
4129         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4130
4131         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4132
4133 2008-04-15  Dan Williams  <dcbw@redhat.com>
4134
4135         * nm-setting-ip4-config.c
4136                 - (ip4_addresses_from_gvalue): handle NULL address array
4137
4138         * nm-setting-8021x.c
4139                 - (verify_tls, verify_ttls): warn on failed verification
4140
4141 2008-04-10  Dan Williams  <dcbw@redhat.com>
4142
4143         * src/nm-gsm-device.c
4144                 - (automatic_registration): accept "+CREG: 0,0"
4145                 - (automatic_registration_response): fail on "+CREG: 0,0"
4146
4147 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4148
4149         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4150
4151 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4152
4153         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4154         Make it compile again by commenting out broken code that at first didn't work and
4155         now didn't compile either.
4156
4157 2008-04-08  Dan Williams  <dcbw@redhat.com>
4158
4159         * libnm-glib/nm-object-cache.c
4160           libnm-glib/nm-settings.c
4161           src/dhcp-manager/nm-dhcp-manager.c
4162           system-settings/plugins/ifcfg-fedora/plugin.c
4163           system-settings/plugins/ifcfg-suse/plugin.c
4164           system-settings/src/nm-system-config-hal-manager.c
4165           libnm-util/nm-utils.c
4166                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4167                         not threadsafe anyway
4168
4169 2008-04-08  Dan Williams  <dcbw@redhat.com>
4170
4171         * system-settings/src/main.c
4172                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4173                         callbacks take a device type too
4174
4175 2008-04-08  Dan Williams  <dcbw@redhat.com>
4176
4177         The system settings service will now create a new default DHCP connection
4178         for wired devices that have no existing applicable connection.
4179
4180         * system-settings/src/nm-system-config-hal-manager.c
4181           system-settings/src/nm-system-config-hal-manager.h
4182                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4183
4184         * system-settings/src/dbus-settings.c
4185           system-settings/src/dbus-settings.h
4186                 - (nm_sysconfig_settings_get_connections): new function
4187                 - (nm_sysconfig_settings_is_device_managed): new function
4188
4189         * system-settings/src/main.c
4190                 - (load_stuff): check for wired devices that need a default connection
4191                 - (get_details_for_udi): get interface and MAC address from HAL
4192                 - (add_default_dhcp_connection): add a default connection for a wired
4193                         device if needed
4194                 - (device_added_cb, device_removed_cb): do the right thing with
4195                         wired devices and their default connections on HAL device events
4196
4197 2008-04-07  Dan Williams  <dcbw@redhat.com>
4198
4199         * libnm-glib/nm-device.c
4200           libnm-glib/nm-device.h
4201                 - Proxy the 'managed' property
4202
4203 2008-04-07  Dan Williams  <dcbw@redhat.com>
4204
4205         * src/nm-gsm-device.c
4206           src/nm-cdma-device.c
4207                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4208                         handler to transition to DISCONNECTED
4209
4210 2008-04-07  Dan Williams  <dcbw@redhat.com>
4211
4212         Patch from Bill Nottingham
4213
4214         * dispatcher-daemon/NetworkManagerDispatcher.c
4215                 - ignore backup/packaging crufy (rh #440143)
4216
4217 2008-04-07  Dan Williams  <dcbw@redhat.com>
4218
4219         * include/NetworkManager.h
4220                 - Remove the DOWN and CANCELLED device states
4221                 - Add UNMANAGED and UNAVAILABLE device states
4222                 - Document the device states
4223
4224         * introspection/nm-device.xml
4225           src/nm-device-interface.c
4226           src/nm-device-interface.h
4227                 - Add the 'managed' property
4228
4229         * test/nm-tool.c
4230                 - (detail_device): print out device state
4231
4232         * src/NetworkManagerSystem.h
4233           src/backends/NetworkManagerArch.c
4234           src/backends/NetworkManagerDebian.c
4235           src/backends/NetworkManagerFrugalware.c
4236           src/backends/NetworkManagerGentoo.c
4237           src/backends/NetworkManagerMandriva.c
4238           src/backends/NetworkManagerPaldo.c
4239           src/backends/NetworkManagerRedHat.c
4240           src/backends/NetworkManagerSlackware.c
4241           src/backends/NetworkManagerSuSE.c
4242                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4243                    nm_system_device_free_system_config): remove; they were unused and
4244                         their functionality should be re-implemented in each distro's
4245                         system settings service plugin 
4246
4247         * src/nm-gsm-device.c
4248           src/nm-gsm-device.h
4249           src/nm-cdma-device.c
4250           src/nm-cdma-device.h
4251                 - (*_new): take the 'managed' argument
4252
4253         * src/nm-device.c
4254                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4255                 - (nm_device_init): start in unmanaged state, not disconnected
4256                 - (constructor): don't start device until the system settings service
4257                         has had a chance to figure out if the device is managed or not
4258                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4259                         don't set device state here, let callers handle that as appropriate
4260                 - (nm_device_dispose): don't touch the device if it's not managed
4261                 - (set_property, get_property, nm_device_class_init): implement the
4262                         'managed' property
4263                 - (nm_device_state_changed): bring the device up if its now managed,
4264                         and deactivate it if it used to be active
4265                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4266                         with the managed state
4267
4268         * src/nm-hal-manager.c
4269                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4270                         take initial managed state and pass it along to device constructors
4271                 - (create_device_and_add_to_list): get managed state and pass to
4272                         type creators
4273
4274         * src/nm-device-802-11-wireless.c
4275                 - (real_can_activate): fold in most of
4276                         nm_device_802_11_wireless_can_activate()
4277                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4278                 - (link_timeout_cb): instead of deactivating, change device state and
4279                         let the device state handler to it
4280                 - (real_update_hw_address): clean up
4281                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4282                         handler to transition to DISCONNECTED if the device isn't rfkilled
4283
4284         * src/nm-device-802-3-ethernet.c
4285                 - (set_carrier): move above callers and get rid of prototype
4286                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4287                         idle handler to transition to DISCONNECTED if the device has a
4288                         carrier
4289                 - (real_update_hw_address): clean up
4290                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4291                         deactivation directly as deactivation doesn't change state anymore
4292
4293         * src/NetworkManagerPolicy.c
4294                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4295                         the NMManager and wireless devices work that out themselves now
4296                 - (device_state_changed): change to a switch and update for new device
4297                         states
4298                 - (device_carrier_changed): remove; device handles this now through
4299                         state changes
4300                 - (device_added): don't care about carrier any more; the initial
4301                         activation check will happen when the device transitions to
4302                         DISCONNECTED
4303
4304         * src/nm-manager.c
4305                 - (dispose): clear unmanaged devices
4306                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4307                         the managed property on each device when needed
4308                 - (system_settings_properties_changed_cb): handle signals from the
4309                         system settings service
4310                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4311                         getting the unmanaged device list method call
4312                 - (query_unmanaged_devices): ask the system settings service for its
4313                         list of unmanaged devices
4314                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4315                         devices
4316                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4317                         devices directly and let them handle the necessary state transitions
4318                 - (manager_device_state_changed): update for new device states
4319                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4320                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4321                 - (nm_manager_activate_connection): return error if the device is
4322                         unmanaged
4323                 - (nm_manager_sleep): handle new device states correctly; don't change
4324                         the state of unavailable/unmanaged devices
4325
4326         * libnm-glib/nm-device-802-11-wireless.c
4327                 - (state_changed_cb): update for new device states
4328
4329 2008-04-07  Dan Williams  <dcbw@redhat.com>
4330
4331         * marshallers/nm-marshal.list
4332                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4333
4334 2008-04-07  Dan Williams  <dcbw@redhat.com>
4335
4336         * system-settings/src/main.c
4337                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4338                         plugins to the dbus settings object
4339                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4340                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4341                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4342                 - (main): switch default logging to syslog with a 'debug' option to
4343                         output to console; start up the HAL manager
4344
4345 2008-04-07  Dan Williams  <dcbw@redhat.com>
4346
4347         * introspection/nm-settings-system.xml
4348           introspection/Makefile.am
4349                 - Define the unmanaged devices interface for the system settings service
4350
4351         * system-settings/src/nm-system-config-hal-manager.c
4352           system-settings/src/nm-system-config-hal-manager.h
4353           system-settings/src/nm-system-config-hal-manager-private.h
4354           system-settings/src/Makefile.am
4355                 - Add a lightweight HAL manager object for tracking network devices for
4356                         the purpose of determining unmanaged devices and which devices need
4357                         the default DHCP connections
4358
4359         * system-settings/src/nm-system-config-interface.c
4360           system-settings/src/nm-system-config-interface.h
4361                 - (nm_system_config_interface_init): add the HAL manager as an argument
4362                 - (nm_system_config_interface_get_unmanaged_devices): implement
4363                 - Define 'unmanaged-devices-changed' signal
4364
4365         * system-settings/src/dbus-settings.c
4366           system-settings/src/dbus-settings.h
4367                 - Implement the unmanaged devices interface; some cleanups
4368
4369         * system-settings/plugins/ifcfg-suse/plugin.c
4370                 - Fixup for plugin interface changes
4371
4372         * system-settings/plugins/ifcfg-fedora/plugin.c
4373                 - (get_ether_device_udi): new function; find the device that has
4374                         a specified MAC address and return its UDI
4375                 - (get_udi_for_connection): new function; try to find the specific
4376                         device a connection is locked to, if any
4377                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4378                         response to HAL events
4379                 - (get_unmanaged_devices): new function; return unmanaged device list
4380                 - (build_one_connection): set the connection's locked device, if any
4381                 - (write_auto_wired_connection): remove
4382                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4383                 - (handle_connection_changed): alert listeners that the unmanaged device
4384                         list has changed
4385                 - (init): fixup for plugin interface changes, implement unmanaged devices
4386
4387         * system-settings/plugins/ifcfg-fedora/parser.c
4388           system-settings/plugins/ifcfg-fedora/parser.h
4389                 - (connection_data_free): clean up connection UDI
4390
4391 2008-04-07  Dan Williams  <dcbw@redhat.com>
4392
4393         * system-settings/plugins/ifcfg-fedora/parser.c
4394                 - (make_ip4_setting): fix parsing of DNS servers
4395
4396 2008-04-05  Dan Williams  <dcbw@redhat.com>
4397
4398         * Makefile.am
4399           configure.in
4400           marshallers/Makefile.am
4401           marshallers/nm-marshal-main.c
4402           marshallers/nm-marshal.list
4403                 - Consolidate marshallers
4404
4405         * libnm-glib/nm-marshal-main.c
4406           libnm-glib/nm-marshal.list
4407           src/marshallers/Makefile.am
4408           src/marshallers/nm-marshal-main.c
4409           src/marshallers/nm-marshal.list
4410                 - Remove
4411
4412         * libnm-glib/Makefile.am
4413           src/Makefile.am
4414           src/dhcp-manager/Makefile.am
4415           src/ppp-manager/Makefile.am
4416           src/supplicant-manager/Makefile.am
4417           src/vpn-manager/Makefile.am
4418                 - Use consolidated marshallers
4419
4420 2008-04-04  Dan Williams  <dcbw@redhat.com>
4421
4422         * src/nm-hal-manager.c
4423           src/nm-hal-manager.h
4424                 - (hal_init): don't look for hardware here
4425                 - (nm_hal_manager_start): new function; look for hardware here instead,
4426                         which can be done at a later time than hal_init()
4427
4428         * src/NetworkManager.c
4429                 - (main): start HAL manager after entering the main loop
4430
4431 2008-04-03  Dan Williams  <dcbw@redhat.com>
4432
4433         * libnm-glib/nm-settings.c
4434           libnm-glib/nm-settings.h
4435             - (nm_exported_connection_get_id): new function
4436                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4437
4438 2008-04-02  Dan Williams  <dcbw@redhat.com>
4439
4440         * src/nm-device-interface.c
4441           src/nm-device-interface.h
4442           src/nm-device.c
4443           src/nm-device.h
4444                 - Rename check_connection_conflicts() to check_connection_compatible()
4445
4446         * src/nm-device-802-11-wireless.c
4447                 - (real_check_connection_conflicts): remove
4448                 - (real_check_connection_compatible): implement; match MAC address
4449
4450         * src/nm-device-802-3-ethernet.c
4451                 - (real_check_connection_conflicts): remove
4452                 - (real_check_connection_compatible): implement; match MAC address
4453                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4454
4455         * src/nm-manager.c
4456                 - (check_connection_allowed): remove; unused until PolicyKit integration
4457                 - (internal_activate_device): check whether the connection is compatible
4458                         with the device before trying to activate it
4459
4460 2008-04-02  Dan Williams  <dcbw@redhat.com>
4461
4462         * system-settings/plugins/ifcfg-fedora/parser.c
4463                 - (read_mac_address): new function; read in MAC address and stuff it
4464                         into the connection
4465                 - (add_one_wep_key): remove debug spew
4466                 - (make_wireless_security_setting): validate the default TX key; don't
4467                         add the wireless-security setting if the connection doesn't need
4468                         security; don't leak the keys shvarFile on error cases
4469                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4470                         address
4471
4472 2008-04-02  Dan Williams  <dcbw@redhat.com>
4473
4474         * libnm-util/nm-setting-connection.c
4475           libnm-util/nm-setting-connection.h
4476                 - (set_property, get_property, nm_setting_connection_class_init): remove
4477                         the 'lockdown' property; it's functionality will be replaced by
4478                         PolicyKit instead
4479
4480 2008-04-01  Dan Williams  <dcbw@redhat.com>
4481
4482         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4483
4484         * configure.in
4485           initscript/Makefile.am
4486           initscript/Mandriva/Makefile.am
4487           initscript/Mandriva/networkmanager.in
4488           initscript/Mandriva/networkmanagerdispatcher.in
4489           src/backends/Makefile.am
4490           src/backends/NetworkManagerMandriva.c
4491           system-settings/plugins/Makefile.am
4492                 - Add Mandriva support
4493
4494 2008-03-31  Dan Williams  <dcbw@redhat.com>
4495
4496         * src/vpn-manager/nm-vpn-service.c
4497                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4498                         errors can be passed back to the caller; also no longer scheduled
4499                         as an idle handler, but called directly; and bump up VPN service
4500                         spawn timeout, 2s is really short
4501                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4502                         but call it directly so that errors are reported on return from
4503                         ActivateConnection() and don't get lost.  If scheduled as an idle
4504                         handler, clients don't have the time to query NM for the new VPN
4505                         connection's properties before the VPN connection is torn down again
4506                         if the service couldn't be launched, and therefore launch errors
4507                         get lost.
4508
4509 2008-03-31  Dan Williams  <dcbw@redhat.com>
4510
4511         * src/vpn-manager/nm-vpn-connection.c
4512                 - (device_state_changed): send correct state on device failure too
4513                 - (plugin_state_changed): failed state means unexpected disconnection,
4514                         thus if the service goes away while the VPN connection is activated
4515                         that's a failure too
4516
4517 2008-03-31  Dan Williams  <dcbw@redhat.com>
4518
4519         * src/vpn-manager/nm-vpn-manager.c
4520           src/vpn-manager/nm-vpn-manager.h
4521                 - Make VPNManager errors more available; add a service-start-failed error
4522
4523 2008-03-31  Dan Williams  <dcbw@redhat.com>
4524
4525         * libnm-glib/nm-client.c
4526           libnm-glib/nm-client.h
4527                 - (activate_cb): pass the new active connection to callback; fix
4528                         message when no callback is specified
4529
4530 2008-03-30  Dan Williams  <dcbw@redhat.com>
4531
4532         * libnm-util/nm-setting-wireless-security.c
4533                 - (need_secrets): only require key0 if the transmit key index is also
4534                         0
4535                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4536
4537 2008-03-29  Dan Williams  <dcbw@redhat.com>
4538
4539         * libnm-util/nm-setting-8021x.c
4540           libnm-util/nm-setting-ip4-config.c
4541           libnm-util/nm-setting-vpn-properties.c
4542           libnm-util/nm-setting-vpn.c
4543           libnm-util/nm-setting-wireless-security.c
4544           libnm-util/nm-setting-wireless.c
4545           libnm-util/nm-utils.c
4546           src/dhcp-manager/nm-dhcp-manager.c
4547           src/nm-activation-request.c
4548           src/nm-ip4-config.c
4549           src/nm-manager.c
4550           src/nm-properties-changed-signal.c
4551           src/ppp-manager/nm-pppd-plugin.c
4552           src/supplicant-manager/nm-supplicant-interface.c
4553           src/vpn-manager/nm-vpn-connection.c
4554                 - consistently use nm-dbus-glib-types.h
4555
4556 2008-03-29  Dan Williams  <dcbw@redhat.com>
4557
4558         * src/vpn-manager/nm-vpn-connection.c
4559                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4560                         not string
4561
4562         * src/nm-activation-request.c
4563                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4564                         not string
4565
4566 2008-03-29  Dan Williams  <dcbw@redhat.com>
4567
4568         * libnm-glib/nm-device-802-11-wireless.c
4569                 - (access_point_added_proxy): create new APs if not found
4570
4571 2008-03-29  Dan Williams  <dcbw@redhat.com>
4572
4573         * libnm-glib/nm-client.c
4574                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4575                         before freeing them
4576
4577 2008-03-29  Dan Williams  <dcbw@redhat.com>
4578
4579         * system-settings/plugins/ifcfg-fedora/parser.c
4580                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4581                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4582
4583 2008-03-29  Dan Williams  <dcbw@redhat.com>
4584
4585         * system-settings/plugins/ifcfg-fedora/parser.c
4586                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4587
4588 2008-03-27  Dan Williams  <dcbw@redhat.com>
4589
4590         * nm-object.c
4591                 - (nm_object_queue_notify): don't notify multiple times for the same
4592                         property
4593
4594         * nm-object-private.h
4595                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4596                         if it has zero elements
4597
4598         * nm-ip4-config.c
4599                 - (finalize): use g_ptr_array_foreach() when freeing domains
4600                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4601
4602         * nm-active-connection.c
4603                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4604
4605         * nm-device-802-11-wireless.c
4606           nm-device-802-11-wireless.h
4607                 - (nm_device_802_11_wireless_get_access_points): return const; use
4608                         handle_ptr_array_return()
4609
4610         * nm-types.c
4611                 - (nm_object_array_demarshal): always create an array, even of length
4612                         zero, to distinguish between "NM returned no items" and "haven't
4613                         asked NM yet"
4614
4615         * nm-client.c
4616                 - (dispose): free active connections too
4617                 - (proxy_name_owner_changed): free active connections too when NM goes
4618                         away
4619                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4620                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4621
4622 2008-03-26  Dan Williams  <dcbw@redhat.com>
4623
4624         Rework VPN connection handling for a more consistent D-Bus API.  The
4625         VPNManager object has been removed, and active VPN connections are now the
4626         same as any other active connection.  The Manager object's ActivateConnection
4627         and DeactivateConnection methods are used to start and stop a VPN connection,
4628         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4629         When activating a VPN connection, pass the path of the active connection
4630         to which the VPN connection is tied in the 'specific_object' argument.
4631
4632         Consequently, the libnm-glib API has been reworked to match this arrangement,
4633         with the VPNManager object removed, and the NMVPNConnection objects now
4634         being subclasses of NMActiveConnection.
4635
4636 2008-03-25  Dan Williams  <dcbw@redhat.com>
4637
4638         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4639
4640         * initscript/Arch/networkmanager.in
4641           initscript/Arch/networkmanager-dispatcher.in
4642                 - Updates for Arch Linux (gnome.org #523701)
4643
4644 2008-03-25  Dan Williams  <dcbw@redhat.com>
4645
4646         * libnm-glib/nm-ip4-config.c
4647           libnm-glib/nm-active-connection.c
4648           libnm-glib/nm-access-point.c
4649                 - Use nm_object_queue_notify() instead of g_object_notify()
4650
4651         * libnm-glib/nm-device.c
4652                 - (demarshal_ip4_config): distinguish between successful but missing
4653                         ip4-config request, and unsuccessful and missing ip4-config request
4654                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4655                         path
4656                 - Use nm_object_queue_notify() instead of g_object_notify()
4657
4658         * libnm-glib/nm-device-802-11-wireless.c
4659                 - (demarshal_active_ap): distinguish between successfull but missing
4660                         active-ap request, and unsuccessful and missing active-ap request
4661                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4662                         code
4663                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4664                         for the NMClient to notify the device that wireless is disabled,
4665                         and therefore to clear the AP list and active AP
4666                 - Use nm_object_queue_notify() instead of g_object_notify()
4667
4668         * libnm-glib/nm-client.c
4669                 - (poke_wireless_devices_with_rf_status): new function
4670                 - (update_wireless_status): notify wireless devices of the rfkill status
4671                         so they can clean up if needed
4672                 - Use nm_object_queue_notify() instead of g_object_notify()
4673
4674 2008-03-25  Dan Williams  <dcbw@redhat.com>
4675
4676         * libnm-glib/nm-object.c
4677           libnm-glib/nm-object-private.h
4678                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4679                         signals to an idle handler
4680                 - (nm_object_get_property): add a timeout to the D-Bus method call
4681
4682 2008-03-25  Dan Williams  <dcbw@redhat.com>
4683
4684         * introspection/nm-device-cdma.xml
4685           introspection/nm-device-gsm.xml
4686           introspection/Makefile.am
4687           introspection/all.xml
4688                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4689
4690         * src/nm-gsm-device.h
4691           src/nm-gsm-device.c
4692           src/nm-cdma-device.h
4693           src/nm-cdma-device.c
4694           src/Makefile.am
4695                 - Implement PropertiesChanged signals
4696
4697         * libnm-glib/nm-cdma-device.c
4698           libnm-glib/nm-cdma-device.c
4699                 - Attach to PropertiesChanged signals
4700
4701 2008-03-24  Dan Williams  <dcbw@redhat.com>
4702
4703         * libnm-glib/nm-client.c
4704                 - (client_device_added_proxy): add new devices to the internal device
4705                         list so they appear to clients
4706
4707 2008-03-24  Dan Williams  <dcbw@redhat.com>
4708
4709         Massive fixup of libnm-glib to:
4710         a) have all objects (with the exception of VPN) cache their properties and
4711                 update them asynchronously on PropertiesChanged signals from NM
4712         b) return internal const data for most attributes/properties instead of
4713                 allocated values that the caller must free
4714         c) cache wrapped objects such that a given D-Bus path will always map to the
4715                 same GObject returned by libnm-glib
4716         d) remove a few signals and move them to GObject property notifications
4717         e) match recent NM D-Bus API changes for activation/deactivation
4718         f) remove some private functions from libnm-glib headers
4719
4720 2008-03-20  Dan Williams  <dcbw@redhat.com>
4721
4722         * src/nm-manager.c
4723                 - (nm_manager_update_state, manager_device_state_changed,
4724                    nm_manager_activate_device, connection_added_default_handler,
4725                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4726                         queue PropertyChanged singals when the active connections change
4727
4728 2008-03-20  Dan Williams  <dcbw@redhat.com>
4729
4730         * introspection/nm-manager.xml
4731           introspection/nm-manager-client.xml
4732                 - (ActivateConnection): return the object path of the active connection
4733                         on success
4734                 - (GetActiveConnections): remove
4735                 - (DeactivateConnection): new function; deactivate a currently active
4736                         connection
4737                 - Add an ActiveConnections property which returns an array of
4738                         active connection object paths
4739
4740         * introspection/nm-device.xml
4741                 - (Deactivate): remove
4742
4743         * introspection/all.xml
4744                 - Add ActiveConnection introspection
4745
4746         * introspection/nm-active-connection.xml
4747                 - Add the ActiveConnection object
4748
4749         * include/NetworkManager.h
4750                 - Add the Connection.Active D-Bus interface
4751
4752         * src/nm-device-interface.c
4753                 - (impl_device_deactivate): remove
4754
4755         * src/nm-activation-request.c
4756           src/nm-activation-request.c
4757           src/Makefile.am
4758                 - Implement the Connection.Active D-Bus interface
4759
4760         * src/nm-manager.c
4761                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4762                 - (nm_manager_activate_device): return the active connection path
4763                 - (connection_added_default_handler, impl_manager_activate_connection):
4764                         return the active connection to the caller
4765                 - (add_one_connection_element, impl_manager_get_active_connections):
4766                         remove
4767                 - (impl_manager_deactivate_connection): new function; deactivate an
4768                         active connection
4769
4770         * libnm-glib/nm-device.c
4771           libnm-glib/nm-device.h
4772                 - Remove Deactivate() function
4773
4774 2008-03-19  Dan Williams  <dcbw@redhat.com>
4775
4776         * introspection/nm-manager.xml
4777           introspection/nm-manager-client.xml
4778                 - Rename the ActivateDevice method to ActivateConnection to better
4779                         reflect it's usage; it's arguments get reordered a bit too
4780                 - Convert GetActiveConnections method return from a struct to a dict
4781
4782         * include/NetworkManager.h
4783                 - Define the dict keys for return value of GetActiveConnections
4784
4785         * src/nm-manager.c
4786                 - impl_manager_activate_device -> impl_manager_activate_connection
4787                 - (add_one_connection_element): return a populated hash table, not
4788                         a structure
4789
4790         * libnm-glib/nm-client.c
4791           libnm-glib/nm-client.h
4792                 - nm_client_activate_device -> nm_client_activate_connection
4793                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4794                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4795                         instead of the custom structures.  Each element of the returned list
4796                         must be freed with nm_client_free_active_connections_element()
4797
4798 2008-03-18  Dan Williams  <dcbw@redhat.com>
4799
4800         * system-settings/plugins/ifcfg-fedora/parser.c
4801           system-settings/plugins/ifcfg-fedora/parser.h
4802           system-settings/plugins/ifcfg-fedora/plugin.c
4803                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4804                         profiles.  DNS servers and searches must now be stored in the ifcfg
4805                         files themselves
4806
4807 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4808
4809         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4810         print out username and password, it's supposed to be a secret.
4811
4812         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4813         request and set the device state accordingly.
4814
4815 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4816
4817         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4818
4819         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4820
4821 2008-03-18  Dan Williams  <dcbw@redhat.com>
4822
4823         * src/vpn-manager/nm-vpn-connection.c
4824                 - (get_secrets_cb): handle new GetSecrets return format
4825
4826 2008-03-18  Dan Williams  <dcbw@redhat.com>
4827
4828         Adapt system settings service for split 802.1x.
4829
4830         * system-settings/src/nm-system-config-interface.h
4831                 - clarify return value of get_secrets()
4832
4833         * system-settings/src/dbus-settings.c
4834                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4835                 - (check_for_secrets): check if there actually secrets returned by a
4836                         plugin
4837                 - (exported_connection_get_secrets): just return the plugin-returned
4838                         hash of settings' secrets if it looks valid
4839
4840         * system-settings/plugins/ifcfg-fedora/plugin.c
4841                 - (get_secrets): add split secrets with correct format to reply hash
4842
4843         * system-settings/plugins/ifcfg-fedora/parser.c
4844           system-settings/plugins/ifcfg-fedora/parser.h
4845                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4846                    connection_data_free, connection_data_add): keep secrets for
4847                         different settings in different hashes
4848
4849 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4850
4851         Clean up activating device deactivation.
4852
4853         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4854         should be done whether the device activation gets cancelled or the device
4855         is just getting deactivated.
4856         (nm_device_activation_cancel): Remove.
4857         (nm_device_deactivate_quickly): Handle the case where device is activating.
4858
4859         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4860         It does the exact same thing as real_deactivate_quickly().
4861
4862 2008-03-17  Dan Williams  <dcbw@redhat.com>
4863
4864         Split the 802.1x bits out of the wireless-security setting so they are
4865         generalized enough for wired 802.1x to use too.
4866
4867         * introspection/nm-exported-connection.xml
4868                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4869                         of just a hash of the secrets for one setting
4870
4871         * libnm-util/nm-setting-wireless-security.c
4872           libnm-util/nm-setting-wireless-security.h
4873                 - Remove 802.1x-specific stuff
4874                 - Added leap-username and leap-password properties for old-school LEAP
4875
4876         * src/nm-device.c
4877           src/nm-device.h
4878                 - (connection_secrets_updated_cb): take a list of updated settings names,
4879                         not just one
4880
4881         * src/supplicant-manager/nm-supplicant-config.c
4882           src/supplicant-manager/nm-supplicant-config.h
4883                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4884                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4885                         to nm_supplicant_config_add_setting_8021x()
4886                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4887                         the supplicant config
4888
4889         * src/nm-device-802-11-wireless.c
4890                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4891                 - (real_connection_secrets_updated): take a list of updated settings
4892                         names, not just one
4893
4894         * src/nm-device-802-3-ethernet.c
4895           src/nm-cdma-device.c
4896           src/nm-gsm-device.c
4897                 - (real_connection_secrets_updated_cb): take a list of updated settings
4898                         names, not just one
4899
4900         * src/nm-activation-request.c
4901           src/nm-activation-request.h
4902                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4903                         now passes a list of updated settings names, not just one
4904                 - (update_one_setting): new function; handle one updated setting
4905                 - (get_secrets_cb): handle multiple settings returned from the
4906                         settings service; have to be careful of ordering here as there are
4907                         some dependencies between settings (ex. wireless-security and 802.1x
4908                         in some cases)
4909
4910         * src/marshallers/nm-marshal.list
4911                 - new marshaller for connection-secrets-updated signal
4912
4913         * libnm-util/nm-setting-8021x.c
4914                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4915                         methods
4916                 - (verify): a valid 'eap' property is now required
4917
4918         * libnm-util/nm-connection.c
4919                 - (register_default_settings): add priorities to settings; there are
4920                         some dependencies between settings, and during the need_secrets
4921                         calls this priority needs to be respected.  For example, only the
4922                         wireless-security setting knows whether or not the connection is
4923                         going to use 802.1x or now, so it must be asked for secrets before
4924                         any existing 802.1x setting is
4925                 - (nm_connection_lookup_setting_type): expose
4926
4927         * libnm-util/nm-setting-wireless.c
4928                 - (verify): should verify even if all_settings is NULL; otherwise won't
4929                         catch the case where there is missing security
4930
4931         * libnm-util/nm-setting-wireless-security.c
4932                 - Remove everything to do with 802.1x
4933                 - Add old-school LEAP specific properties for username and password
4934                 - (need_secrets): rework LEAP secrets checking
4935                 - (verify): rework for LEAP and 802.1x verification
4936
4937 2008-03-17  Dan Williams  <dcbw@redhat.com>
4938
4939         * src/NetworkManagerPolicy.c
4940                 - (auto_activate_device): always remove the current activation check
4941                         from the pending activation list, otherwise when the policy gets
4942                         destroyed on NM exit it will attempt to free the already freed
4943                         activation check
4944
4945 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4946
4947         * src/backends/NetworkManagerSlackware.c 
4948         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4949
4950         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4951
4952 2008-03-14  Dan Williams  <dcbw@redhat.com>
4953
4954         * src/nm-manager.c
4955                 - (nm_device_interface_get_iface): g_object_get() will return an
4956                         allocated value, so this function must not return const
4957                 - (nm_device_interface_activate): free returned iface
4958
4959 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4960
4961         * libnm-util/Makefile.am: Add new files to build.
4962
4963         * libnm-util/nm-connection.c: Register NMSetting8021x.
4964
4965         * libnm-util/nm-setting-8021x.c
4966         * libnm-util/nm-setting-8021x.h: Implement.
4967
4968 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4969
4970         * libnm-util/Makefile.am: Add new files to build.
4971
4972         * libnm-util/nm-connection.c: Register NMSetting8021x.
4973
4974         * libnm-util/nm-setting-8021x.c
4975         * libnm-util/nm-setting-8021x.h: Implement.
4976
4977 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4978
4979         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4980         data.
4981
4982 2008-03-14  Dan Williams  <dcbw@redhat.com>
4983
4984         * include/wireless-helper.h
4985           include/Makefile.am
4986                 - One place for all the junk needed for #including wireless.h
4987
4988         * test/nm-tool.c
4989           src/NetworkManagerAP.c
4990           src/wpa.c
4991           src/Makefile.am
4992           libnm-util/nm-utils.c
4993           libnm-util/nm-setting-wireless.c
4994           libnm-glib/nm-device-802-11-wireless.c
4995           libnm-glib/nm-access-point.c
4996           libnm-glib/libnm-glib-test.c
4997                 - include wireless-helper.h, not iwlib.h
4998
4999         * configure.in
5000                 - Don't need libiw really, just need to check for wireless.h
5001
5002         * src/kernel-types.h
5003                 - Remove; used types moved into wpa.c
5004
5005         * src/nm-device-802-11-wireless.c
5006                 - (nm_device_802_11_wireless_update_signal_strength,
5007                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5008                    nm_device_802_11_wireless_set_mode,
5009                    nm_device_802_11_wireless_get_frequency,
5010                    nm_device_802_11_wireless_get_ssid,
5011                    nm_device_802_11_wireless_set_ssid,
5012                    nm_device_802_11_wireless_get_bitrate,
5013                    nm_device_802_11_wireless_get_bssid,
5014                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5015                         instead of iwlib functions
5016
5017 2008-03-14  Dan Williams  <dcbw@redhat.com>
5018
5019         * src/ppp-manager/nm-ppp-manager.c
5020                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5021                         should only take the DBusGMethodInvocation argument, not user/pass
5022                         too.  With dbus-glib, async functions only take 2 C arguments since
5023                         the real dbus method arguments get passed back with
5024                         dbus_g_method_return()
5025
5026 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5027
5028         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5029         Adapt the changes of NMSettingIP4Config.
5030
5031 2008-03-13  Dan Williams  <dcbw@redhat.com>
5032
5033         * src/NetworkManagerUtils.c
5034           src/NetworkManagerUtils.h
5035                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5036
5037         * src/NetworkManagerAP.c
5038           src/nm-device-802-11-wireless.c
5039           src/nm-device-802-3-ethernet.c
5040                 - s/iw_ether_ntop/nm_ether_ntop/g
5041
5042 2008-03-13  Dan Williams  <dcbw@redhat.com>
5043
5044         * src/NetworkManagerPolicy.c
5045                 - (update_routing_and_dns): never set the default route through an
5046                         IPv4LL addressed device
5047
5048 2008-03-13  Dan Williams  <dcbw@redhat.com>
5049
5050         * NetworkManagerUtils.c
5051           NetworkManagerUtils.h
5052                 - Remove NMSock stuff
5053                 - Remove the completion stuff
5054
5055         * nm-device.c
5056           nm-device.h
5057           NetworkManager.c
5058           NetworkManagerSystem.c
5059           autoip.c
5060           nm-device-802-11-wireless.c
5061           nm-device-802-3-ethernet.c
5062                 - Remove NMSock and completion stuff
5063                 - Remove nm_ioctl_info()
5064
5065 2008-03-12  Dan Williams  <dcbw@redhat.com>
5066
5067         * src/nm-device.c
5068                 - (merge_ip4_config): avoid duplicates
5069
5070 2008-03-12  Dan Williams  <dcbw@redhat.com>
5071
5072         * libnm-util/nm-setting-ip4-config.c
5073           libnm-util/nm-setting-ip4-config.h
5074                 - Remove 'manual' and 'autoip' properties
5075                 - Add 'method' property
5076                 - (verify): fix verification with 'method'
5077                 - (finalize): free 'method'
5078                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5079                         up for 'method'
5080
5081         * src/nm-device.c
5082                 - (real_act_stage3_ip_config_start): check IP4Config method
5083                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5084                         the future
5085                 - (merge_ip4_config): IP settings are valid with DHCP too
5086                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5087                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5088
5089         * src/nm-device-802-11-wireless.c
5090                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5091                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5092                         only on demand
5093
5094         * system-settings/plugins/ifcfg-fedora/parser.c
5095           system-settings/plugins/ifcfg-suse/parser.c
5096                 - (make_ip4_setting): fix up for 'method'
5097
5098 2008-03-12  Dan Williams  <dcbw@redhat.com>
5099
5100         * system-settings/plugins/ifcfg-fedora/parser.c
5101           system-settings/plugins/ifcfg-fedora/parser.h
5102                 - (get_ifcfg_name): ignore more file suffixes
5103                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5104
5105 2008-03-12  Dan Williams  <dcbw@redhat.com>
5106
5107         * configure.in
5108                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5109
5110 2008-03-12  Dan Williams  <dcbw@redhat.com>
5111
5112         * system-settings/plugins/ifcfg-fedora/plugin.c
5113                 - (write_auto_wired_connection): new function; write out an auto
5114                         wired connection file since the applet isn't doing it any more
5115                 - (reload_all_connections): write out the auto wired connection file
5116                         if there aren't any wired connections already
5117                 - (init): don't leak a GError
5118
5119 2008-03-12  Dan Williams  <dcbw@redhat.com>
5120
5121         * src/nm-device-interface.c
5122                 - (nm_device_interface_activate): print the ID of the connection
5123                         that's about to be activated
5124
5125 2008-03-12  Dan Williams  <dcbw@redhat.com>
5126
5127         Harmonize the 802.11 bitrate API
5128
5129         * introspection/nm-access-point.xml
5130                 - 'Rate' -> 'MaxBitrate'; clarify units
5131
5132         * introspection/nm-device-802-11-wireless.xml
5133                 - Clarify units of 'Bitrate'
5134
5135         * src/NetworkManagerAP.c
5136           src/NetworkManagerAP.h
5137                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5138                         property to 'max-bitrate'
5139                 - (foreach_property_cb): convert rate to Kb/s
5140
5141         * src/nm-device-802-11-wireless.c
5142                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5143
5144         * libnm-glib/nm-access-point.c
5145           libnm-glib/nm-access-point.h
5146                 - 'rate' -> 'max-bitrate'
5147
5148         * test/nm-tool.c
5149           libnm-glib/libnm-glib-test.c
5150                 - Fix up for these changes
5151
5152 2008-03-12  Dan Williams  <dcbw@redhat.com>
5153
5154         * src/nm-device.c
5155                 - (nm_device_set_ip4_config): don't send property notifications when
5156                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5157                         which dbus-glib can't parse because the value is NULL, which isn't
5158                         a legal object path.  Setting the IP4 config to NULL is only
5159                         valid when deactivating a device anyway, so the device state change
5160                         will alert listeners that the ip4 config is invalid.
5161
5162 2008-03-12  Dan Williams  <dcbw@redhat.com>
5163
5164         * src/nm-properties-changed-signal.c
5165                 - (add_to_string): better handling of NULL objects
5166
5167 2008-03-12  Dan Williams  <dcbw@redhat.com>
5168
5169         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5170         convert the libnm-glib NMDevice8023Ethernet to cached properties
5171
5172         * introspection/nm-device-802-3-ethernet.xml
5173                 - New 'Carrier' property
5174                 - New 'PropertiesChanged' signal
5175
5176         * introspection/nm-device.xml
5177                 - Remove 'Carrier' property
5178                 - Remove 'CarrierChanged' signal
5179
5180         * src/nm-device-interface.c
5181           src/nm-device-interface.h
5182                 - (nm_device_interface_init): remove 'carrier' property and
5183                         'carrier-changed' signal
5184
5185         * src/nm-device.c
5186           src/nm-device.h
5187                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5188                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5189                         the link here; wired device will handle that
5190                 - (handle_dhcp_lease_change): don't bother updating link here
5191                 - (get_property, nm_device_class_init): remove carrier property
5192
5193         * src/nm-device-802-11-wireless.c
5194                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5195                         real_update_link(); wireless devices don't use carrier at all
5196                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5197                    supplicant_iface_connection_state_cb_handler,
5198                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5199
5200         * src/nm-device-802-3-ethernet.c
5201           src/nm-device-802-3-ethernet.h
5202                 - (nm_device_802_3_ethernet_carrier_on,
5203                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5204                         instead of nm_device_set_carrier()
5205                 - (device_state_changed): update link from sysfs on activation;
5206                         replaces real_update_link()
5207                 - (real_update_link): remove, replaced by device_state_changed()
5208                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5209                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5210                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5211                         new get_carrier function
5212                 - (get_property): add 'carrier' property
5213                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5214                         hook into property-changed signal helper
5215
5216         * src/NetworkManagerPolicy.c
5217                 - (device_carrier_changed): will only ever be called with a wired device
5218                 - (device_added): only hook up to carrier-changed for wired devices
5219
5220         * libnm-glib/nm-device.c
5221           libnm-glib/nm-device.h
5222                 - (constructor, nm_device_class_init): remove carrier-changed signal
5223                 - (device_carrier_changed_proxy): remove; unused
5224                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5225
5226         * libnm-glib/nm-device-802-3-ethernet.c
5227           libnm-glib/nm-device-802-3-ethernet.h
5228                 - Convert to cached properties like AP and Wireless objects
5229                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5230                         instead of a 'char *', return value should not be freed
5231                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5232                 - (constructor): hook into properties-changed helper
5233                 - (set_property, get_property): new functions
5234                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5235
5236         * test/nm-tool.c
5237                 - (detail_device): strdup the wired hardware address too since it's
5238                         cached now
5239
5240         * libnm-glib/libnm-glib-test.c
5241                 - (dump_wired): strdup the wired hardware address too since it's
5242                         cached now
5243
5244 2008-03-12  Dan Williams  <dcbw@redhat.com>
5245
5246         * libnm-util/nm-setting-ip4-config.c
5247           libnm-util/nm-setting-ip4-config.h
5248                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5249                         the 'autoip' property from the spec
5250
5251 2008-03-11  Dan Williams  <dcbw@redhat.com>
5252
5253         * src/backends/NetworkManagerGeneric.c
5254           src/backends/NetworkManagerGeneric.h
5255                 - (nm_generic_device_get_use_dhcp): remove
5256
5257 2008-03-11  Dan Williams  <dcbw@redhat.com>
5258
5259         * src/nm-device.c
5260                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5261                         already in nm_device_set_ip4_config()
5262                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5263                         due to a DHCP rebind fails
5264                 - (nm_device_set_ip4_config): send property notifications when the
5265                         ip4 config changes
5266                 - (get_property): only report IP4Config property during valid states
5267
5268         * src/NetworkManagerPolicy.c
5269                 - (update_routing_and_dns): ignore devices that don't have an ip4
5270                         config; add parameter 'force_update' to allow callers to specify
5271                         that changes should be made even if the default device doesn't change
5272                 - (device_ip4_config_changed): update DNS and routing when the device's
5273                         IP4Config changes, like for DHCP updates
5274                 - (device_added): listen for ip4-config property changes
5275
5276 2008-03-11  Dan Williams  <dcbw@redhat.com>
5277
5278         Fix address handling as a result of DHCP rebind/renew/reboot.
5279
5280         * src/NetworkManagerSystem.c
5281                 - (check_one_address): delete an address if it doesn't match a given
5282                         one for the same interface
5283                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5284                         be smarter about flushing addresses (only flush ones that don't
5285                         match the one we're about to apply)
5286
5287         * src/backends/NetworkManagerDebian.c
5288           src/backends/NetworkManagerSuSE.c
5289           src/backends/NetworkManagerArch.c
5290           src/backends/NetworkManagerSlackware.c
5291           src/backends/NetworkManagerRedHat.c
5292           src/backends/NetworkManagerPaldo.c
5293           src/backends/NetworkManagerFrugalware.c
5294           src/backends/NetworkManagerGentoo.c
5295                 - (nm_system_delete_default_route): remove
5296
5297         * src/backends/NetworkManagerGeneric.c
5298           src/backends/NetworkManagerGeneric.h
5299                 - (nm_generic_enable_loopback): fix the loopback device label
5300                 - (nm_generic_delete_default_route): remove; no longer used
5301
5302 2008-03-11  Dan Williams  <dcbw@redhat.com>
5303
5304         * src/nm-device-interface.h
5305                 - Delimit property name words with '-', otherwise g_object_notify()
5306                         doesn't work the way we expect
5307
5308 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5309
5310         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5311
5312 2008-03-11  Dan Williams  <dcbw@redhat.com>
5313
5314         * src/NetworkManagerPolicy.c
5315                 - (update_routing_and_dns): don't change anything if the default device
5316                         hasn't changed; print something out when switching the default route
5317                         and DNS
5318
5319 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5320
5321         Implement PPPoE.
5322
5323         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5324         setting. Use "nic-$eth".
5325
5326         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5327         the device is activating here to fix a race condition.
5328
5329         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5330
5331         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5332         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5333         (nm_ppp_manager_start): Take activation request instead of connection, we might
5334         need it for asking secrets.
5335         (nm_ppp_manager_update_secrets): Implement.
5336
5337         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5338         ppp manager start. It might be needed for asking secrets.
5339
5340         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5341         (ppp_state_changed): Handle pppd daemon disappearing.
5342         (pppoe_stage2_config): Send activation request to ppp manager start.
5343
5344         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5345
5346         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5347         username and password.
5348         
5349 2008-03-10  Dan Williams  <dcbw@redhat.com>
5350
5351         * src/nm-device.c
5352                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5353                         response to a DHCP lease change
5354                 - (dhcp_state_changed): handle DHCP lease changes while activated
5355                 - (nm_device_set_ip4_config): remove a previously set named config
5356                         when setting an ip4 config
5357
5358 2008-03-10  Dan Williams  <dcbw@redhat.com>
5359
5360         * src/nm-serial-device.c
5361                 - (nm_serial_device_send_command): report errno on error
5362                 - (get_reply_got_data): limit the size of the overall buffer
5363                 - (wait_for_reply_info_destroy): destroy result string
5364                 - (wait_for_reply_got_data): append received data to an overall buffer
5365                         until timeout, filled buffer, or error instead of keeping a per-call
5366                         buffer.  Some devices send data slowly enough that this function
5367                         gets called multiple times for the same command stream.
5368                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5369                         wait_for_reply_got_data() here
5370
5371 2008-03-10  Dan Williams  <dcbw@redhat.com>
5372
5373         * src/nm-cdma-device.c
5374                 - (do_dial, init_modem): handle errors from
5375                         nm_serial_device_send_command_string()
5376
5377         * src/nm-gsm-device.c
5378                 - (do_dial, manual_registration, automatic_registration_get_network,
5379                    automatic_registration, enter_pin, check_pin, init_modem): handle
5380                         errors from nm_serial_device_send_command_string()
5381
5382 2008-03-10  Dan Williams  <dcbw@redhat.com>
5383
5384         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5385
5386         * src/named-manager/nm-named-manager.c
5387                 - (compute_searches): prefer searches before domains
5388                 - (compute_domain): new function
5389                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5390                 - (merge_one_ip4_config): if there are no searches in the source config,
5391                         merge domains of the source config into the target config
5392                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5393
5394 2008-03-10  Dan Williams  <dcbw@redhat.com>
5395
5396         * src/nm-serial-device.c
5397                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5398                 - (wait_for_reply_got_data): try to handle slower serial devices where
5399                         the reply is broken up into multiple reads by concatenating replies
5400                         together until either an error is received or the search string is
5401                         found
5402
5403 2008-03-10  Dan Williams  <dcbw@redhat.com>
5404
5405         * src/nm-device.c
5406                 - (nm_device_bring_down): deactivate the device if it's activating too,
5407                         not just if it's already activated.  This makes sure that everything
5408                         from an association attempt is cleaned up (like DHCP for example)
5409
5410 2008-03-10  Dan Williams  <dcbw@redhat.com>
5411
5412         * src/nm-serial-device.c
5413                 - (config_fd): report error from TCSETA
5414                 - (nm_serial_device_open): fail when config_fd() fails
5415
5416 2008-03-10  Dan Williams  <dcbw@redhat.com>
5417
5418         * src/nm-ip4-config.c
5419                 - (nm_ip4_config_init): allocate searches list
5420                 - (finalize): free searches list
5421
5422 2008-03-09  Dan Williams  <dcbw@redhat.com>
5423
5424         Patch from Bas Zoetekouw <bas@debian.org>
5425
5426         * src/dhcp-manager/nm-dhcp-manager.c
5427                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5428
5429 2008-03-09  Dan Williams  <dcbw@redhat.com>
5430
5431         Patch from Bas Zoetekouw <bas@debian.org>
5432
5433         * src/nm-ip4-config.c
5434           src/nm-ip4-config.h
5435                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5436                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5437                         domains.  'searches' is the correct way to store multiple search
5438                         domains, whereas 'domains' is really just supposed to store one
5439                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5440                         search domains to the client.
5441                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5442
5443 2008-03-09  Dan Williams  <dcbw@redhat.com>
5444
5445         * src/dhcp-manager/nm-dhcp-manager.c
5446                 - (dhclient_run): send interface-specific config files to dhclient
5447
5448 2008-03-07  Dan Williams  <dcbw@redhat.com>
5449
5450         * system-settings/plugins/ifcfg-fedora/parser.c
5451                 - (is_wireless_device): new function; test a device for wireless
5452                         extensions
5453                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5454                         test the device for wireless extensions to determine the type
5455
5456 2008-03-07  Dan Williams  <dcbw@redhat.com>
5457
5458         Change manager's StateChange signal to StateChanged for consistency.
5459
5460         * introspection/nm-manager.xml
5461                 - Add 'StateChanged' signal
5462                 - Move 'StateChange' down to the deprecated section
5463
5464         * src/nm-hal-manager.c
5465                 - (nm_hal_manager_new): connect to 'state-changed' instead
5466
5467         * src/NetworkManagerPolicy.c
5468                 - (nm_policy_new): connect to 'state-changed' instead
5469
5470         * src/nm-manager.c
5471           src/nm-manager.h
5472                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5473                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5474                         of 'state-change'
5475
5476         * libnm-glib/nm-client.c
5477           libnm-glib/nm-client.h
5478                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5479                         track and proxy 'state-changed' instead of 'state-change'
5480
5481 2008-03-07  Dan Williams  <dcbw@redhat.com>
5482
5483         First pass of multiple active device support.  Expect bugs.
5484
5485         * src/nm-ip4-config.c
5486           src/nm-ip4-config.h
5487                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5488                         there are better ways to do this in the named manager
5489
5490         * src/nm-device.c
5491           src/nm-device.h
5492                 - (nm_device_can_activate): return whether the device can activate a
5493                         connection right now; taking into account things like carrier state
5494                         and rfkill state
5495                 - (nm_device_get_best_auto_connection): renamed from
5496                         nm_device_get_best_connection
5497                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5498                         device subclasses themselves, so that each device can override the
5499                         MTU from it's NMSetting subclass if needed
5500                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5501                         in NetworkManagerSystem.c, not here
5502
5503         * src/named-manager/nm-named-manager.c
5504           src/named-manager/nm-named-manager.h
5505                 - (nm_named_manager_name_owner_changed,
5506                    nm_named_manager_dbus_connection_changed): fix for changes to
5507                         rewrite_resolv_conf()
5508                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5509                         from parameter list
5510                 - (merge_one_ip4_config): new function; merge ip4 configs together
5511                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5512                         ip4 configs; the VPN config takes precedence, then the best
5513                         device config, then the rest of the configs
5514                 - (get_domain_for_config): take the NMNamedManager as an argument
5515                         to check whether the config is the VPN config
5516                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5517                         attribute from ip4 configs
5518                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5519                 - (remove_ip4_config_from_named): fix for changes to
5520                         get_domain_for_config()
5521                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5522                         based on its type; callers must pass in the type now
5523                 - (get_last_default_domain): remove, unused
5524                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5525
5526         * src/nm-device-802-11-wireless.c
5527                 - (real_can_activate): new function
5528                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5529                 - (real_act_stage4_get_ip4_config): handle MTU override
5530
5531         * src/nm-device-802-3-ethernet.c
5532                 - (real_can_activate): new function
5533                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5534                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5535
5536         * src/vpn-manager/nm-vpn-connection.c
5537                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5538                         attribute on the ip4 config
5539
5540         * src/NetworkManagerPolicy.c
5541                 - (nm_policy_auto_get_best_device): remove
5542                 - (nm_policy_device_change_check): remove
5543                 - (update_default_route): new function; set the default route via
5544                         the specified device
5545                 - (get_device_priority): new function; return the priority number of
5546                         a device type WRT which one should have the default route.  Order is
5547                         (highest to lowest)  wired, wireless, GSM, CDMA.
5548                 - (update_routing_and_dns): new function; determine which device should
5549                         have the default route, then update the routing table and DNS
5550                 - (maybe_auto_activate_device): new function; if a device is now
5551                         available for activation, find out what connection it would like to
5552                         activate and do it
5553                 - (schedule_activate_check): new function; if a device can be activated
5554                         now, schedule the activation.  Each device may have only one
5555                         pending activation at a given time.
5556                 - (device_state_changed): if activation was canceled, try again,
5557                         possibly with another connection; if the device was activated,
5558                         update routing and DNS; if the device was deactivated, try again
5559                         with another connection
5560                 - (device_carrier_changed): if there is no carrier, deactivate the
5561                         device; otherwise schedule an activation check for the device
5562                 - (wireless_networks_changed): schedule an activation check for the
5563                         device
5564                 - (device_added): keep track of the signal handler IDs so they can
5565                         be removed when the device goes away
5566                 - (device_removed): remove any signal handlers that might be attached
5567                         to the device; update routing and DNS
5568                 - (schedule_activate_all): new function
5569                 - (connections_added, connection_added, connection_updated): when
5570                         connections change, schedule all devices for an activation check
5571                 - (connection_removed): when a device is deactivated because its
5572                         connection was removed, schedule another activation check for it
5573                 - (nm_policy_destroy): destroy pending activations and disconnect
5574                         all device signal handlers
5575
5576         * src/nm-manager.c
5577                 - (nm_manager_activate_device): if the device was already actived,
5578                         deactivate it
5579                 - (deactivate_old_device): remove
5580                 - (connection_added_default_handler, impl_manager_activate_device):
5581                         don't deactivate other devices when activating this one
5582
5583         * src/backends/NetworkManagerGentoo.c
5584           src/backends/NetworkManagerFrugalware.c
5585           src/backends/NetworkManagerPaldo.c
5586           src/backends/NetworkManagerRedHat.c
5587           src/backends/NetworkManagerSlackware.c
5588           src/backends/NetworkManagerArch.c
5589           src/backends/NetworkManagerSuSE.c
5590           src/backends/NetworkManagerDebian.c
5591                 - (nm_system_get_mtu): remove; MTU should be provided through the
5592                         distro's system settings service plugin instead
5593                 - (nm_system_device_add_default_route_via_device): remove
5594                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5595                 - (nm_system_device_replace_default_route): new function; call
5596                         generic implementation
5597
5598         * src/backends/NetworkManagerGeneric.c
5599           src/backends/NetworkManagerGeneric.h
5600                 - (nm_generic_device_add_default_route_via_device,
5601                    nm_generic_device_add_default_route_via_device_with_iface): remove
5602                 - (nm_generic_device_replace_default_route): replace the default route
5603                         with the given route via some gateway
5604
5605         * src/NetworkManagerSystem.c
5606           src/NetworkManagerSystem.h
5607                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5608                         to routing and DNS; but set the MTU here
5609                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5610                         ip_iface of the active device; use the standard MTU setting function
5611                 - (nm_system_set_mtu): remove
5612                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5613
5614 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5615
5616         Rework the interaction between ppp manager and pppd plugin. Register a well
5617         known DBUS service in manager and let the plugin call it's methods instead
5618         of listening plugin's signals.
5619
5620         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5621         of emitting signals.
5622
5623         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5624
5625         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5626
5627         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5628         nm_ppp_manager_start().
5629
5630         * introspection/nm-ppp-manager.xml: New file.
5631
5632         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5633         the case correctly where driver is trying to send -1 for the speed, which gets
5634         casted to u16 and thus is always > 0.
5635
5636 2008-03-07  Dan Williams  <dcbw@redhat.com>
5637
5638         * src/nm-hal-manager.c
5639                 - (nm_get_device_driver_name): use net.originating_device first, fall
5640                         back to physical device.  HAL has deprecated physical_device.
5641
5642         * libnm-glib/nm-device.c
5643                 - (get_product_and_vendor): use net.originating_device first, fall
5644                         back to physical device.  HAL has deprecated physical_device.
5645                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5646
5647 2008-03-07  Dan Williams  <dcbw@redhat.com>
5648
5649         * src/nm-netlink.c
5650                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5651                         last commit; fix that
5652                 - (get_link_cache): print error string
5653
5654 2008-03-07  Dan Williams  <dcbw@redhat.com>
5655
5656         * src/nm-netlink.c
5657                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5658                         don't need this hack any more (Benoit Boissinot)
5659
5660 2008-03-06  Dan Williams  <dcbw@redhat.com>
5661
5662         * autogen.sh
5663                 - Die gnome-common, die
5664
5665 2008-03-04  Dan Williams  <dcbw@redhat.com>
5666
5667         Patch from Michael Biebl <biebl@debian.org>
5668
5669         * NetworkManager.pc.in
5670                 - doesn't actually depend on dbus-1
5671
5672         * libnm-util/nm-utils.h
5673                 - remove unused #include <dbus/dbus.h>
5674
5675         * libnm-glib/libnm_glib.pc.in
5676                 - depends on glib and dbus-glib
5677
5678 2008-03-02  Dan Williams  <dcbw@redhat.com>
5679
5680         * src/NetworkManagerPolicy.c
5681                 - s/device_state_changed_idle_id/update_state_id/
5682
5683 2008-03-02  Dan Williams  <dcbw@redhat.com>
5684
5685         * src/nm-device.c
5686           src/nm-device.h
5687           src/nm-device-802-11-wireless.c
5688           src/nm-device-802-3-ethernet.c
5689           src/NetworkManagerPolicy.c
5690                 - s/link_active/carrier
5691                 - nm_device_set_active_link() -> nm_device_set_carrier()
5692                 - nm_device_has_active_link() -> nm_device_get_carrier()
5693
5694 2008-03-02  Dan Williams  <dcbw@redhat.com>
5695
5696         * system-settings/plugins/ifcfg-fedora/parser.c
5697                 - (make_wireless_setting): fail connection creation on missing SSID
5698
5699 2008-02-29  Dan Williams  <dcbw@redhat.com>
5700
5701         * src/NetworkManagerPolicy.c
5702                 - (nm_policy_device_change_check): ensure that a previously active
5703                         device with a system connection has a link before denying a switch
5704                         to a user connection
5705
5706 2008-02-29  Dan Williams  <dcbw@redhat.com>
5707
5708         * src/nm-device-802-11-wireless.c
5709                 - (link_timeout_cb): try again if scanning; deactivate the device when
5710                         activated if the link dies
5711                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5712                         15 seconds
5713
5714 2008-02-29  Dan Williams  <dcbw@redhat.com>
5715
5716         * src/nm-device-802-11-wireless.c
5717           src/nm-device-802-11-wireless.h
5718                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5719                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5720                 - (device_cleanup): reset the scan interval lower when the device
5721                         deactivates
5722                 - (can_scan): base decision mostly off device state, not supplicant
5723                         interface state since the supplicant interface state isn't a
5724                         great indicator of whether the device is active or not
5725                 - (request_wireless_scan): clean up; schedule the next scan here
5726                 - (schedule_scan): only back the scan interval off if a new scan
5727                         actually gets scheduled; and make scan intervals tighter when the
5728                         device is disconnected
5729                 - (supplicant_iface_state_cb_handler): fold in the bits of
5730                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5731                         interval to minimum
5732                 - (activation_success_handler): reset scan interval to something
5733                         reasonable 
5734
5735 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5736
5737         reviewed by: Steev <steev@steev.net>
5738
5739         * configure.in:
5740         * src/backends/NetworkManagerGentoo.c:
5741         (nm_system_restart_mdns_responder):
5742                 Howl is no longer a supported mDNS provider
5743
5744 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5745
5746         Get rid of a bunch of unused distro specific functions.
5747
5748 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5749
5750         Implement suse plugin for system settings daemon.
5751
5752         * system-settings/plugins/ifcfg-suse/*: Implement.
5753
5754         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5755         suse.
5756
5757         * configure.in: Check (without failing) for gio.
5758         Create ifcfg-suse plugin's Makefile.
5759
5760 2008-02-20  Dan Williams  <dcbw@redhat.com>
5761
5762         * libnm-util/nm-connection.c
5763           libnm-util/nm-connection.h
5764                 - (nm_connection_compare): accept compare flags and pass them to the
5765                         setting compare function
5766
5767         * libnm-util/nm-setting.c
5768           libnm-util/nm-setting.h
5769                 - (nm_setting_compare): accept compare flags; ignore properties that are
5770                         marked fuzzy
5771
5772         * libnm-util/nm-setting-connection.c
5773           libnm-util/nm-setting-wireless.c
5774           libnm-util/nm-setting-ppp.c
5775           libnm-util/nm-setting-wired.c
5776                 - Mark some setting properties as ignorable when doing a fuzzy compare
5777
5778         * src/nm-device.c
5779                 - (device_activation_precheck): use exact compare
5780
5781 2008-02-20  Dan Williams  <dcbw@redhat.com>
5782
5783         * src/NetworkManagerPolicy.c
5784                 - (nm_policy_device_change_check): get scope off the connection, not
5785                         using the manager helper
5786
5787         * src/nm-manager.c
5788           src/nm-manager.h
5789                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5790                 - (connection_get_settings_cb): set scope and path on connection, not
5791                         using GObject data items
5792                 - (get_connection_for_proxy): don't need to return path, since that
5793                         can be gotten from the connection
5794                 - (get_connection_for_proxy): get path off the connection, not from
5795                         parameters
5796                 - (connection_removed_cb, connection_updated_cb): don't need to get
5797                         path from get_connection_for_proxy(); get scope off the connection
5798                         instead of using GObject data items
5799                 - (connection_added_default_handler, add_one_connection_element): use
5800                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5801                 - (nm_manager_get_connection_dbus_path): remove
5802                 - (nm_manager_get_connection_scope): remove
5803
5804 2008-02-20  Dan Williams  <dcbw@redhat.com>
5805
5806         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5807                 on confusing names
5808
5809         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5810                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5811                 NMExportedConnection
5812
5813         * Internally rename NMConnectionType -> NMConnectionScope
5814
5815         * Provide default implementations of the 'get_id' and 'get_settings' methods
5816                 of NMExportedConnection
5817
5818 2008-02-15  Dan Williams  <dcbw@redhat.com>
5819
5820         * src/nm-device-802-11-wireless.c
5821                 - (device_cleanup): release the AP list here too so that the AP list
5822                         doesn't survive across suspend/resume and up/down.  There is some
5823                         room for optimization, for example blow the list away when the card
5824                         brought back up, but only if the device has only been down for a
5825                         minute or more.
5826
5827 2008-02-15  Dan Williams  <dcbw@redhat.com>
5828
5829         * src/nm-hal-manager.c
5830                 - (modem_device_creator): recognize new HAL modem capabilities
5831
5832 2008-02-12  Dan Williams  <dcbw@redhat.com>
5833
5834         * system-settings/plugins/ifcfg-fedora/plugin.c
5835                 - (watch_path): handle IN_DELETE_SELF too
5836                 - (handle_connection_changed): notify when removing a connection
5837                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5838                         case of a file moving out of the profile directory
5839
5840 2008-02-12  Dan Williams  <dcbw@redhat.com>
5841
5842         * system-settings/plugins/ifcfg-fedora/parser.c
5843                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5844
5845 2008-02-12  Dan Williams  <dcbw@redhat.com>
5846
5847         * libnm-util/nm-utils.c
5848                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5849                         just any empty array
5850
5851 2008-02-12  Dan Williams  <dcbw@redhat.com>
5852
5853         * system-settings/src/nm-system-config-interface.c
5854           system-settings/src/nm-system-config-interface.h
5855                 - (load_connections): get_connections() should now return an allocated
5856                         GSList that the system settings service will free
5857
5858         * system-settings/plugins/ifcfg-fedora/plugin.c
5859           system-settings/plugins/ifcfg-fedora/parser.h
5860           system-settings/plugins/ifcfg-fedora/parser.c
5861                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5862                         in the profile directory, handle resolv.conf file changes
5863
5864 2008-02-10  Dan Williams  <dcbw@redhat.com>
5865
5866         * src/nm-device-802-3-ethernet.c
5867                 - (real_bring_up): save the supplicant interface state signal id
5868                 - (real_bring_down): disconnect from the supplicant interface state
5869                         signal
5870
5871 2008-02-07  Dan Williams  <dcbw@redhat.com>
5872
5873         * initscript/RedHat/NetworkManager.in
5874           initscript/RedHat/NetworkManagerDispatcher.in
5875                 - Add new-style LSB init headers
5876
5877 2008-02-07  Dan Williams  <dcbw@redhat.com>
5878
5879         * system-settings/src/dbus-settings.c
5880           system-settings/src/dbus-settings.h
5881                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5882                         table of secrets
5883                 - (connection_settings_get_secrets): consolidate error returns into
5884                         one place; use the new get_secrets() plugin interface function to
5885                         get secrets from the plugin itself rather than using GObject data
5886                         magic
5887
5888         * system-settings/src/main.c
5889                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5890                    load_connections): keep a private list of the plugin-returned
5891                         connections, don't use the plugin's GSList
5892
5893         * system-settings/plugins/ifcfg-fedora/plugin.c
5894                 - (watch_path): watch the path, not the filename (duh)
5895                 - (reload_all_connections): use the direct hash/equal functions; the
5896                         ones for int aren't appropriate here
5897                 - (get_secrets, system_config_interface_init): implement the
5898                         get_secrets() function
5899                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5900                         now in the connection's ConnectionData instead of being a GObject
5901                         data property
5902                 - (handle_profile_item_changed): ifcfg file path is now in the
5903                         connection's ConnectionData instead of being a GObject data property;
5904                         be sure to copy secrets over from the new connection to the existing
5905                         connection when updating the connection's settings
5906                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5907                         file descriptor
5908
5909         * system-settings/plugins/ifcfg-fedora/parser.c
5910           system-settings/plugins/ifcfg-fedora/parser.h
5911                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5912                    connection_data_copy_secrets, connection_data_free,
5913                    connection_data_add): new functions; connection data manipulation
5914                 - (make_wireless_security_setting): stuff secrets into the
5915                         connection data, not as GObject data items; make sure to close
5916                         the keys ifcfg file
5917                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5918                         connection data to the connection
5919
5920 2008-02-07  Dan Williams  <dcbw@redhat.com>
5921
5922         * system-settings/src/nm-system-config-interface.c
5923           system-settings/src/nm-system-config-interface.h
5924                 - Add a get_secrets() interface function to retrieve secrets for a
5925                         specific setting of a specific connection.  Document the interface
5926                         a bit more too.
5927
5928 2008-02-07  Dan Williams  <dcbw@redhat.com>
5929
5930         * src/nm-device-802-11-wireless.c
5931                 - (handle_auth_or_fail): new function; consolidate device activation
5932                         failure check after a certain number of failures getting secrets
5933                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5934                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5935                         the connection if secrets were requested more than a few times
5936                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5937                         tries here; otherwise they are cleared before the IP configure
5938                         timeout, which happens with open system WEP when key is wrong
5939                 - (activation_success_handler): clear wireless secrets tries here too
5940
5941 2008-02-07  Dan Williams  <dcbw@redhat.com>
5942
5943         * src/NetworkManagerPolicy.c
5944                 - (connection_updated): clear invalid tag when connection gets updated
5945                         to allow that connection to be tried again
5946                 - (nm_policy_new): save signal ids so they can be disconnected when
5947                         the policy is destroyed
5948                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5949                         and disconnect all signals from the manager object so that none
5950                         of the policy functions gets called after the policy is destroyed
5951
5952 2008-02-06  Dan Williams  <dcbw@redhat.com>
5953
5954         * src/nm-manager.c
5955                 - (finalize): remove devices a bit earlier; clean up system settings
5956                         poke
5957                 - (nm_manager_name_owner_changed): clean up system settings poke when
5958                         the service appears, and try to restart it if it fails
5959                 - (poke_system_settings_daemon_cb): try to get the system settings
5960                         service started through D-Bus service activation
5961                 - (initial_get_connections): start the system settings daemon if it's
5962                         not already running
5963
5964 2008-02-05  Dan Williams  <dcbw@redhat.com>
5965
5966         * src/supplicant-manager/nm-supplicant-config.c
5967                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5968                         broadcast networks too
5969
5970 2008-02-04  Dan Williams  <dcbw@redhat.com>
5971
5972         * system-settings/plugins/ifcfg-fedora/parser.c
5973                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5974                         need key_mgmt set too
5975                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5976                         .bak files; ensure that an error is set whenever NULL gets returned
5977
5978 2008-02-04  Dan Williams  <dcbw@redhat.com>
5979
5980         * system-settings/src/Makefile.am
5981                 - Install D-Bus service activation file for the system settings
5982                         service
5983
5984         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5985                 - D-Bus service activation file for system settings service
5986
5987 2008-02-04  Dan Williams  <dcbw@redhat.com>
5988
5989         * system-settings/src/main.c
5990                 - (parse_config_file): parse a config file
5991                 - (main): accept --config option and read plugins from config file
5992
5993 2008-02-04  Dan Williams  <dcbw@redhat.com>
5994
5995         * system-settings/plugins/ifcfg-fedora/plugin.c
5996                 - Change reported name to 'ifcfg-fedora'
5997                 - Use IFCFG_PLUGIN_NAME
5998
5999         * system-settings/plugins/ifcfg-fedora/plugin.c
6000                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6001
6002 2008-02-04  Dan Williams  <dcbw@redhat.com>
6003
6004         * system-settings/plugins/ifcfg-fedora/parser.c
6005                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6006                 - (make_connection_setting): use get_ifcfg_name()
6007                 - (make_wireless_security_setting): handle shadow key files
6008                 - (get_one_wep_key): treat empty string as NULL
6009
6010 2008-02-04  Dan Williams  <dcbw@redhat.com>
6011
6012         * src/supplicant-manager/nm-supplicant-manager.c
6013                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6014                         glib automatically reschedule
6015                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6016                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6017                         the supplicant
6018
6019 2008-02-01  Dan Williams  <dcbw@redhat.com>
6020
6021         * src/NetworkManagerPolicy.c
6022                 - (device_state_changed): schedule a change check when a device gets
6023                         deactivated so something happens if you disconnect GSM/CDMA
6024
6025 2008-01-31  Dan Williams  <dcbw@redhat.com>
6026
6027         * src/nm-device-802-11-wireless.h
6028           src/nm-device-802-11-wireless.c
6029                 - (ap_list_get_ap_by_ssid, is_associated,
6030                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6031                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6032                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6033                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6034                         function
6035
6036 2008-01-30  Dan Williams  <dcbw@redhat.com>
6037
6038         * system-settings/plugins/ifcfg
6039         * system-settings/plugins/ifcfg-fedora
6040                 - Move the ifcfg plugin to ifcfg-fedora
6041
6042 2008-01-24  Dan Williams  <dcbw@redhat.com>
6043
6044         * libnm-glib/nm-device-802-11-wireless.c
6045                 - (get_access_point): move the "/" check here; check for invalid path
6046                         too
6047                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6048                         to get_access_point()
6049                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6050                         to send signals for non-existent access points
6051
6052 2008-01-24  Dan Williams  <dcbw@redhat.com>
6053
6054         * libnm-glib/nm-device-802-11-wireless.c
6055                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6056
6057 2008-01-23  Dan Williams  <dcbw@redhat.com>
6058
6059         * libnm-glib/libnm_glib.c
6060                 - (libnm_glib_init): make thread joinable
6061                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6062
6063 2008-01-23  Dan Williams  <dcbw@redhat.com>
6064
6065         * test/libnm_glib_test.c
6066                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6067                 - (main): set up signal handlers; call libnm_glib_shutdown
6068
6069 2008-01-21  Dan Williams  <dcbw@redhat.com>
6070
6071         * include/NetworkManager.h
6072                 - Add CDMA mobile broadband card device type
6073
6074         * src/nm-hal-manager.c
6075                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6076                         must now be tagged with 'cdma' or 'gsm' capability
6077
6078         * src/nm-cdma-device.c
6079           src/nm-cdma-device.h
6080           src/Makefile.am
6081                 - Add the CDMA mobile broadband card device class
6082
6083         * libnm-util/nm-connection.c
6084                 - (register_default_settings): add NMSettingCdma
6085
6086         * libnm-util/nm-setting-cdma.c
6087           libnm-util/nm-setting-cdma.h
6088           libnm-util/Makefile.am
6089                 - Add the CDMA mobile broadband card setting class
6090
6091         * libnm-glib/nm-cdma-device.c
6092           libnm-glib/nm-cdma-device.h
6093           libnm-glib/Makefile.am
6094                 - Add the CDMA mobile broadband card GLib proxy class
6095
6096         * libnm-glib/nm-client.c
6097                 - (get_device): handle CDMA devices too
6098
6099 2008-01-21  Dan Williams  <dcbw@redhat.com>
6100
6101         * src/ppp-manager/nm-ppp-manager.c
6102                 - (ip4_config_get): set peer address too
6103
6104         * src/ppp-manager/nm-pppd-plugin.c
6105                 - (nm_ip_up): try harder to get the peer's address
6106
6107         * src/NetworkManagerSystem.c
6108                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6109                         address, use that too.  Otherwise, some PPP connections won't work.
6110
6111 2008-01-19  Dan Williams  <dcbw@redhat.com>
6112
6113         * src/NetworkManagerPolicy.c
6114                 - (nm_policy_device_change_check): system connections override user
6115                         connections; don't activate a user connection if there's a currently
6116                         active system connection, and new, better system connections always
6117                         interrupt user connections
6118
6119 2008-01-19  Dan Williams  <dcbw@redhat.com>
6120
6121         * src/nm-manager.h
6122                 - (nm_manager_get_connection_type): new function
6123
6124 2008-01-19  Dan Williams  <dcbw@redhat.com>
6125
6126         * src/nm-device-802-11-wireless.c
6127                 - (real_get_best_connection): collapse find_best_connection() into this
6128                         function
6129
6130 2008-01-19  Dan Williams  <dcbw@redhat.com>
6131
6132         * src/nm-device-802-3-ethernet.c
6133                 - (real_get_best_connection): collapse find_best_connection() into this
6134                         function
6135
6136 2008-01-18  Dan Williams  <dcbw@redhat.com>
6137
6138         * src/nm-device-802-3-ethernet.c
6139                 - (find_best_connection): check MAC address too
6140                 - (real_get_best_connection): let autoconnect=True connections activate
6141                         for devices that don't have carrier detection
6142
6143         * src/nm-device-802-11-wireless.c
6144                 - (find_best_connection): check MAC address too
6145
6146 2008-01-18  Dan Williams  <dcbw@redhat.com>
6147
6148         * system-settings/plugins/ifcfg/parser.c
6149                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6150
6151 2008-01-17  Dan Williams  <dcbw@redhat.com>
6152
6153         * src/nm-device-802-3-ethernet.c
6154                 - (nm_device_802_3_ethernet_carrier_on,
6155                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6156                         carrier events that might come in for devices that don't support
6157                         carrier detect
6158
6159 2008-01-17  Dan Williams  <dcbw@redhat.com>
6160
6161         * src/nm-device-interface.c
6162                 - (nm_device_interface_check_connection_conflicts): need to actually
6163                         get the interface, not cast to the object
6164
6165         * src/nm-device.c
6166                 - (nm_device_check_connection_conflicts): need to get the device class,
6167                         not cast the device to the device class
6168
6169 2008-01-17  Dan Williams  <dcbw@redhat.com>
6170
6171         * src/nm-device-802-11-wireless.c
6172                 - (real_check_connection_conflicts): ignore connections that aren't
6173                         wireless connections
6174
6175 2008-01-17  Dan Williams  <dcbw@redhat.com>
6176
6177         * src/NetworkManagerPolicy.c
6178                 - (nm_policy_device_change_check): clear change check idle here
6179                 - (device_change_check_done): remove
6180                 - (schedule_change_check): simplify
6181
6182 2008-01-17  Dan Williams  <dcbw@redhat.com>
6183
6184         * src/nm-manager.c
6185                 - (check_connection_allowed): take an NMDeviceInterface instead of
6186                         an NMDevice object as an argument
6187                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6188                         check_connection_allowed()
6189
6190 2008-01-13  Dan Williams  <dcbw@redhat.com>
6191
6192         * libnm-glib/nm-device-802-11-wireless.c
6193                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6194
6195 2008-01-12  Dan Williams  <dcbw@redhat.com>
6196
6197         * src/nm-device-802-11-wireless.c
6198                 - (activation_success_handler): if a match was found in the scan list
6199                         and that match is a hidden AP, update that AP's SSID
6200
6201 2008-01-11  Dan Williams  <dcbw@redhat.com>
6202
6203         * src/NetworkManagerAP.c
6204                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6205
6206         * src/nm-device-802-11-wireless.c
6207                 - (get_active_ap): do two passes over the scan list if the caller
6208                         requests that hidden APs get matched too; during the second pass
6209                         when matching hidden APs, ignore the SSID since hidden APs in the
6210                         scan list don't have an SSID yet
6211                 - (periodic_update): move some checks to
6212                         nm_device_802_11_periodic_update() because not all callers need them
6213                 - (nm_device_802_11_periodic_update): move some checks here from
6214                         perodic_update()
6215                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6216                         matching on incoming scan results, because the fake AP's flags
6217                         might be slightly different (yet still compatible) with the incoming
6218                         scan result's flags and they might actually be the same AP; update
6219                         the rate on merged APs too
6220                 - (activation_success_handler): update the frequency of the fake AP
6221                         on successful connection; match hidden APs too since if the
6222                         current AP is fake, there might already be a scan result in the
6223                         scan list for the desired AP, just without it's SSID filled in yet
6224
6225 2008-01-10  Dan Williams  <dcbw@redhat.com>
6226
6227         * src/NetworkManagerAP.c
6228                 - (foreach_property_cb): catch more hidden SSID formats
6229
6230 2008-01-10  Dan Williams  <dcbw@redhat.com>
6231
6232         Fix gnome.org #464215.  Requires the kernel patch titled
6233         "Introduce WEXT scan capabilities" but will handle the patch not being
6234         present, you'll just continue to have problems with hidden SSIDs when
6235         using mac80211-based drivers.
6236
6237         * src/supplicant-manager/nm-supplicant-config.h
6238           src/supplicant-manager/nm-supplicant-config.c
6239                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6240                         whether the driver supports SSID scans or not.  If it does, and if
6241                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6242
6243         * src/nm-device-802-11-wireless.c
6244                 - (constructor): check whether or not the driver supports SSID scans
6245                 - (build_supplicant_config): pass driver SSID scan capability when
6246                         building the wireless bits of the supplicant config
6247
6248 2008-01-09  Dan Williams  <dcbw@redhat.com>
6249
6250         * src/nm-device.c
6251           src/nm-device.h
6252                 - (device_activation_precheck, check_connection_complete): remove this
6253                         virtual function; incomplete connections should be invalid by
6254                         definition, complete-ness should be checked in the setting's
6255                         verify function
6256
6257         * src/nm-serial-device.c
6258           src/nm-gsm-device.c
6259                 - (real_check_connection_complete): remove
6260
6261         * libnm-util/nm-setting-serial.c
6262                 - (verify): new function; ensure there is a PPP setting too
6263
6264         * libnm-util/nm-setting-gsm.c
6265                 - (verify): ensure there is a serial setting too
6266
6267 2008-01-06  Dan Williams  <dcbw@redhat.com>
6268
6269         * src/dhcp-manager/nm-dhcp-manager.c
6270                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6271                         (gnome.org #332953)
6272
6273 2008-01-04  Dan Williams  <dcbw@redhat.com>
6274
6275         * src/named-manager/nm-named-manager.c
6276                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6277                         nameservers if the secondary config doesn't have any
6278                         (gnome.org #346833)
6279
6280 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6281
6282         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6283         with G_PARAM_CONSTRUCT so that they get the default values.
6284
6285         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6286         the monitoring device and prints out the output for now. Or more precicely, doesn't
6287         do absolutely anything right now since the montoring device argument is never set.
6288
6289         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6290         requires it's own knob to turn it on.
6291         (config_fd): Add NMSettingSerial to the arguments list.
6292         (nm_serial_device_open): Ditto.
6293         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6294         (nm_serial_device_get_io_channel): Implement.
6295
6296         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6297         a new reference every time (and forgetting to release it sometimes) is a pain and
6298         it's not like NMManager could work without dbus.
6299         (nm_manager_add_device): Register the added device on dbus here.
6300
6301         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6302         device.
6303
6304         * src/nm-device.c (constructor): Don't export the device here, instead export
6305         it when it's added to the NMManager's device list.
6306
6307 2007-12-31  Dan Williams  <dcbw@redhat.com>
6308
6309         * src/nm-device-interface.c
6310           src/nm-device-interface.h
6311                 - (nm_device_interface_check_connection_conflicts): new function
6312
6313         * src/nm-device.c
6314           src/nm-device.h
6315                 - (nm_device_check_connection_conflicts): new function
6316                 - (device_activation_precheck): don't require subclasses to implement
6317                         check_connection_complete()
6318                 - check_connection() -> check_connection_complete()
6319
6320         * src/nm-device-802-11-wireless.c
6321                 - (real_check_connection): remove; unused
6322                 - (real_check_connection_conflicts): implement, handle lockdown for
6323                         system connections
6324
6325         * src/nm-device-802-3-ethernet.c
6326                 - (real_check_connection): remove; unused
6327
6328         * src/nm-manager.c
6329                 - (check_connection_allowed): new function
6330                 - (nm_manager_activate_device): ensure the connection being requested
6331                         is allowed to be activated
6332
6333         * src/nm-serial-device.c
6334           src/nm-gsm-device.c
6335                 - real_check_connection() -> real_check_connection_complete()
6336
6337 2007-12-27  Dan Williams  <dcbw@redhat.com>
6338
6339         * src/nm-device-interface.c
6340           src/nm-device-interface.h
6341                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6342                         normalize and expand errors
6343                 - (nm_device_interface_init): register errors so they can be marshalled
6344                         through dbus-glib
6345                 - (nm_device_interface_activate): ensure that failure of activation
6346                         returns an error
6347
6348         * src/nm-device.c
6349           src/nm-device.h
6350                 - (device_activation_precheck): implementations of check_connection()
6351                         now take a GError and must fill it in if the check fails.  Return
6352                         more descriptive error if the requested connection is already
6353                         activating
6354                 - (nm_device_activate): actually try to return descriptive errors on
6355                         failures
6356
6357         * src/nm-device-802-11-wireless.c
6358           src/nm-device-802-3-ethernet.c
6359           src/nm-serial-device.c
6360           src/nm-gsm-device.c
6361                 - (real_check_connection): return more descriptive errors on failure
6362
6363         * src/NetworkManagerPolicy.c
6364                 - (nm_policy_device_change_check): print activation errors in the logs
6365
6366         * src/nm-manager.c
6367                 - (nm_manager_error_quark, nm_manager_error_get_type,
6368                    nm_manager_class_init): new errors
6369                 - (nm_manager_activate_device): handle errors
6370                 - (nm_manager_error_new): removed
6371                 - (wait_for_connection_expired, connection_added_default_handler,
6372                    impl_manager_activate_device): better error handling
6373
6374 2007-12-27  Dan Williams  <dcbw@redhat.com>
6375
6376         Fixes gnome.org #466954
6377
6378         * src/supplicant-manager/nm-supplicant-settings-verify.c
6379                 - Allow 'frequency' network property
6380
6381         * src/supplicant-manager/nm-supplicant-config.c
6382           src/supplicant-manager/nm-supplicant-config.h
6383                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6384                         for callers to specify the frequency an Ad-Hoc network should operate
6385                         on.  Some drivers require this to successfully create an Ad-Hoc
6386                         network.
6387
6388         * src/nm-device-802-11-wireless.c
6389                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6390                         guint32 value in MHz
6391                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6392                         iw_freq_to_uint32()
6393                 - (find_supported_frequency): new function; find a free supported
6394                         frequency for a user-created Ad-Hoc network
6395                 - (build_supplicant_config): if no frequency was specified for a user-
6396                         created Ad-Hoc network, find a free one to use
6397                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6398                         a specific object as user-created
6399
6400 2007-12-27  Dan Williams  <dcbw@redhat.com>
6401
6402         * libnm-util/nm-utils.c
6403           libnm-util/nm-utils.h
6404                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6405                         for adhoc networks
6406
6407 2007-12-24  Dan Williams  <dcbw@redhat.com>
6408
6409         * libnm-util/nm-setting-wireless.c
6410                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6411                         185, 187, 188, 192, and 196
6412
6413 2007-12-24  Dan Williams  <dcbw@redhat.com>
6414
6415         * src/nm-device-802-11-wireless.c
6416                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6417                         a channel # instead of a frequency
6418
6419 2007-12-24  Dan Williams  <dcbw@redhat.com>
6420
6421         * src/NetworkManagerAP.c
6422           src/NetworkManagerAP.h
6423                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6424                 - (freq_to_channel): handle split band tables
6425                 - (channel_to_freq): handle split band tables, take a band argument
6426
6427 2007-12-24  Dan Williams  <dcbw@redhat.com>
6428
6429         * libnm-util/nm-setting-connection.h
6430           libnm-util/nm-setting-connection.c
6431                 - Add 'lockdown' member
6432
6433 2007-12-22  Dan Williams  <dcbw@redhat.com>
6434
6435         * libnm-util/nm-setting-wireless.c
6436                 - (nm_setting_wireless_class_init): add missing 'rate' property
6437                         specification
6438
6439 2007-12-18  Dan Williams  <dcbw@redhat.com>
6440
6441         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6442
6443         * src/nm-netlink-monitor.c
6444           src/nm-netlink-monitor.h
6445                 - Remove handrolled netlink, use libnl instead
6446
6447         * src/nm-device-802-3-ethernet.c
6448                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6449                    nm_device_802_3_ethernet_carrier_on): use new names
6450
6451 2007-12-17  Dan Williams  <dcbw@redhat.com>
6452
6453         * configure.in
6454                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6455                         and fixes memory leaks)
6456
6457         * src/nm-netlink.c
6458                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6459                         automatically handle the netlink PID
6460
6461 2007-12-17  Dan Williams  <dcbw@redhat.com>
6462
6463         Patch from Michael Biebl <biebl@debian.org>
6464
6465         * configure.in
6466           src/ppp-manager/Makefile.am
6467                 - fix up install dir of pppd plugin
6468                 - clean up configure.in a bit
6469
6470 2007-12-12  Dan Williams  <dcbw@redhat.com>
6471
6472         * system-settings/src/nm-system-settings.conf
6473                 - Allow non-root clients (like the applet) to read settings
6474
6475 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6476
6477         * Replace all occurences of 'UMTS' with 'GSM'.
6478
6479 2007-12-07  Dan Williams  <dcbw@redhat.com>
6480
6481         * src/nm-serial-device.c
6482                 - (real_is_up): serial devices are always "up"
6483
6484 2007-12-07  Dan Williams  <dcbw@redhat.com>
6485
6486         * src/nm-netlink.c
6487           src/NetworkManagerSystem.c
6488                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6489                         twice (gnome.org #491047)
6490                 - Make more robust against allocation-related failures should they occur
6491
6492 2007-12-07  Dan Williams  <dcbw@redhat.com>
6493
6494         Noticed by Christian Persch <chpe@gnome.org>
6495
6496         Always chain up to parent object in dispose and finalize handlers.
6497                 (gnome.org #433112)
6498
6499 2007-12-07  Dan Williams  <dcbw@redhat.com>
6500
6501         * src/nm-device-802-11-wireless.c
6502                 - Wrap #include of linux/mii.h to fix redefined structures due to
6503                         incorrect kernel headers (gnome.org #350061)
6504
6505 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6506
6507         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6508         before doing anything else.
6509         (init_modem): Move modem initialization here.
6510
6511         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6512         (nm_serial_device_flash): Implement.
6513
6514         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6515         changes signal is "StateChanged" and not "Status".
6516         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6517
6518 2007-12-06  Dan Williams  <dcbw@redhat.com>
6519
6520         * src/supplicant-manager/nm-supplicant-config.c
6521                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6522                         to only send some options when they make sense; also send phase2
6523                         option to the supplicant (possible fix for rh #399631)
6524
6525 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6526
6527         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6528         arguments: This whole file shouldn't really know anything about NMDevices, it
6529         should deal only with device interfaces. Devices might have different ifaces for
6530         different stuff and this place shouldn't know anything about it.
6531
6532         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6533         (global_state_changed): Implement. In the current NM it's not really important,
6534         but will be required in the case of multiple active devices. (Or even better,
6535         if stuff like that gets moved out from NM).
6536
6537         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6538         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6539         instead.
6540
6541         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6542         devices like serial devices (ttyS0 and ppp0 for example).
6543         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6544         set.
6545         (nm_device_set_ip_iface): Implement.
6546         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6547         after setting ip4_config from here ...
6548         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6549         than this function should call nm_system_device_set_from_ip4_config() because no
6550         other code has enough information on which arguments to use. So instead, other code
6551         could just set the new ip4 config using this function and everyone is happy.
6552
6553         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6554         if we happen to get deactivated while something is pending.
6555         (automatic_registration): Handle the response that indicates pending network
6556         registration and wait until the pending registration is done.
6557         (real_deactivate_quickly): If there's a pending operation, cancel it.
6558
6559         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6560         (real_deactivate_quickly): ... and remove it when it's down.
6561         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6562         it if needed.
6563         (nm_serial_device_wait_for_reply): Ditto.
6564
6565 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6566
6567         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6568         (get_network_done): Remove newline, nm_info() does it already.
6569         (real_act_stage1_prepare): Turn the modem echo off.
6570
6571         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6572         device, set the route to the device interface. This is a hack.
6573
6574         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6575         return, no need for a new-line.
6576         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6577         Change the device iface here (ugh).
6578         (real_act_stage4_get_ip4_config): Implement.
6579         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6580         Restore the device iface.
6581
6582         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6583         device is not wired or wireless (eg, automatically upped) device.
6584
6585         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6586         it isn't.
6587         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6588
6589         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6590         before calling it's is_device_fn().
6591
6592 2007-12-05  Dan Williams  <dcbw@redhat.com>
6593
6594         * libnm-util/nm-utils.c
6595                 - (nm_utils_register_value_transformations,
6596                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6597                         GHashTables of GValues too
6598
6599 2007-12-04  Dan Williams  <dcbw@redhat.com>
6600
6601         * initscript/RedHat/NetworkManager.in
6602                 - No longer start named; it's D-Bus interface is going away
6603
6604 2007-12-04  Dan Williams  <dcbw@redhat.com>
6605
6606         Patch from Michael Biebl <biebl@debian.org>
6607
6608         * system-settings/plugins/ifcfg/Makefile.am
6609           system-settings/src/main.c
6610           system-settings/src/Makefile.am
6611                 - Put system settings plugins in NM plugins dir
6612
6613         * src/ppp-manager/Makefile.am
6614           src/ppp-manager/nm-ppp-manager.c
6615                 - Move pppd plugin to NM plugins dir
6616
6617 2007-12-04  Dan Williams  <dcbw@redhat.com>
6618
6619         * libnm-util/nm-setting-vpn-properties.h
6620                 - Clarify usage of the 'data' member of the setting
6621
6622         * libnm-util/nm-setting-vpn-properties.c
6623                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6624                 - (set_property): just remove all the settings; don't recreate the has
6625                 - (update_one_secret): don't need to create the hash table here since
6626                         it should always be present
6627
6628 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6629
6630         Implement PIN and PUK requesting.
6631
6632         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6633         (enter_pin): Handle PIN and PUK requests.
6634         (real_act_stage1_prepare): Clear the secret type.
6635         (real_connection_secrets_updated): Implement this class method to get
6636         notified when new secrets arrive.
6637         (nm_umts_device_class_init): Add private data back to the umts device class
6638         to store the required secret type.
6639
6640 2007-12-01  Dan Williams  <dcbw@redhat.com>
6641
6642         * system-settings/plugins/ifcfg/parser.c
6643                 - (parser_parse_file): don't try to verify NULL connections
6644
6645 2007-12-01  Dan Williams  <dcbw@redhat.com>
6646
6647         * system-settings/src/main.c
6648                 - (load_connections, add_connection_to_settings): actually export
6649                         plugin-provided connections over D-Bus so NM can get them
6650
6651 2007-12-01  Dan Williams  <dcbw@redhat.com>
6652
6653         * system-settings/plugins/ifcfg/parser.c
6654           system-settings/plugins/ifcfg/parser.h
6655           system-settings/plugins/ifcfg/plugin.c
6656                 - Hook up more inotify bits (untested)
6657
6658 2007-11-29  Dan Williams  <dcbw@redhat.com>
6659
6660         * system-settings/src/nm-system-config-interface.h
6661           system-settings/src/nm-system-config-interface.c
6662                 - (nm_system_config_interface_init,
6663                    nm_system_config_interface_get_connections): add
6664
6665         * system-settings/src/main.c
6666                 - (load_plugins, load_connections, main): use a GSList for plugins
6667                         to ensure priority ordering
6668
6669         * system-settings/plugins/ifcfg/parser.c
6670                 - (ifcfg_error_quark): move to plugin.c, and rename
6671
6672         * system-settings/plugins/ifcfg/plugin.h
6673           system-settings/plugins/ifcfg/plugin.c
6674                 - (ifcfg_plugin_error_quark): move here from parser.c
6675                 - rework connection loading and initialization
6676                 - Add preliminary inotify support for network profile config file
6677
6678 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6679
6680         Merge the beginnings of the new GSM card support.
6681
6682         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6683         ppp watch source before killing pppd - If this happens from g_object_unref()
6684         then the ppp manager is already destroyed by the time the watch callback runs.
6685
6686         * src/nm-hal-manager.c: Add a device_type_name string to the device
6687         creators, so that we can print a nice human readable string when a
6688         device is added.
6689
6690         * src/nm-umts-device.c (automatic_registration_get_network): Query
6691         for the activated network, not much is done with the result thought.
6692
6693         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6694         (ppp_ip4_config): Change the device state to activated here for now.
6695         (real_check_connection): Make sure the connection includes ppp setting.
6696
6697         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6698
6699         * libnm-glib/Makefile.am: Add the new files to build.
6700
6701         * libnm-glib/nm-umts-device.c: 
6702         * libnm-glib/nm-umts-device.h: Implement.
6703
6704 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6705
6706         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6707         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6708
6709         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6710         the timeout source - this function is only called when the timeout source has
6711         been removed.
6712         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6713         to be big enough to contain the terminating zero element as well.
6714         The timeout argument is meant to be in seconds now.
6715         (real_deactivate_quickly): Implement.
6716
6717         * src/NetworkManager.conf: Allow root to own 
6718         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6719
6720         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6721         (not unsigned ints).
6722
6723         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6724         small issue with parity bounds - capital letters have lower ascii codes
6725         than lower case letters.
6726
6727         * libnm-util/nm-connection.c (register_default_settings): Register serial
6728         and umts settings.
6729
6730 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6731
6732         Remove the "index" property from devices as not all device types have this.
6733
6734         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6735
6736         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6737         (wired_device_creator): Get the device interface from hal to create the device.
6738         (wireless_device_creator): Ditto.
6739
6740         * src/nm-device.c (nm_device_init): Remove the index member.
6741         (constructor): Remove the checks for index property, make interface property
6742         a require constructor property.
6743         Use the HAL udi for DBus path for devices.
6744         (nm_device_get_index): Remove.
6745         (set_property): Remove index handling.
6746         (get_property): Ditto.
6747         (nm_device_get_dbus_path): Remove.
6748
6749         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6750         property.
6751
6752         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6753         Access the device index through it's interface.
6754         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6755         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6756         index argument. Add interface argument.
6757
6758         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6759         the useless test_dev argument. Remove index argument. Add interface arugment.
6760
6761         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6762         device index through interface.
6763         (nm_system_set_mtu): Ditto.
6764
6765         * introspection/nm-device.xml: Remove the "Index" property.
6766
6767 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6768
6769         * src/nm-serial-device.c: 
6770         * src/nm-serial-device.c: 
6771         * src/nm-umts-device.c:
6772         * src/nm-umts-device.h: Implement.
6773
6774         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6775         allocated by libhal.
6776         (modem_device_creator): Implement.
6777         (register_built_in_creators): Register the modem creator.
6778
6779         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6780         Remove the unused test_dev argument.
6781
6782         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6783
6784         * src/Makefile.am: Add new files to build.
6785         Link in ppp-manager.
6786
6787         * libnm-util/nm-setting-umts.c: 
6788         * libnm-util/nm-setting-umts.h: 
6789         * libnm-util/nm-setting-serial.c: 
6790         * libnm-util/nm-setting-serial.h: Implement.
6791
6792         * libnm-util/Makefile.am: Add new files to build.
6793
6794 2007-11-28  Dan Williams  <dcbw@redhat.com>
6795
6796         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6797
6798         Support DHCP-provided static routes.
6799
6800         * src/nm-ip4-config.h
6801           src/nm-ip4-config.c
6802                 - Add get/set functions for static routes
6803
6804         * src/dhcp-manager/nm-dhcp-manager.c
6805                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6806                         DHCP response
6807
6808         * src/NetworkManagerSystem.c
6809                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6810                         interface when applying the IP4Config
6811
6812 2007-11-28  Dan Williams  <dcbw@redhat.com>
6813
6814         * src/nm-device-802-11-wireless.c
6815                 - (real_act_stage1_prepare): mark APs created for hidden networks
6816                         as non-broadcasting
6817
6818 2007-11-27  Dan Williams  <dcbw@redhat.com>
6819
6820         * system-settings/src/nm-system-config-interface.h
6821                 - Note how to store secrets on NMSetting objects
6822
6823         * system-settings/src/dbus-settings.c
6824                 - (connection_settings_get_secrets): implement
6825
6826 2007-11-27  Dan Williams  <dcbw@redhat.com>
6827
6828         * system-settings/plugins/ifcfg/Makefile.am
6829           system-settings/plugins/ifcfg/parser.c
6830           system-settings/plugins/ifcfg/parser.h
6831           system-settings/plugins/ifcfg/plugin.c
6832                 - Parse wireless connections too
6833
6834         * system-settings/src/dbus-settings.c
6835           system-settings/src/dbus-settings.h
6836           system-settings/src/main.c
6837                 - Handle connection update/removal if the plugin supports it
6838
6839 2007-11-27  Dan Williams  <dcbw@redhat.com>
6840
6841         * src/nm-dbus-manager.h
6842           src/nm-hal-manager.c
6843                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6844                         do it for them
6845
6846         * src/Makefile.am
6847           src/NetworkManagerDbusUtils.c
6848           src/NetworkManagerDbusUtils.h
6849                 - Remove these two source files; they are unused
6850
6851 2007-11-27  Dan Williams  <dcbw@redhat.com>
6852
6853         * src/vpn-manager/nm-vpn-manager.c
6854                 - (impl_vpn_manager_connect): fix system settings check (found by
6855                         James M. Leddy)
6856
6857 2007-11-26  Dan Williams  <dcbw@redhat.com>
6858
6859         * Fix warnings so everything compiles with --enable-more-warnings
6860
6861 2007-11-25  Dan Williams  <dcbw@redhat.com>
6862
6863         * system-settings/*
6864                 - Rework structure and code to use GModule-loaded plugins and a plugin
6865                         interface that plugins export to the system settings service
6866
6867 2007-11-21  Dan Williams  <dcbw@redhat.com>
6868
6869         * system-settings/*
6870                 - Add Soren's system settings service.  Needs work for distros other
6871                         than Fedora; the backends from NM should mostly migrate to here
6872                         and be converted to GObjects
6873
6874 2007-11-21  Dan Williams  <dcbw@redhat.com>
6875
6876         * libnm-util/nm-setting-vpn-properties.c
6877                 - (set_property): must deep-copy the given settings hash, otherwise
6878                         double-free errors occur when the setting is disposed of
6879
6880 2007-11-21  Dan Williams  <dcbw@redhat.com>
6881
6882         * src/vpn-manager/nm-vpn-act-request.h
6883           src/vpn-manager/nm-vpn-act-request.c
6884                 - Remove; unused
6885
6886 2007-11-20  Dan Williams  <dcbw@redhat.com>
6887
6888         * libnm-util/nm-utils.c
6889                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6890                    nm_utils_convert_ip4_addr_struct_array_to_string,
6891                    nm_utils_register_value_transformations): print out the readable
6892                         values of more types of properties of NMSettings subclasses
6893
6894 2007-11-20  Dan Williams  <dcbw@redhat.com>
6895
6896         * libnm-util/nm-setting-ip4-config.c
6897                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6898                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6899                         marshal GValueArrays inside collections, so switch to types that it
6900                         can actually marshal/demarshal
6901
6902 2007-11-16  Dan Williams  <dcbw@redhat.com>
6903
6904         * libnm-util/nm-setting-wireless-security.c
6905                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6906                         minimal verification of EAP methods too
6907                 - (verify): verify phase1 eap methods too
6908
6909 2007-11-15  Dan Williams  <dcbw@redhat.com>
6910
6911         * libnm-glib/nm-device.h
6912           libnm-glib/nm-device.c
6913                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6914                         const char *
6915
6916 2007-11-15  Dan Williams  <dcbw@redhat.com>
6917
6918         * libnm-glib/nm-device.c
6919                 - (get_product_and_vendor): don't try to free things that should be
6920                         freed
6921
6922 2007-11-15  Dan Williams  <dcbw@redhat.com>
6923
6924         * src/NetworkManagerUtils.c
6925                 - (nm_ethernet_address_is_valid): unbreak previous fix
6926
6927 2007-11-15  Dan Williams  <dcbw@redhat.com>
6928
6929         * src/supplicant-manager/nm-supplicant-config.c
6930                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6931                         options
6932
6933 2007-11-15  Dan Williams  <dcbw@redhat.com>
6934
6935         * src/NetworkManagerUtils.c
6936                 - (nm_ethernet_address_is_valid): fix style, clarify
6937                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6938
6939         * src/nm-device-802-11-wireless.c
6940                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6941                 - (nm_device_802_11_wireless_get_ssid,
6942                    nm_device_802_11_wireless_get_bssid,
6943                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6944                         before calling the ioctl; fixes valgrind-reported jump depends on
6945                         uninitialized value errors
6946
6947 2007-11-15  Dan Williams  <dcbw@redhat.com>
6948
6949         * libnm-util/nm-setting.c
6950                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6951                         unecessary to serialize 'name'
6952
6953         * src/nm-activation-request.c
6954                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6955                         the GetSecrets call
6956
6957 2007-11-15  Dan Williams  <dcbw@redhat.com>
6958
6959         * libnm-util/nm-setting-connection.h
6960           libnm-util/nm-setting-connection.c
6961                 - Rename the 'name' property to 'id', because it conflicted with the
6962                         NMSetting superclass' 'name' property.
6963
6964         * libnm-util/nm-setting.c
6965                 - (nm_setting_to_hash): serialize the 'name' property
6966                 - (one_property_cb): ignore 'name' on deserialization of a connection
6967
6968         * src/nm-device-802-11-wireless.c
6969           src/vpn-manager/nm-vpn-connection.c
6970           src/NetworkManagerPolicy.c
6971                 - Fix up for NMSettingConnection 'name'->'id' changes
6972
6973 2007-11-13  Dan Williams  <dcbw@redhat.com>
6974
6975         * libnm-glib/nm-device-802-11-wireless.h
6976           libnm-glib/nm-device-802-11-wireless.c
6977                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6978
6979         * test/nm-tool.c
6980           libnm-glib/libnm-glib-test.c
6981                 - Fixes for above change
6982
6983 2007-11-12  Dan Williams  <dcbw@redhat.com>
6984
6985         * src/supplicant-manager/nm-supplicant-settings-verify.c
6986                 - Allow fragment_size option
6987
6988         * src/supplicant-manager/nm-supplicant-settings-verify.c
6989                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6990                         EAP fragment size than the default to help some TLS connections
6991
6992 2007-11-12  Dan Williams  <dcbw@redhat.com>
6993
6994         Make certs actually work.  The private key is now a secret, and should be
6995         decrypted when requested by NM.  The private key and phase2 private key
6996         passwords are no longer interesting to NM because they should be used by
6997         the settings service to decrypt the private key itself before passing it
6998         to NM, and hence have been removed as fields.
6999
7000         * libnm-util/nm-setting-wireless-security.h
7001           libnm-util/nm-setting-wireless-security.c
7002                 - Remove private-key-passwd and phase2-private-key-passwd from
7003                         properties
7004                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7005                    need_secrets): use property #defines instead strings to keep things
7006                         consistent
7007                 - (need_secrets_tls): if a client certificate is present but no
7008                         private key, request the private key
7009                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7010                         remove private key password stuff, mark private keys as secret
7011
7012         * src/supplicant-manager/nm-supplicant-settings-verify.c
7013                 - Remove private_key_passwd and private_key2_passwd from opt_table
7014
7015 2007-11-09  Dan Williams  <dcbw@redhat.com>
7016
7017         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7018         Since the vpn-properties are managed and known by the VPN daemons themselves,
7019         libnm-util doesn't know what's secret and what's in the setting's 'data'
7020         member.
7021
7022         * libnm-util/nm-setting.h
7023           libnm-util/nm-setting.c
7024                 - Add the ability for subclasses to override update_one_secret
7025
7026         * libnm-util/nm-setting-vpn-properties.c
7027                 - Override update_one_secret and just copy the values into the
7028                         internal table
7029
7030 2007-11-09  Dan Williams  <dcbw@redhat.com>
7031
7032         * libnm-glib/nm-settings.h
7033           libnm-glib/nm-settings.c
7034                 - (nm_settings_new_error): remove
7035                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7036                         clients should use g_set_error() with NM_SETTINGS_ERROR
7037
7038 2007-11-09  Dan Williams  <dcbw@redhat.com>
7039
7040         * src/supplicant-manager/nm-supplicant-config.c
7041                 - (nm_supplicant_config_add_setting_wireless_security): private key
7042                         passwords are never sent to wpa_supplicant, because the supplicant
7043                         should never be reading random files from the disk.  Clients like
7044                         the applet are required to decrypt the private keys and send NM
7045                         the decrypted blobs.
7046
7047 2007-11-08  Dan Williams  <dcbw@redhat.com>
7048
7049         * libnm-util/nm-setting-wireless-security.h
7050           libnm-util/nm-setting-wireless-security.c
7051                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7052                         members to 802-11-wireless-security structure.  This should be used
7053                         to indicate that the values in private-key and phase2-private-key
7054                         are already decrypted by the user agent, and that no
7055                         private-key-passwd or phase2-private-key-passwd should be expected.
7056                         It is not meant to be a stored configuration value, but meant to
7057                         be set when the conneciton is sent to NM over dbus.
7058
7059 2007-11-08  Dan Williams  <dcbw@redhat.com>
7060
7061         * libnm-util/nm-connection.h
7062           libnm-util/nm-connection.c
7063                 - (nm_connection_need_secrets): add argument to return hints
7064
7065         * src/nm-device-802-11-wireless.c
7066                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7067                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7068                         nm_connection_need_secrets() change
7069
7070 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7071
7072         Rework NMSetting structures: Move each setting to it's own file.
7073         Convert to GObject. Remove home grown setting types and use GTypes.
7074         Use GObject property introspection for hash conversion, enumerating
7075         properties, etc.
7076
7077         * libnm-util/nm-setting-connection.[ch]
7078         * libnm-util/nm-setting-ip4-config.[ch]
7079         * libnm-util/nm-setting-ppp.[ch]
7080         * libnm-util/nm-setting-vpn.[ch]
7081         * libnm-util/nm-setting-vpn-properties.[ch]
7082         * libnm-util/nm-setting-wired.[ch]
7083         * libnm-util/nm-setting-wireless.[ch]
7084         * libnm-util/nm-setting-wireless-security.[ch]
7085
7086         New files, each containing a setting.
7087
7088         * libnm-util/nm-setting-template.[ch]: A template for creating new
7089         settings. To use it, just replace 'template' with the new setting
7090         name, and you're half-way done.
7091
7092         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7093         introspection instead of internal types and tables.
7094
7095         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7096
7097         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7098         GValue types defined by dbus-glib for composed types like collections,
7099         structures and maps.
7100
7101         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7102         a setting from connection takes the setting type now. Also, since
7103         the settings are in multiple files, include relevant settings.
7104
7105 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7106
7107         * configure.in:
7108         * src/backends/NetworkManagerGentoo.c:
7109         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7110         providers in Gentoo.
7111
7112 2007-10-31  Dan Williams  <dcbw@redhat.com>
7113
7114         * libnm-util/nm-connection.c
7115                 - (gvalue_to_string): handle UINT32 arrays
7116
7117 2007-10-31  Dan Williams  <dcbw@redhat.com>
7118
7119         * libnm-glib/nm-device.h
7120           libnm-glib/nm-device.c
7121                 - (nm_device_get_description): remove
7122                 - (nm_device_get_product, nm_device_get_vendor): add
7123                 - (nm_device_update_description): new function (private); walk HAL
7124                         devices to get product and vendor IDs for a specific device
7125
7126 2007-10-31  Dan Williams  <dcbw@redhat.com>
7127
7128         * src/nm-device-802-11-wireless.c
7129                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7130
7131 2007-10-29  Dan Williams  <dcbw@redhat.com>
7132
7133         * src/nm-hal-manager.c
7134                 - (device_added, device_new_capability): ignore device additions while
7135                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7136                         kernel module is unloaded and reloaded and recognized by NM again.
7137
7138 2007-10-26  Dan Williams  <dcbw@redhat.com>
7139
7140         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7141
7142         * src/NetworkManagerAP.c
7143           src/NetworkManagerAP.h
7144           libnm-glib/nm-access-point.c
7145           libnm-glib/nm-access-point.h
7146                 - Make 'rate' property a guint32 to better match with WEXT and
7147                         wpa_supplicant and to allow representation of higher bitrates
7148
7149         * src/nm-device-802-11-wireless.c
7150           introspection/nm-device-802-11-wireless.xml
7151           libnm-glib/nm-device-802-11-wireless.c
7152           libnm-glib/nm-device-802-11-wireless.h
7153                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7154
7155         * src/nm-device-802-3-ethernet.c
7156           src/nm-device-802-3-ethernet.h
7157           introspection/nm-device-802-3-ethernet.xml
7158           libnm-glib/nm-device-802-3-ethernet.c
7159           libnm-glib/nm-device-802-3-ethernet.h
7160                 - Make 'speed' property a guint32 to match other speed/rate types
7161                 - Make nm_device_802_3_ethernet_get_speed() static
7162
7163         * test/nm-tool.c
7164                 - Update for the changes above
7165
7166 2007-10-26  Dan Williams  <dcbw@redhat.com>
7167
7168         * src/named-manager/nm-named-manager.c
7169                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7170                     not calling fclose() twice on some error conditions
7171
7172 2007-10-26  Dan Williams  <dcbw@redhat.com>
7173
7174         * src/nm-activation-request.c
7175                 - (dispose): clean up indentation; get the right DBusGProxy object to
7176                         cancel the GetSecrets pending call on.  Need to use the Secrets
7177                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7178                         pending call doesn't get canceled, and pressing Cancel in the
7179                         applet's password dialog could cause get_secrets_cb() to be called
7180                         after the activation request has already been destroyed
7181
7182 2007-10-24  Dan Williams  <dcbw@redhat.com>
7183
7184         * src/supplicant-manager/nm-supplicant-config.c
7185                 - (nm_supplicant_config_add_blob): pass blob data and length for
7186                         verification
7187                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7188
7189 2007-10-24  Dan Williams  <dcbw@redhat.com>
7190
7191         * src/supplicant-manager/nm-supplicant-settings-verify.c
7192                 - (opt_table): max length for certificates should be 65536
7193
7194 2007-10-24  Dan Williams  <dcbw@redhat.com>
7195
7196         * src/supplicant-manager/nm-supplicant-interface.c
7197                 - (blob_free): correctly free blob data after use
7198                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7199
7200 2007-10-24  Dan Williams  <dcbw@redhat.com>
7201
7202         * libnm-util/nm-setting.c
7203                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7204                         EAP method need secrets
7205
7206 2007-10-24  Dan Williams  <dcbw@redhat.com>
7207
7208         * src/backends/NetworkManagerRedHat.c
7209                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7210
7211 2007-10-23  Dan Williams  <dcbw@redhat.com>
7212
7213         * libnm-util/nm-setting.c
7214           libnm-util/nm-setting.c
7215                 - (nm_setting_compare): implement
7216                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7217                    compare_one_hash_gvalue): compare the contents of a setting
7218
7219         * libnm-util/nm-connection.c
7220                 - (nm_connection_compare): implement
7221
7222 2007-10-23  Dan Williams  <dcbw@redhat.com>
7223
7224         * src/nm-activation-request.c
7225                 - (get_secrets_cb): handle getting a setting back that is more than
7226                         just secrets (ie, user changed auth or EAP method or something)
7227
7228 2007-10-23  Dan Williams  <dcbw@redhat.com>
7229
7230         * libnm-util/nm-setting.c
7231           libnm-util/nm-setting.h
7232                 - (nm_setting_verify): new function; verify one setting
7233                 - (nm_settings_verify_all): rename from nm_settings_verify()
7234                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7235                         all_settings
7236
7237         * libnm-util/nm-connection.c
7238                 - (nm_connection_replace_settings, nm_connection_verify,
7239                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7240
7241 2007-10-23  Dan Williams  <dcbw@redhat.com>
7242
7243         * src/nm-device-802-11-wireless.c
7244                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7245                         desired behavior
7246
7247 2007-10-23  Dan Williams  <dcbw@redhat.com>
7248
7249         * src/supplicant-manager/nm-supplicant-settings-verify.c
7250                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7251                         nm-settings.c
7252
7253 2007-10-23  Dan Williams  <dcbw@redhat.com>
7254
7255         * src/nm-device-802-11-wireless.c
7256                 - (real_act_stage2_config): after the first association failure,
7257                         if the connection still needs secrets ask the user for them
7258                         explicitly.  After the fourth association failure due to bad
7259                         secrets, fail the connection entirely.  Handles the GetSecrets
7260                         loop that NM gets into when the provided secrets don't match up
7261                         with the connection details.
7262
7263 2007-10-23  Dan Williams  <dcbw@redhat.com>
7264
7265         * src/supplicant-manager/nm-supplicant-config.c
7266                 - (nm_supplicant_config_add_setting_wireless_security): only add
7267                         WPA-specific options when WPA is in use
7268
7269 2007-10-23  Dan Williams  <dcbw@redhat.com>
7270
7271         * src/supplicant-manager/nm-supplicant-config.c
7272                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7273                         secret doesn't need to be unhexified
7274
7275 2007-10-23  Dan Williams  <dcbw@redhat.com>
7276
7277         * libnm-util/nm-setting.c
7278                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7279                         before trying to do something with it
7280
7281 2007-10-23  Dan Williams  <dcbw@redhat.com>
7282
7283         * src/nm-device-802-11-wireless.c
7284                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7285
7286 2007-10-23  Dan Williams  <dcbw@redhat.com>
7287
7288         * src/nm-device-802-11-wireless.c
7289                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7290                         non-SSID-broadcasting APs
7291
7292 2007-10-23  Dan Williams  <dcbw@redhat.com>
7293
7294         * src/NetworkManagerAP.c
7295                 - (match_cipher, security_compatible): remove
7296                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7297                         libnm-util instead
7298
7299 2007-10-23  Dan Williams  <dcbw@redhat.com>
7300
7301         * libnm-util/nm-utils.c
7302           libnm-util/nm-utils.h
7303                 - (nm_utils_ap_security_compatible): common function for checking
7304                         whether a specific AP is compatible with an NMConnection
7305
7306 2007-10-23  Dan Williams  <dcbw@redhat.com>
7307
7308         * libnm-util/nm-setting.c
7309                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7310                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7311                    need_secrets_password, setting_wireless_security_verify): fix
7312                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7313                         secrets logic for each supported EAP method
7314
7315 2007-10-23  Dan Williams  <dcbw@redhat.com>
7316
7317         * src/supplicant-manager/nm-supplicant-config.c
7318                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7319                         config option name, should be "private_key2_passwd"
7320
7321 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7322
7323         Implement support for static IP addresses, additional/overridden DNS and
7324         DNS domain search lists.
7325
7326         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7327         (ip4_addresses_to_gvalue): Implement.
7328         (convert_array_to_byte_array): Implement.
7329         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7330         NM_S_TYPE_IP4_ADDRESSES.
7331         (nm_setting_hash): Ditto.
7332         (default_setting_clear_secrets): Add a default case for the switch: IP address
7333         shouldn't be secret, ever.
7334         (setting_ip4_config_verify): Update, requires addresses in case of manual
7335         configurations.
7336         (setting_ip4_config_destroy): Free stuff.
7337
7338         * src/nm-device.c (merge_ip4_config): Implement.
7339         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7340
7341 2007-10-22  Dan Williams  <dcbw@redhat.com>
7342
7343         * libnm-util/nm-setting.c
7344                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7345                         pairwise cipher options for Dynamic WEP
7346
7347 2007-10-21  Dan Williams  <dcbw@redhat.com>
7348
7349         * src/NetworkManagerAP.c
7350           src/NetworkManagerAP.h
7351                 - Rename 'articifical' -> 'fake' since that's what they are until
7352                         noticed in scans
7353                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7354                         from the attributes in an NMConnection object
7355                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7356                         WPA Enterprise
7357                 - (nm_ap_match_in_list): find a matching AP in a scan list
7358
7359         * src/nm-device-802-11-wireless.c
7360                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7361                         AP when searching the scan list; match on frequency and mode too
7362                 - (nm_device_802_11_wireless_get_frequency): implement
7363                 - (merge_scanned_ap): replace duplicate matching logic with
7364                         nm_ap_match_in_list()
7365                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7366                         the user is trying to connect to a hidden network that is not yet
7367                         known from the scan list
7368                 - (activation_success_handler): now that the card knows the AP's BSSID,
7369                         there may already be a scanned AP in the scan list that is what
7370                         we really wanted to connect to, but didn't know at the time.  Use
7371                         that instead of the 'fake' AP created at activation start and get
7372                         rid of the 'fake' AP 
7373                 - (cull_scan_list): don't remove fake APs
7374
7375 2007-10-21  Dan Williams  <dcbw@redhat.com>
7376
7377         * src/nm-activation-request.h
7378           src/nm-activation-request.c
7379                 - (nm_act_request_set_specific_object): new function; allow setting the
7380                         specific object if one isn't set yet
7381
7382 2007-10-20  Dan Williams  <dcbw@redhat.com>
7383
7384         * src/supplicant-manager/nm-supplicant-config.h
7385           src/supplicant-manager/nm-supplicant-config.c
7386                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7387                         table to store blobs
7388                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7389                         blob hash table
7390                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7391                 - (nm_supplicant_config_add_setting_wireless_security): handle
7392                         options that use certificates (ie, blobs)
7393
7394         * src/nm-device-802-11-wireless.c
7395                 - (build_supplicant_config): pass a UID (just use the connection path)
7396                         to the supplicant config as now required
7397
7398         * src/supplicant-manager/nm-supplicant-interface.c
7399                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7400                         there are any blobs to send to wpa_supplicant, send those first
7401                         before sending the network configuration
7402
7403 2007-10-19  Dan Williams  <dcbw@redhat.com>
7404
7405         Split the GetSecrets() call off to a separate D-Bus interface so that it
7406         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7407         should be able to call GetSecrets().
7408
7409         * include/NetworkManager.h
7410                 - Define the connection secrets D-Bus interface
7411
7412         * src/vpn-manager/nm-vpn-connection.c
7413                 - (clear_need_auth): get the right proxy object for the connection
7414                         secrets interface
7415                 - (get_connection_secrets): use the connection secrets proxy; send
7416                         empty hints in get secrets request
7417
7418         * src/nm-activation-request.c
7419                 - (nm_act_request_request_connection_secrets): use the connection
7420                         secrets proxy; send empty hints in get secrets request
7421
7422         * src/nm-manager.c
7423           src/nm-manager.h
7424                 - (connection_get_settings_cb): set the connection secrets proxy on
7425                         the connection object too
7426                 - (internal_new_connection_cb): create the connection secrets proxy
7427
7428         * introspection/nm-settings-connection.xml
7429                 - Define Connection.Secrets interface and move GetSecrets there
7430                 - Add a 'hints' argument to GetSecrets
7431
7432         * libnm-glib/nm-settings.c
7433           libnm-glib/nm-settings.h
7434                 - (impl_connection_settings_get_secrets): add 'hints' argument
7435
7436 2007-10-19  Dan Williams  <dcbw@redhat.com>
7437
7438         * src/nm-device.c
7439                 - (constructor): add message about what path a device is exported as
7440                         to help in debugging rh #339011
7441
7442 2007-10-17  Dan Williams  <dcbw@redhat.com>
7443
7444         * libnm-util/nm-utils.h
7445           libnm-util/nm-utils.c
7446                 - (nm_utils_security_valid): common function to help find the intersection
7447                         of capabilities of devices and (optionally) access points
7448
7449 2007-10-17  Dan Williams  <dcbw@redhat.com>
7450
7451         * src/nm-device-802-11-wireless.c
7452                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7453                         don't get erroneously cleared
7454
7455 2007-10-17  Dan Williams  <dcbw@redhat.com>
7456
7457         * src/nm-manager.h
7458           src/nm-manager.c
7459           src/nm-hal-manager.c
7460                 - (device_removed, finalize, nm_manager_remove_device,
7461                    nm_manager_sleep): add a 'deactivate' argument to 
7462                    nm_manager_remove_device() to fully deactivate devices when necessary
7463                    (ie, always except when waking up)
7464
7465 2007-10-16  Dan Williams  <dcbw@redhat.com>
7466
7467         * libnm-util/nm-setting.c
7468                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7469                         also isn't valid phase2 autheap method
7470
7471 2007-10-16  Dan Williams  <dcbw@redhat.com>
7472
7473         * libnm-glib/nm-client.c
7474                 - (update_wireless_status): consolidate updates of wireless status
7475                 - (constructor): use update_wireless_status()
7476                 - (manager_running): set wireless status off when NM goes away; requery
7477                         the wireless status when NM comes back
7478
7479 2007-10-16  Dan Williams  <dcbw@redhat.com>
7480
7481         * libnm-glib/nm-client.c
7482                 - (nm_client_activate_device): actually use the fixed-up specific
7483                         object path
7484
7485 2007-10-16  Dan Williams  <dcbw@redhat.com>
7486
7487         * src/nm-hal-manager.c
7488                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7489                         killswitch error messages once
7490
7491 2007-10-16  Dan Williams  <dcbw@redhat.com>
7492
7493         * src/nm-manager.c
7494                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7495                         if it's disabled in hardware; don't touch network devices while
7496                         NM is asleep
7497
7498 2007-10-16  Dan Williams  <dcbw@redhat.com>
7499
7500         * libnm-util/nm-client.c
7501                 - (nm_client_activate_device): convert NULL specific_object to "/",
7502                         which is used in place of NULL
7503
7504         * src/nm-manager.c
7505                 - (impl_manager_activate_device): convert "/" specific_object back into
7506                         NULL
7507
7508 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7509
7510         Implement a generic NMSetting creator from setting name.
7511         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7512         add a virtual function 'populate_fn'.
7513
7514         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7515         (register_default_creators): Register setting creators instead of functions
7516         that create and then populate.
7517         (parse_one_setting): Use the common setting creator and then setting specific
7518         poplulation function.
7519
7520         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7521         they all looked exactly the same.
7522         Add a 'populate_fn' virtual function to NMSetting.
7523         Use default virtual functions in case they are not overriden.
7524         (nm_setting_populate_from_hash): Implement.
7525
7526         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7527         name, use a defined string.
7528         (real_act_stage4_get_ip4_config): Ditto.
7529
7530 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7531
7532         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7533         HAL is int, not uint.
7534
7535 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7536
7537         Implement killswitch polling through HAL.
7538
7539         * src/nm-manager.c: Add wireless hardware status property. Add 
7540         'properties-changed' signal for changes in wireless and wireless hardware
7541         state changes.
7542
7543         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7544         and update NMManager's wireless hardware state when it has changed.
7545         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7546         already does that.
7547
7548         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7549         values of wireless state and wireless hardware state. Listen for the
7550         'properties-changed' signals, update the cached values and emit notify.
7551
7552         * include/NetworkManager.h: Fix a typo in a comment.
7553
7554 2007-10-14  Dan Williams  <dcbw@redhat.com>
7555
7556         * libnm-util/nm-setting.c
7557                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7558
7559 2007-10-13  Dan Williams  <dcbw@redhat.com>
7560
7561         * libnm-util/nm-setting.h
7562           libnm-util/nm-setting.c
7563           src/supplicant-manager/nm-supplicant-config.c
7564                 - Make the 'proto' field of the 802-11-wireless-security field a
7565                         string list
7566
7567 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7568
7569         Rework the "properties-changed" signal listening implementation.
7570         Add a generic implementation to NMObject class that listens for
7571         the signal and calls property setters of the target NMObject.
7572
7573         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7574
7575         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7576         code to the end of file so that all the static functions are available
7577         without extra declarations.
7578         Remove the "properties-changed" signal handling and use the framework from
7579         NMObject.
7580         Implement property setters for properties that change with 
7581         "properties-changed" signal.
7582
7583         * libnm-glib/nm-access-point.c: Ditto.
7584
7585 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7586
7587         Rework the "properties-changed" signal implementation.
7588         In classes that need to use it, just emit "GObject::notify" and the new
7589         framework takes care of the rest to make the signal available on dbus.
7590         The framework queues the notifications and tries to send as many together
7591         in one signal as possible.
7592
7593         * src/nm-properties-changed-signal.c:
7594         * src/nm-properties-changed-signal.h: Implement.
7595
7596         * src/Makefile.am: Add new files to build.
7597
7598         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7599         signal.
7600
7601         * src/nm-device-802-11-wireless.c: Ditto.
7602
7603 2007-10-10  Dan Williams  <dcbw@redhat.com>
7604
7605         * src/nm-manager.c
7606                 - (wait_for_connection_expired): ensure info is valid
7607                 - (connection_added_default_handler): Should only remove pending
7608                         connection info when the manager has the connection that it's
7609                         waiting for.  Fixes segfault in wait_for_connection_info().  
7610
7611 2007-10-10  Dan Williams  <dcbw@redhat.com>
7612
7613         * libnm-util/nm-setting.c
7614           libnm-util/nm-setting.h
7615                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7616                         can use if they choose.  Should be filled in by the settings service
7617                         on-the-fly with the currently logged in user's username
7618
7619 2007-10-10  Dan Williams  <dcbw@redhat.com>
7620
7621         * src/nm-device-802-11-wireless.c
7622                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7623                         as such, because even if the manager fills in the SSID, NM still
7624                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7625                         its SSID
7626
7627 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7628
7629         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7630         code that used NM's own version of dbus signal handling and custom dictionary
7631         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7632         and we get to maintain over 2000 lines less code.
7633
7634         * libnm-util/dbus-dict-helpers.c:
7635         * libnm-util/dbus-dict-helpers.h: Remove.
7636
7637         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7638
7639         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7640
7641         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7642         handlers.
7643
7644         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7645
7646         * configure.in: Remove test/libnm-util/Makefile creation.
7647
7648         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7649
7650         * test/libnm-util/: Remove the whole directory.
7651
7652 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7653
7654         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7655         device_state_changed_idle_id variable or it would contain some random value and the
7656         schedule_change_check calls would not do anything.
7657
7658 2007-10-09  Dan Williams  <dcbw@redhat.com>
7659
7660         * src/nm-device-802-11-wireless.c
7661                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7662                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7663                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7664                         merging of non-SSID-broadcasting APs
7665
7666 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7667
7668         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7669         "guint8 *" since it's usually used with GByteArray->data.
7670         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7671
7672 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7673
7674         * src/NetworkManagerUtils.c
7675         (nm_utils_is_empty_ssid):
7676         (nm_utils_escape_ssid):
7677         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7678         lot of places, so they belong to libnm-utils instead.
7679
7680         Now with 100% less compiler warnings:
7681
7682         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7683         (nm_dbus_unescape_object_path): Ditto.
7684         (nm_utils_ssid_to_utf8): Ditto.
7685         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7686         (nm_utils_escape_ssid): Ditto.
7687         (nm_utils_same_ssid): Ditto.
7688
7689         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7690         (add_one_connection_element): Remove an unused variable.
7691         (impl_manager_get_active_connections): Ditto.
7692
7693         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7694         variable.
7695
7696         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7697         from the previous commit.
7698
7699         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7700         (real_act_stage1_prepare): Ditto.
7701         (activation_success_handler): Ditto.
7702         (get_property): Ditto.
7703
7704         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7705         variable.
7706
7707         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7708         it's always set.
7709
7710         * src/supplicant-manager/nm-supplicant-config.c 
7711         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7712         to expected "char *".
7713         (nm_supplicant_config_add_setting_wireless): Ditto.
7714         (nm_supplicant_config_remove_option): Remove, not used.
7715
7716         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7717         not double.
7718         (test_wireless_enabled): Ifdef out unused function.
7719         (device_deactivate): Ditto.
7720         (device_state_changed): Ditto.
7721         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7722         (nm_utils_escape_ssid): Ditto.
7723
7724         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7725         (nm_utils_is_empty_ssid): Ditto.
7726
7727         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7728         unused variable.
7729
7730         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7731         (setting_vpn_properties_update_secrets): Ditto.
7732         (int_to_gvalue): Ifdef out for now, not used.
7733         (byte_to_gvalue): Ditto.
7734
7735         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7736         Unused, remove.
7737
7738 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7739
7740         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7741         about dbus manager, not named manager.
7742         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7743
7744         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7745         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7746         However, the same signal is emitted when we destroy it and there's 
7747         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7748
7749         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7750         releasing the DBusGConnection, since proxy needs a conneciton.
7751         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7752
7753 2007-10-08  Dan Williams  <dcbw@redhat.com>
7754
7755         * src/NetworkManager.c
7756                 - (main): error on unknown command-line options
7757
7758 2007-10-08  Dan Williams  <dcbw@redhat.com>
7759
7760         Reimplement the invalid connection list.  Don't try to re-activate a
7761         connection that just failed or was canceled.
7762
7763         * src/nm-device.c
7764                 - (connection_secrets_failed_cb): fail device activation, don't just
7765                         deactivate the device.  Listeners have to know about the failure.
7766
7767         * src/NetworkManagerPolicy.c
7768                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7769                         the connection list given to a device's get_best_connection()
7770                         method
7771                 - (device_state_changed): tag failed connections as invalid; clear the
7772                         tag from successful connections
7773
7774 2007-10-08  Dan Williams  <dcbw@redhat.com>
7775
7776         Fix problems with interrupted activation.  Previously, choosing an AP
7777         from the menu, then choosing another one before the first connection was
7778         successful wouldn't deactivate the device before starting the new connection
7779         on that same device.
7780
7781         * src/NetworkManagerPolicy.c
7782                 - (deactivate_old_device, device_state_changed, state_changed,
7783                    nm_policy_new): wrong place to deactivate old devices
7784
7785         * src/nm-manager.c
7786                 - (pending_connection_info_destroy, finalize,
7787                    wait_for_connection_expired): decouple destruction of the pending
7788                         connection info from the manager device
7789                 - (connection_added_default_handler): deactivate any active or
7790                         activating device before starting a new activation
7791                 - (impl_manager_activate_device): deactivate any active or activating
7792                         device before starting a new activation; be sure not to leak
7793                         pending connection info if a new activation request arrives but
7794                         there's already a pending one in-process
7795
7796 2007-10-08  Dan Williams  <dcbw@redhat.com>
7797
7798         * src/NetworkManagerAP.h
7799           src/NetworkManagerAP.c
7800                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7801                         should handle default SSIDs and whether or not to autoconnect
7802                         to them
7803
7804 2007-10-08  Dan Williams  <dcbw@redhat.com>
7805
7806         * src/NetworkManagerPolicy.c
7807                 - (nm_policy_device_change_check): print out connection name where
7808                         possible
7809
7810 2007-10-08  Dan Williams  <dcbw@redhat.com>
7811
7812         * src/nm-device-802-11-wireless.c
7813           src/nm-device-802-11-wireless.h
7814                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7815                         'hidden-ap-found' signal (for internal use only) that allows the
7816                         NMManager to fill in the AP's SSID if a connection has that AP's
7817                         BSSID in its seen-bssids list
7818
7819         * src/nm-manager.c
7820                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7821                         wireless device's hidden-ap-found signal and fill in the APs SSID
7822                         if possible
7823
7824 2007-10-07  Dan Williams  <dcbw@redhat.com>
7825
7826         * src/nm-manager.c
7827           src/nm-manager.h
7828                 - Add a 'connections-added' signal to batch together updates of large
7829                         numbers of connections, like when reading from a settings service
7830                         the first time.  Otherwise, the policy would just activate the first
7831                         suitable connection it saw rather than waiting for the full list
7832                         to arrive.
7833                 - (nm_manager_class_init): register new signal
7834                 - (get_type_for_proxy, connection_get_settings_cb,
7835                    get_connection_for_proxy): centralize places where a proxy's setting
7836                         service is determined
7837                 - (free_get_settings_info): if the call being freed is the last call
7838                         in a pending call group, fire off the connections-added signal
7839                 - (internal_new_connection_cb): add call to a pending call group if
7840                         requested
7841                 - (list_connections_cb): always create a call group here, because this
7842                         call results in a batch of new connections
7843                 - (initial_get_connections): start getting system connections first
7844                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7845                         removed signal when destroying connections
7846
7847         * src/NetworkManagerPolicy.c
7848                 - (nm_policy_new, connections_added): handle connections-added signal
7849                         from the manager
7850
7851 2007-10-06  Dan Williams  <dcbw@redhat.com>
7852
7853         * src/nm-device-802-11-wireless.c
7854                 - (constructor): fix leaked socket
7855
7856 2007-10-06  Dan Williams  <dcbw@redhat.com>
7857
7858         * src/NetworkManagerPolicy.c
7859                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7860                         connection in the list returned by nm_manager_get_connections() is
7861                         reffed, but they weren't getting unreffed before returning
7862
7863 2007-10-06  Dan Williams  <dcbw@redhat.com>
7864
7865         * src/nm-manager.c
7866                 - (connections_to_slist): sort connections first on autoconnect, then
7867                         on timestamp
7868
7869 2007-10-06  Dan Williams  <dcbw@redhat.com>
7870
7871         * libnm-util/nm-connection.c
7872                 - (gvalue_to_string): handle UINT64
7873
7874 2007-10-06  Dan Williams  <dcbw@redhat.com>
7875
7876         * src/NetworkManagerPolicy.c
7877                 - (connection_updated, nm_policy_new): recheck state when a connection
7878                         gets updated
7879
7880 2007-10-06  Dan Williams  <dcbw@redhat.com>
7881
7882         * src/nm-manager.c
7883           src/nm-manager.h
7884                 - (nm_manager_get_connection_dbus_path): make static
7885                 - (nm_manager_update_connections): remove; unused
7886                 - Add a connection-updated signal
7887                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7888                         handle connection object updates
7889
7890 2007-10-06  Dan Williams  <dcbw@redhat.com>
7891
7892         * src/NetworkManagerPolicy.c
7893                 - (connection_removed): deactivate removed connections
7894
7895 2007-10-06  Dan Williams  <dcbw@redhat.com>
7896
7897         * libnm-util/nm-connection.c
7898           libnm-util/nm-connection.h
7899                 - (nm_connection_replace_settings): new function
7900
7901 2007-10-06  Dan Williams  <dcbw@redhat.com>
7902
7903         * libnm-glib/nm-device-802-11-wireless.c
7904                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7905                         on error when getting the active access point over D-Bus from NM
7906
7907 2007-10-05  Dan Williams  <dcbw@redhat.com>
7908
7909         * libnm-util/nm-setting.c
7910                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7911                         to the NMSettingWireless table; it's now a string array not an array
7912                         of byte arrays
7913
7914 2007-10-05  Dan Williams  <dcbw@redhat.com>
7915
7916         * libnm-glib/nm-device-802-11-wireless.c
7917                 - Cache properties and update cached properties on D-Bus signals from NM
7918
7919 2007-10-05  Dan Williams  <dcbw@redhat.com>
7920
7921         * src/nm-device-802-11-wireless.c
7922                 - (set_current_ap): consolidate current_ap handling code into one place
7923                         to ensure that PropertiesChanged signals are emitted in all cases
7924                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7925                    nm_device_802_11_wireless_dispose): use set_current_ap()
7926
7927 2007-10-05  Dan Williams  <dcbw@redhat.com>
7928
7929         * libnm-glib/nm-access-point.c
7930           libnm-glib/nm-access-point.h
7931                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7932                         because the value is cached internally now.  Callers should not
7933                         free the internal value.
7934                 - Make signal name defines private
7935
7936         * test/nm-tool.c
7937           libnm-glib/libnm-glib-test.c
7938                 - Don't free value returned from nm_access_point_get_hw_address()
7939
7940 2007-10-04  Dan Williams  <dcbw@redhat.com>
7941
7942         * introspection/nm-device-802-11-wireless.xml
7943           src/nm-device-802-11-wireless.h
7944           src/nm-device-802-11-wireless.c
7945                 - Add a PropertiesChanged signal for wireless device
7946                 - Store currently associated access point
7947                 - (periodic_update): generalize; update rate here too and emit the
7948                         correct PropertiesChanged signal when stuff changes
7949                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7950                    real_activation_cancel_handler): clear current_ap when device is
7951                         deactivated
7952                 - (link_to_specific_ap, get_ap_blacklisted,
7953                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7954                         code
7955                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7956                         outside this file
7957                 - (real_set_hw_address): emit property changed signal if the card's
7958                         MAC address changes
7959                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7960                         the card is supposed to be connecting to
7961                 - (activation_success_handler): send out property updates on successful
7962                         activation
7963                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7964                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7965                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7966                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7967                         is now boxed; add PropertiesChanged signal
7968
7969 2007-10-04  Dan Williams  <dcbw@redhat.com>
7970
7971         * libnm-util/nm-connection.c
7972           libnm-util/nm-connection.h
7973                 - (nm_connection_verify): new function
7974
7975 2007-10-04  Dan Williams  <dcbw@redhat.com>
7976
7977         * libnm-util/nm-setting.c
7978                 - (nm_settings_verify): use #defines when possible rather than strings
7979                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7980                 - (setting_vpn_verify): tighter validity check on 'service_type'
7981
7982 2007-10-04  Dan Williams  <dcbw@redhat.com>
7983
7984         * libnm-glib/nm-settings.c
7985                 - (nm_connection_settings_class_init): provide correct type for argument
7986                         to the Updated signal so that dbus-glib knows how to marshal it
7987
7988 2007-10-03  Dan Williams  <dcbw@redhat.com>
7989
7990         * src/nm-device-802-3-ethernet.c
7991                 - (real_get_best_connection): don't create automatic connections
7992                         internally; clients should provide a setting that applies to
7993                         the device with 'autoconnect: True'.  Problem was that these
7994                         internally auto-created connections don't have a proxy or service
7995                         name becuase they weren't created by a settings daemon, and therefore
7996                         clients have no idea what to do with them.
7997
7998 2007-10-03  Dan Williams  <dcbw@redhat.com>
7999
8000         * src/nm-device-802-11-wireless.c
8001           src/nm-device-802-11-wireless.h
8002           introspection/nm-device-802-11-wireless.xml
8003                 - GetActiveNetworks -> GetAccessPoints
8004                 - ActiveNetwork -> ActiveAccessPoint
8005                 - NetworkAdded -> AccessPointAdded
8006                 - NetowrkRemoved -> AccessPointRemoved
8007
8008         * libnm-glib/nm-device-802-11-wireless.c
8009           libnm-glib/nm-device-802-11-wireless.h
8010                 - network-added signal -> access-point-added
8011                 - network-removed signal -> access-point-removed
8012                 - nm_device_802_11_wireless_get_active_network() ->
8013                         nm_device_802_11_wireless_get_active_access_point()
8014                 - nm_device_802_11_wireless_get_network_by_path() ->
8015                         nm_device_802_11_wireless_get_access_point_by_path()
8016                 - nm_device_802_11_wireless_get_networks() ->
8017                         nm_device_802_11_wireless_get_access_points()
8018
8019         * libnm-glib/libnm-glib-test.c
8020           test/nm-tool.c
8021           src/NetworkManagerPolicy.c
8022                 - Fixups for Network -> AccessPoint
8023
8024 2007-10-03  Dan Williams  <dcbw@redhat.com>
8025
8026         Add a GetActiveConnections() method on the Manager object.
8027
8028         * src/nm-manager.c
8029           src/nm-manager.h
8030           introspection/nm-manager.xml
8031                 - (connection_get_settings_cb): keep connection type around too
8032                 - (impl_manager_get_active_connections, add_one_connection_element):
8033                         implement; returns all active connections and what devices they
8034                         apply to
8035
8036         * libnm-glib/nm-client.c
8037           libnm-glib/nm-client.h
8038           introspection/nm-manager-client.xml
8039                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8040                         by the caller; free here to avoid memory leak
8041                 - (nm_client_get_active_connections): implement; return the list of
8042                         active connections
8043                 - (nm_client_free_active_connection_element): implement; free an element
8044                         of the GSList returned by nm_client_get_active_connections()
8045
8046 2007-10-03  Dan Williams  <dcbw@redhat.com>
8047
8048         * src/nm-device-802-11-wireless.c
8049                 - (nm_device_802_11_wireless_update_bssid): remove
8050                 - (get_active_ap): new function; find the AP in the scan list which
8051                         matches the current BSSID and SSID of the wireless device
8052                 - (nm_device_802_11_periodic_update): get current AP using
8053                         get_active_ap() and print AP roam messages
8054
8055 2007-10-01  Dan Williams  <dcbw@redhat.com>
8056
8057         * libnm-util/nm-setting.h
8058                 - Add a 'timestamp' option to NMSettingConnection
8059                 - Add a UINT64 type
8060
8061         * libnm-util/nm-setting.c
8062                 - (uint64_to_gvalue): new function
8063                 - (nm_setting_populate_from_hash, nm_setting_hash,
8064                    default_setting_clear_secrets): handle UINT64 type
8065                 - con_table: add 'timestamp' member
8066
8067 2007-10-01  Dan Williams  <dcbw@redhat.com>
8068
8069         * src/nm-manager.c
8070                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8071                         value when the connection can be activated immediately
8072
8073 2007-10-01  Dan Williams  <dcbw@redhat.com>
8074
8075         * libnm-glib/nm-device.c
8076                 - (nm_device_class_init): actually tell glib about the carrier-changed
8077                         signal
8078
8079 2007-10-01  Dan Williams  <dcbw@redhat.com>
8080
8081         * configure.in
8082           src/marshallers/Makefile.am
8083           src/marshallers/nm-marshal.list
8084           src/marshallers/nm-marshal-main.c
8085                 - Consolidate glib marshallers into one place
8086
8087         * src/dhcp-manager/Makefile.am
8088           src/dhcp-manager/nm-dhcp-manager.c
8089           src/supplicant-manager/Makefile.am
8090           src/supplicant-manager/nm-supplicant-manager.c
8091           src/supplicant-manager/nm-supplicant-interface.c
8092           src/ppp-manager/Makefile.am
8093           src/ppp-manager/nm-ppp-manager.c
8094           src/vpn-manager/Makefile.am
8095           src/vpn-manager/nm-vpn-connection.c
8096           src/Makefile.am
8097                 - Use consolidated marshallers
8098
8099         * src/dhcp-manager/nm-dhcp-marshal.list
8100           src/dhcp-manager/nm-dhcp-marshal-main.c
8101           src/supplicant-manager/nm-supplicant-marshal-main.c
8102           src/supplicant-manager/nm-supplicant-marshal.list
8103           src/nm-marshal-main.c
8104           src/nm-marshal.list
8105           src/ppp-manager/nm-ppp-marshal-main.c
8106           src/ppp-manager/nm-ppp-marshal.list
8107           src/vpn-manager/nm-vpn-marshal-main.c
8108           src/vpn-manager/nm-vpn-marshal.list
8109                 - Remove
8110
8111 2007-10-01  Dan Williams  <dcbw@redhat.com>
8112
8113         * include/NetworkManagerVPN.h
8114                 - define VPN connection state change reason codes
8115
8116         * src/vpn-manager/Makefile.am
8117           src/vpn-manager/nm-vpn-marshal.list
8118           src/vpn-manager/nm-vpn-marshal-main.c
8119                 - Add marshallers for StateChanged signal
8120
8121         * introspection/nm-vpn-connection.xml
8122                 - New Banner property
8123                 - StateChanged signal now includes a 'reason' argument
8124
8125         * src/vpn-manager/nm-vpn-connection.c
8126           src/vpn-manager/nm-vpn-connection.h
8127                 - Add a "Banner" property that contains the returned VPN server login
8128                         banner (if any); valid only in the ACTIVATED state
8129                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8130                         a 'reason' argument and emits that reason along with the
8131                         state-changed signal
8132                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8133                 - (nm_vpn_connection_ip4_config_get): save banner for later
8134                 - (nm_vpn_connection_get_banner, get_property,
8135                    nm_vpn_connection_class_init): implement Banner property
8136
8137         * src/vpn-manager/nm-vpn-service.c
8138                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8139                         connection list because elements may get added/removed from it
8140                         while iterating over the list
8141                 - (connection_state_changed): signal now includes the 'reason' argument
8142
8143         * libnm-glib/nm-vpn-connection.c
8144           libnm-glib/nm-vpn-connection.h
8145                 - (nm_vpn_connection_get_banner): new function
8146                 - (state_changed_proxy): handle reason argument
8147
8148 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8149
8150         * src/nm-manager.c:
8151         * src/nm-manager.h:
8152         Implement device activation through NMManager.
8153         Implement "pending device activation" here - If the connection isn't found,
8154         we try to wait for up to 5 seconds for the connection to be provided.
8155         Add NMConnectionType argument to "connection-added" and "connection-removed"
8156         signals.
8157         (nm_manager_get): Remove. Finally.
8158
8159         * src/nm-activation-request.c: 
8160         * src/nm-activation-request.h: 
8161         Remove all the deferred activation code.
8162
8163         * src/nm-device.c: Remove all the deferred activation code. Once the device
8164         activation is started, it's started. Update the activation virtual function
8165         signature.
8166
8167         * src/nm-device-interface.c:
8168         * src/nm-device-interface.h:
8169         Device activation now takes only NMActRequest argument.
8170         Don't expose device activation directly on dbus, it's supposed to go through
8171         NMManager now.
8172
8173         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8174         a bit more compact.
8175         Use the new device activation methods through NMManager.
8176
8177         * introspection/nm-manager-client.xml: 
8178         * introspection/nm-manager.xml: 
8179         * libnm-glib/nm-client.c:
8180         * libnm-glib/nm-client.h:
8181         Add device activation method.
8182         
8183         * libnm-glib/nm-device.c: 
8184         * libnm-glib/nm-device.h: 
8185         * introspection/nm-device.xml: 
8186         Remove device activation method. It's done through NMManager now.
8187
8188         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8189         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8190
8191 2007-09-28  Dan Williams  <dcbw@redhat.com>
8192
8193         * libnm-glib/nm-vpn-connection.c
8194                 - (nm_vpn_connection_get_state): try to update state if the current
8195                         state is UNKNOWN
8196
8197 2007-09-27  Dan Williams  <dcbw@redhat.com>
8198
8199         Patch from Bill Nottingham
8200
8201         * src/supplicant-manager/nm-supplicant-config.c
8202                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8203                         data to the supplicant
8204
8205 2007-09-27  Dan Williams  <dcbw@redhat.com>
8206
8207         * src/NetworkManagerSystem.c
8208                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8209                         and all address manipulation here should be happening on the
8210                         _VPN_ device, not the active device
8211
8212 2007-09-26  Dan Williams  <dcbw@redhat.com>
8213
8214         * src/nm-manager.c
8215           src/nm-manager.h
8216           src/nm-activation-request.c
8217           src/nm-activation-request.h
8218                 - Move the GetSecrets stuff out of the NMManager instance because it
8219                         doesn't really need to be there and complicates things
8220
8221         * src/nm-device.c
8222                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8223                         connection-secrets-failed signal and deactivate the device if
8224                         the GetSecrets call fails
8225
8226         * src/nm-device-802-11-wireless.c
8227                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8228                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8229                         secrets and give correct hints about whether new secrets should be
8230                         asked for by the client or not
8231
8232 2007-09-26  Dan Williams  <dcbw@redhat.com>
8233
8234         * src/vpn-manager/nm-vpn-connection.c
8235                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8236                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8237                         to the secrets-updated signal of the NMConnection since updating
8238                         the secrets is done within the scope of the NMVPNConnection object
8239                         already
8240                 - (get_connection_secrets): fix an uninialized variable usage error
8241
8242 2007-09-26  Dan Williams  <dcbw@redhat.com>
8243
8244         * libnm-util/nm-setting.c
8245                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8246                         actually get updated when the user enters them
8247
8248 2007-09-26  Dan Williams  <dcbw@redhat.com>
8249
8250         * libnm-glib/nm-vpn-plugin.c
8251                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8252
8253 2007-09-26  Dan Williams  <dcbw@redhat.com>
8254
8255         * include/NetworkManagerVPN.h
8256                 - Add a NEED_AUTH state
8257
8258         * src/vpn-manager/nm-vpn-connection.c
8259                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8260                         the connection needs secrets, and if so, then ask the settings
8261                         service to fill in the secrets.  Then start the connection.
8262
8263 2007-09-26  Dan Williams  <dcbw@redhat.com>
8264
8265         * src/vpn-manager/nm-vpn-manager.c
8266                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8267
8268 2007-09-26  Dan Williams  <dcbw@redhat.com>
8269
8270         * introspection/nm-vpn-plugin.xml
8271           libnm-glib/nm-vpn-plugin.c
8272           libnm-glib/nm-vpn-plugin.h
8273                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8274                         the name of the NMSetting in an NMConnection that may require
8275                         secrets specific to that VPN plugin
8276
8277 2007-09-26  Dan Williams  <dcbw@redhat.com>
8278
8279         * src/nm-manager.c
8280           src/nm-manager.h
8281                 - (nm_manager_get_connection_secrets): make static, unused outside
8282                         the file
8283                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8284
8285 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8286
8287         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8288         method.
8289         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8290         unreference the connection.
8291
8292         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8293         passing properties hash and routes string list, pass NMConnection (in hashed form).
8294
8295         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8296         as GSList, no need to copy stuff around anymore.
8297         (nm_vpn_connection_activate): Update the plugin activation method.
8298
8299         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8300         routes argument to GSList.
8301
8302 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8303
8304         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8305         state and try to get the secrets.
8306
8307         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8308         connections from NMManager and let the device to choose the best from the list.
8309         Since the connection list is sorted by system ones first and user ones later,
8310         the devices still prefer system connections like they did before.
8311         (deactivate_old_device): Implement. When a device starts activation, we have a
8312         policy (for now at least) to deactivate any other device that might be either
8313         active or still activating.
8314
8315         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8316         It's set on construction, there will be no other way to access it.
8317
8318         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8319         device events and drive the device, not the other way around.
8320
8321         * src/nm-device-802-3-ethernet.c: Ditto.
8322
8323         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8324         sent along, pass it on to virtual functions.
8325
8326         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8327         for now, but should really be public instead of nm_device_get_iface() since iface
8328         is a property of the DeviceInterface, not Device.
8329         (impl_device_activate): Don't touch NMManager!
8330
8331 2007-09-26  Jürg Billeter  <j@bitron.ch>
8332
8333         * initscript/paldo/NetworkManager.in:
8334         * initscript/paldo/NetworkManagerDispatcher.in:
8335         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8336         (nm_system_flush_loopback_routes): update paldo backend
8337
8338 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8339
8340         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8341         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8342         which means none of the devices get brought down properly, which in turn leaves
8343         DHCP client running.
8344
8345         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8346         (supplicant_connection_timeout_cb): Ditto.
8347
8348 2007-09-25  Dan Williams  <dcbw@redhat.com>
8349
8350         * src/nm-device.c
8351                 - (device_activation_go): small hack to work around race when
8352                         activating deferred connections; should solve this in a better way
8353
8354 2007-09-25  Dan Williams  <dcbw@redhat.com>
8355
8356         * introspection/nm-device.xml
8357           libnm-glib/nm-device.c
8358           libnm-glib/nm-device.h
8359                 - Add 'Carrier' property to exported NMDevice objects
8360
8361         * src/nm-device-interface.h
8362           src/nm-device-interface.c
8363           src/nm-device.c
8364                 - Add a 'carrier' property to internal NMDevice objects
8365
8366 2007-09-25  Dan Williams  <dcbw@redhat.com>
8367
8368         * src/nm-device-802-11-wireless.c
8369                 - (ap_auth_enforced): also return the encryption status of the AP so
8370                         that callers can differentiate easily between unencrypted APs
8371                         and encrypted ones, in addition to whether the AP has an
8372                         authenticator
8373                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8374                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8375                         previously would request secrets from unencrypted APs at times
8376
8377 2007-09-25  Dan Williams  <dcbw@redhat.com>
8378
8379         * src/nm-manager.c
8380                 - (nm_manager_update_state): new function; updates state and emits
8381                         appropriate signals ensuring a state-change signal for the same state
8382                         never gets emitted twice in a row.
8383                 - (manager_device_state_changed): handle more device state to get a
8384                         better picture of the overall NM state
8385
8386 2007-09-25  Dan Williams  <dcbw@redhat.com>
8387
8388         * libnm-glib/nm-settings.c
8389           libnm-glib/nm-settings.h
8390                 - (new_error -> nm_settings_new_error): make public so that subclasses
8391                         can use the same error domain.  Also pass a valid error code to
8392                         g_error_new_literal() so that libdbus doesn't assert when converting
8393                         the GError into a DBusError
8394                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8395                    impl_connection_settings_get_settings,
8396                    impl_connection_settings_get_secrets): use new error creator
8397                         function
8398
8399 2007-09-25  Dan Williams  <dcbw@redhat.com>
8400
8401         * src/NetworkManager.c
8402                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8403
8404 2007-09-25  Dan Williams  <dcbw@redhat.com>
8405
8406         * src/supplicant-manager/nm-supplicant-manager.c
8407                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8408                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8409                    nm_supplicant_manager_startup): when the supplicant isn't running,
8410                         try to start it periodically via system bus activation.  Fixes
8411                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8412                         for the supplicant to come back
8413
8414 2007-09-25  Dan Williams  <dcbw@redhat.com>
8415
8416         Ensure that old activation requests are forgotten about; previously
8417         hitting Cancel in the password dialog would deactivate whatever device
8418         that password was requested for, even if that wasn't the currently
8419         activating connection.
8420
8421         * src/nm-manager.c
8422           src/nm-manager.h
8423                 - (nm_manager_get_connection_secrets): track the pending call
8424                         object so it can be canceled later if needed
8425                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8426                         GetSecrets call for a particular connection
8427
8428         * src/nm-activation-request.c
8429                 - (dispose): cancel any outstanding GetSecrets calls on the
8430                         connection
8431
8432 2007-09-25  Dan Williams  <dcbw@redhat.com>
8433
8434         * src/NetworkManagerPolicy.c
8435                 - (nm_policy_device_change_check): handle devices that have a
8436                         deferred activation.  These devices are not really active _yet_,
8437                         but need to be treated as such here.  Don't interrupt them
8438                         automatically.
8439
8440         * src/nm-device-interface.c
8441                 - (impl_device_activate): handle devices that have a deferred activation
8442                         like activating or active devices.  When multiple active devices
8443                         get committed, the device shouldn't be deactivated until the
8444                         connection details are available to avoid DoS and such.  Currently,
8445                         any active, activating, or deferred activation device is deactivated
8446                         here before starting the new activation request.
8447
8448 2007-09-25  Dan Williams  <dcbw@redhat.com>
8449
8450         Properly re-query secrets from the settings daemon when stuff fails.
8451
8452         * src/nm-device-802-11-wireless.c
8453                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8454                         between Shared Key and Open System auth modes
8455                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8456                    real_act_stage4_ip_config_timeout): clear existing secrets and
8457                         request new ones when something fails due to a suspected wrong key
8458                 - (real_act_stage2_config): fix for new request_new argument to
8459                         nm_manager_get_connection_secrets()
8460
8461         * src/nm-manager.c
8462           src/nm-manager.h
8463                 - (nm_manager_get_connection_secrets): return error status; pass
8464                         new request_new argument on to the settings daemon
8465
8466         * introspection/nm-settings-connection.xml
8467                 - New 'request_new' argument to the GetSecrets call that hints to the
8468                         settings daemon to ask the user for completely new secrets
8469
8470         * libnm-glib/nm-settings.c
8471           libnm-glib/nm-settings.h
8472                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8473                         argument
8474
8475 2007-09-25  Dan Williams  <dcbw@redhat.com>
8476
8477         * libnm-util/nm-connection.c
8478           libnm-util/nm-connection.h
8479                 - (nm_connection_clear_secrets): new function; clear secrets out of
8480                         each NMSetting in an NMConnection
8481
8482         * libnm-util/nm-setting.h
8483           libnm-util/nm-setting.c
8484                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8485                         secrets out of an NMSetting
8486                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8487                    nm_setting_wired_new, nm_setting_wireless_new,
8488                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8489                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8490                         to default handler default_setting_clear_secrets()
8491
8492 2007-09-25  Dan Williams  <dcbw@redhat.com>
8493
8494         * src/nm-activation-request.c
8495           src/nm-activation-request.h
8496                 - (nm_act_request_is_deferred): new function
8497
8498 2007-09-24  Dan Williams  <dcbw@redhat.com>
8499
8500         * src/nm-device-802-11-wireless.c
8501                 - (activation_success_handler): update signal strength immediately
8502                         after activation
8503
8504 2007-09-24  Dan Williams  <dcbw@redhat.com>
8505
8506         * libnm-util/nm-setting.c
8507                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8508
8509 2007-09-24  Dan Williams  <dcbw@redhat.com>
8510
8511         * src/NetworkManagerPolicy.c
8512                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8513                         device by deactivating it because it doesn't have a "best connection".
8514                         Since autoconnect=False connections aren't automatically chosen,
8515                         NM would interrupt activation of such a connection because it
8516                         would never be "best" due to autoconnect=False.
8517
8518 2007-09-24  Dan Williams  <dcbw@redhat.com>
8519
8520         * src/nm-manager.c
8521                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8522                         actually has some time to enter a key before the GetSecrets call
8523                         times out
8524
8525 2007-09-24  Dan Williams  <dcbw@redhat.com>
8526
8527         * introspection/nm-manager.xml
8528           src/nm-manager.c
8529                 - (impl_manager_legacy_state): fix 'state' method call return value
8530
8531 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8532
8533         * test/Makefile.am: Install nm-tool
8534
8535 2007-09-24  Dan Williams  <dcbw@redhat.com>
8536
8537         Patch from Ross Burton <ross@burtonini.com>
8538
8539         * test/nm-tool.c
8540           callouts/nm-dhcp-client-action.c
8541           src/nm-netlink.c
8542           src/vpn-manager/nm-vpn-connection.c
8543           libnm-glib/libnm-glib-test.c
8544                 - warning fixes
8545
8546 2007-09-24  Dan Williams  <dcbw@redhat.com>
8547
8548         * libnm-util/nm-utils.h
8549           libnm-util/nm-utils.c
8550                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8551                         remove, unused
8552
8553 2007-09-23  Dan Williams  <dcbw@redhat.com>
8554
8555         * vpn-daemons/vpnc/properties/nm-vpnc.c
8556                 - Update for new VPN properties API bits; instead of passing around
8557                         a lot of random things, everything goes into the NMConnection
8558                         object.
8559
8560 2007-09-23  Dan Williams  <dcbw@redhat.com>
8561
8562         * libnm-util/nm-setting.c
8563                 - Correctly dispose of settings objects if creating them from a hash
8564                         table fails
8565
8566 2007-09-23  Dan Williams  <dcbw@redhat.com>
8567
8568         * libnm-util/nm-setting.c
8569                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8570                         the hash table in a standard manner.  Clients of libnm-util should
8571                         only call g_hash_table_remove_all(), never destroy the hash table
8572                         and recreate it.
8573
8574 2007-09-22  Dan Williams  <dcbw@redhat.com>
8575
8576         * src/nm-device-802-11-wireless.c
8577                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8578                         real reason to do it so often, and reduces wakeups for clients.
8579
8580 2007-09-21  Dan Williams  <dcbw@redhat.com>
8581
8582         * src/nm-device-802-11-wireless.c
8583                 - (build_supplicant_config): wpa_supplicant requires the option
8584                         key_mgmt=NONE for unencrypted networks
8585                 - (real_act_stage2_config): clarify log message on activation
8586
8587 2007-09-21  Dan Williams  <dcbw@redhat.com>
8588
8589         * test/nm-supplicant-test.c
8590           test/Makefile.am
8591                 - Remove supplicant test binary; no longer applicable
8592
8593 2007-09-21  Dan Williams  <dcbw@redhat.com>
8594
8595         * src/supplicant-manager/nm-supplicant-manager.c
8596                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8597                         activate it on the system bus
8598
8599 2007-09-20  Dan Williams  <dcbw@redhat.com>
8600
8601         * initscript/RedHat/NetworkManager.in
8602                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8603
8604 2007-09-20  Dan Williams  <dcbw@redhat.com>
8605
8606         * src/nm-device.c
8607                 - (nm_device_is_activating): work around a race between auto-activation
8608                         and the user activating the same device that is being auto-activated
8609
8610 2007-09-20  Dan Williams  <dcbw@redhat.com>
8611
8612         * src/nm-device-interface.c
8613                 - (impl_device_activate): until multiple active device support lands,
8614                         ensure only one device can be active at a time
8615
8616 2007-09-20  Dan Williams  <dcbw@redhat.com>
8617
8618         * src/supplicant-manager/nm-supplicant-config.c
8619           src/supplicant-manager/nm-supplicant-config.h
8620                 - (nm_supplicant_config_add_option): hide secrets from system logs
8621
8622 2007-09-20  Dan Williams  <dcbw@redhat.com>
8623
8624         * src/NetworkManagerPolicy.c
8625                 - (nm_policy_device_change_check): re-enable the wireless device change
8626                         checking code; insted of checking for SSIDs, check for the same
8627                         connection instead
8628
8629 2007-09-20  Dan Williams  <dcbw@redhat.com>
8630
8631         * src/nm-device-802-11-wireless.c
8632                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8633                         composite link state when determining when to start the disconnection
8634                         timer; that link state is already based on the supplicant interface's
8635                         status which is exactly what's already being examined, plus the link
8636                         state is a conglomeration of various things that we don't want here
8637
8638 2007-09-20  Dan Williams  <dcbw@redhat.com>
8639
8640         * libnm-glib/nm-access-point.c
8641                 - (handle_property_changed): strength is a UCHAR
8642
8643 2007-09-20  Dan Williams  <dcbw@redhat.com>
8644
8645         * src/supplicant-manager/nm-supplicant-config.c
8646                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8647                         string list keywords too since that's what wpa_supplicant wants
8648
8649 2007-09-20  Dan Williams  <dcbw@redhat.com>
8650
8651         * libnm-util/nm-setting.c
8652                 - (convert_strv_to_slist): dupe the values in the list because since
8653                         the list is a boxed value, it'll get destroyed when it's container
8654                         (like a hash table or whatever) gets destroyed
8655
8656 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8657
8658         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8659         GSList.
8660
8661         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8662
8663         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8664         just use (g_object_set_data_full).
8665
8666         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8667         that NMSettingVPN->routes is a GSList, convert it to char **.
8668         (nm_vpn_connection_ip4_config_get): Free routes when done.
8669         (nm_vpn_connection_activate): Ditto.
8670
8671         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8672         (real_act_stage2_config): Use defined setting names.
8673
8674 2007-09-20  Dan Williams  <dcbw@redhat.com>
8675
8676         * src/nm-device-802-11-wireless.c
8677           src/nm-manager.c
8678           src/nm-manager.h
8679                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8680                         so that the device can be deactivated if secrets are wrong
8681
8682 2007-09-20  Dan Williams  <dcbw@redhat.com>
8683
8684         * introspection/nm-settings-connection.xml
8685           libnm-glib/nm-settings.c
8686           libnm-glib/nm-settings.h
8687                 - Make GetSecrets asynchronous on the server side
8688
8689 2007-09-20  Dan Williams  <dcbw@redhat.com>
8690
8691         * src/nm-manager.h
8692           src/nm-device.c
8693                 - (nm_device_activate): actually check if a given connection
8694                         exists before assuming it doesn't
8695
8696 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8697
8698         * libnm-util/nm-connection.c (register_default_creators): Use defined
8699         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8700
8701         * libnm-util/nm-setting.c: Define property name strings, use them.
8702         Implement NMSettingVPN and NMSettingVPNProperties settings.
8703         Implement NM_S_TYPE_GVALUE_HASH.
8704         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8705         (setting_connection_verify): Rename 'devtype' property to 'type'.
8706
8707         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8708         properties.
8709
8710         * src/vpn-manager/nm-vpn-service.c: Ditto.
8711
8712         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8713
8714         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8715         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8716
8717         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8718         names. NMSettingConnection->devtype got renamed to 'type'.
8719
8720         * src/nm-device-802-3-ethernet.c (find_best_connection):
8721         (real_get_best_connection): Ditto.
8722
8723         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8724
8725         * libnm-glib/nm-vpn-manager.[ch]: Update.
8726
8727 2007-09-19  Dan Williams  <dcbw@redhat.com>
8728
8729         * src/NetworkManagerAP.c
8730           src/NetworkManagerAP.h
8731           introspection/nm-access-point.xml
8732                 - Change strength-changed signal into a properties-changed signal
8733                         for all properties, not just strength.  Export that signal over dbus
8734                         so listeners don't have to poll NM for changes.
8735                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8736                         get exported over D-Bus, so break up the logic and let other bits
8737                         decided when to export the AP
8738                 - (nm_ap_new_from_ap): remove, unused
8739
8740         * src/nm-device-802-11-wireless.c
8741                 - (merge_scanned_ap): only export APs that are actually on the device
8742                         list, not every AP created internally
8743
8744         * libnm-glib/nm-access-point.c
8745           libnm-glib/nm-access-point.h
8746                 - Cache properties internally and only hit DBus when needed.  Get
8747                         property updates from NM signals
8748
8749 2007-09-16  Dan Williams  <dcbw@redhat.com>
8750
8751         * libnm-util/nm-connection.c
8752           libnm-util/nm-connection.h
8753                 - (nm_connection_for_each_setting_value): new function; iterate over
8754                         each setting's value and call a user-provided function with details
8755                         about that value
8756
8757         * libnm-util/nm-setting.c
8758           libnm-util/nm-setting.h
8759                 - (nm_setting_enumerate_values): new function; enumerate the values
8760                         of a specific NMSetting subclass for a user-provided function with
8761                         details about that value
8762                 - Change wep_tx_keyidx to a uint32
8763                 - Create settings value tables for each setting defining their type,
8764                         key name, offset into the NMSetting subclass' structure, and whether
8765                         they are required and/or a secret
8766                 - (nm_setting_populate_from_hash): generic function to populate an
8767                         NMSetting from a GHash table, make all settings use it
8768                 - (nm_setting_hash): generic function to derive a GHashTable from
8769                         an NMSetting object, make all settings use it
8770
8771 2007-09-14  Dan Williams  <dcbw@redhat.com>
8772
8773         Remove unused stuff in libnm-util
8774
8775         * configure.in
8776           libnm-util/Makefile.am
8777           libnm-util/cipher-private.h
8778           libnm-util/cipher-wep-ascii.c
8779           libnm-util/cipher-wep-ascii.h
8780           libnm-util/cipher-wep-hex.c
8781           libnm-util/cipher-wep-hex.h
8782           libnm-util/cipher-wep-passphrase.c
8783           libnm-util/cipher-wep-passphrase.h
8784           libnm-util/cipher-wpa-psk-hex.c
8785           libnm-util/cipher-wpa-psk-hex.h
8786           libnm-util/cipher-wpa-psk-passphrase.c
8787           libnm-util/cipher-wpa-psk-passphrase.h
8788           libnm-util/cipher.c
8789           libnm-util/cipher.h
8790           libnm-util/dbus-helpers.c
8791           libnm-util/dbus-helpers.h
8792           libnm-util/gnome-keyring-md5.c
8793           libnm-util/gnome-keyring-md5.h
8794           libnm-util/sha1.c
8795           libnm-util/sha1.h
8796           src/nm-device-802-11-wireless.c
8797           test/libnm-util/Makefile.am
8798           test/libnm-util/test-ciphers.c
8799           test/libnm-util/test-dbus-helpers.c
8800           test/libnm-util/test-inputs.h
8801                 - Removed
8802
8803 2007-09-14  Dan Williams  <dcbw@redhat.com>
8804
8805         * libnm-util/dbus-method-dispatcher.c
8806           libnm-util/dbus-method-dispatcher.h
8807                 - Remove, unused
8808
8809 2007-09-14  Dan Williams  <dcbw@redhat.com>
8810
8811         Implement deferred activation support in the device class.
8812
8813         * src/nm-device-interface.c
8814           src/nm-device-interface.h
8815                 - (nm_device_interface_activate): take more arguments to support
8816                         deferred activation; callers must pass one of (connection) OR
8817                         (service_name, connection_path)
8818                 - (impl_device_activate): connection validation is punted to the device
8819                         to be able to handle deferred activation.  Yes, this means errors
8820                         don't get returned from the Activate() dbus call, and yes, that
8821                         should be fixed somehow later.
8822
8823         * src/nm-device.c
8824           src/nm-device.h
8825                 - (clear_act_request): clear additional deferred activation stuff too
8826                 - (deferred_activation_timeout_cb): new function; clean up when
8827                         deferred activation times out.
8828                 - (deferred_activation_start_cb): new function; when the connection
8829                         finally becomes available, start device activation
8830                 - (nm_device_activate): attach to the right signals of the activation
8831                         request if we need to defer activation until the connection is valid
8832
8833         * src/NetworkManagerPolicy.c
8834                 - (nm_policy_device_change_check): update for additional arguments
8835                         required for nm_device_interface_activate().  Pass NULL for these
8836                         though because this function already knows exactly which
8837                         NMConnection to use
8838
8839 2007-09-14  Dan Williams  <dcbw@redhat.com>
8840
8841         Implement deferred activation handling in the NMActRequest class.  When a
8842         client wants to activate a device but must create the NMConnection details
8843         on the fly, there likely hasn't been enough time yet for NM to receive the
8844         new connection signal and grab all the connection details.  So the
8845         activation is deferred (and bounded by a timer) for a while, and if the
8846         connection appears within the window, it is activated.
8847
8848         * src/nm-activation-request.c
8849           src/nm-activation-request.h
8850                 - (nm_act_request_class_init): two new signals to support deferred
8851                         activation, to allow the listener to handle both timeout and success
8852                 - (nm_act_request_new_deferred): new function, starts the deferred
8853                         activation timeout handler and listens to the NMManager for
8854                         new-connection signals to notice when the connection comes in
8855
8856 2007-09-14  Dan Williams  <dcbw@redhat.com>
8857
8858         * src/nm-manager.h
8859           src/nm-manager.c
8860                 - (nm_manager_get_connection_service_name,
8861                    nm_manager_get_connection_dbus_path): get details about a connection
8862                         known internally by the NMManager
8863                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8864                         because NMConnection is now a GObject subclass
8865                 - Use constant for the gobject data tag used on NMConnection objects for
8866                         storing the associated DBusGProxy
8867
8868 2007-09-14  Dan Williams  <dcbw@redhat.com>
8869
8870         * utils/Makefile.am
8871           utils/nm-utils.c
8872           utils/nm-utils.h
8873           src/supplicant-manager/Makefile.am
8874           src/dhcp-manager/Makefile.am
8875           src/backends/Makefile.am
8876           src/named-manager/Makefile.am
8877           src/ppp-manager/Makefile.am
8878           src/vpn-manager/Makefile.am
8879           test/libnm-util/Makefile.am
8880           test/test-common/Makefile.am
8881                 - Remove utils/; it was unused
8882
8883 2007-09-13  Dan Williams  <dcbw@redhat.com>
8884
8885         * libnm-glib/nm-vpn-manager.h
8886           libnm-glib/nm-vpn-manager.c
8887                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8888
8889 2007-09-13  Dan Williams  <dcbw@redhat.com>
8890
8891         * src/nm-device-802-3-ethernet.c
8892                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8893                         netlink monitor carrier signals on dispose, not bring down.  The
8894                         carrier signals should be handled over the entire lifetime of the
8895                         device anyway, not created/destroyed on up or down.
8896
8897 2007-09-13  Dan Williams  <dcbw@redhat.com>
8898
8899         * libnm-glib/nm-device.c
8900           libnm-glib/nm-device.h
8901                 - (nm_device_activate): take a connection object path rather than an
8902                         NMConnection because NMConnection isn't exported over D-Bus and
8903                         therefore it dbus-glib can't automatically get an object path from it
8904
8905 2007-09-13  Dan Williams  <dcbw@redhat.com>
8906
8907         * libnm-util/nm-setting.c
8908                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8909
8910 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8911
8912         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8913
8914 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8915
8916         * src/vpn-manager/nm-vpn-connection.[ch]: 
8917         * src/vpn-manager/nm-vpn-manager.[ch]:
8918         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8919         dbus-glib, GObjects, signals etc.
8920
8921         * libnm-glib/nm-vpn-manager.[ch]: 
8922         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8923         so much, rewrite these too.
8924
8925         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8926         the new introspection files.
8927
8928         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8929
8930         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8931         the header with the same name from libnm-utils.
8932
8933         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8934
8935         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8936
8937         * introspection/nm-vpn-plugin.xml: Implement.
8938
8939         * introspection/nm-vpn-connection.xml: Implement.
8940
8941         * introspection/nm-vpn-manager.xml: Implement.
8942
8943         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8944         the named manager argument, it can just as easily get it as the caller.
8945         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8946
8947         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8948
8949         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8950
8951         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8952         libnm-utils.
8953
8954         * libnm-util/nm-connection.c: Ditto.
8955
8956         * src/NetworkManagerMain.h: Remove, it's finally empty.
8957
8958         * configure.in: Remove utils/ from build.
8959
8960         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8961         of hard-coded strings.
8962
8963         * utils/: Move it over to libnm-util.
8964
8965         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8966
8967         * dispatcher-daemon/Makefile.am: Ditto.
8968
8969         * src/Makefile.am: Ditto.
8970
8971 2007-09-12  Dan Williams  <dcbw@redhat.com>
8972
8973         Wireless connections can be made with config data from the applet now.
8974         
8975         Yay.
8976
8977         * src/supplicant-manager/nm-supplicant-config.h
8978           src/supplicant-manager/nm-supplicant-config.c
8979                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8980                 - (nm_supplicant_config_add_setting_wireless,
8981                    nm_supplicant_config_add_setting_wireless_security): new functions;
8982                         add key/value pairs from the settings objects to the supplicant
8983                         config
8984
8985         * src/nm-device-802-11-wireless.c
8986                 - (cull_scan_list): fix check to not prune currently associated AP
8987                 - (build_supplicant_config, real_act_stage2_config): call the functions
8988                         of the NMSupplicantConfig that parse settings objects rather than
8989                         doing it manually here
8990
8991 2007-09-12  Dan Williams  <dcbw@redhat.com>
8992
8993         * src/supplicant-manager/nm-supplicant-interface.c
8994           src/supplicant-manager/nm-supplicant-marshal.list
8995                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8996                         "connection-error" signal arguments should be STRING not CHAR
8997
8998 2007-09-12  Dan Williams  <dcbw@redhat.com>
8999
9000         * src/NetworkManagerUtils.c
9001           src/NetworkManagerUtils.h
9002                 - (nm_utils_hexstr2bin): new function
9003
9004 2007-09-11  Dan Williams  <dcbw@redhat.com>
9005
9006         * src/nm-manager.c
9007                 - (connection_get_settings_cb): emit connection-added signal
9008                 - (connection_removed_cb): uncomment bits for system settings service,
9009                         send connection-removed when appropriate
9010                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9011                         the stack by trying to g_object_set_data() on something that's
9012                         not a GObject; handle case where settings service returns
9013                         empty settings hash table
9014
9015 2007-09-11  Dan Williams  <dcbw@redhat.com>
9016
9017         * src/NetworkManagerPolicy.c
9018                 - (connection_added, connection_removed): trigger device change checks
9019                         on connection changes
9020
9021 2007-09-11  Dan Williams  <dcbw@redhat.com>
9022
9023         * src/nm-activation-request.c
9024                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9025
9026 2007-09-11  Dan Williams  <dcbw@redhat.com>
9027
9028         * src/nm-device-802-11-wireless.c
9029                 - (real_connection_secrets_updated): fix erroneous check
9030
9031 2007-09-11  Dan Williams  <dcbw@redhat.com>
9032
9033         * introspection/nm-device.xml
9034           libnm-glib/nm-device.c
9035           libnm-glib/nm-device.c
9036                 - Fix Activate call argument borkage; Activate takes 3 arguments
9037
9038 2007-09-11  Dan Williams  <dcbw@redhat.com>
9039
9040         * libnm-glib/nm-access-point.c
9041           libnm-glib/nm-access-point.c
9042                 - (nm_access_point_get_frequency): now returns guint32 to match
9043                         property change on 2007-09-10
9044
9045 2007-09-11  Dan Williams  <dcbw@redhat.com>
9046
9047         * src/nm-device-802-11-wireless.c
9048                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9049                         somewhere defines 'index' and I missed this one when I fixed the
9050                         shadow declaration errors earlier
9051
9052 2007-09-11  Dan Williams  <dcbw@redhat.com>
9053
9054         * libnm-util/nm-connection.c
9055                 - (nm_connection_update_secrets, need_secrets_check): move
9056                         802-11-wireless-security need_secrets checks to the setting object
9057                         itself, where it belongs
9058
9059         * libnm-util/nm-setting.c
9060           libnm-util/nm-setting.h
9061                 - (nm_setting_need_secrets): new function
9062                 - (setting_wireless_security_verify,
9063                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9064                 - (setting_wireless_security_need_secrets): mostly copy code over
9065                         from nm-connection.c
9066
9067 2007-09-11  Dan Williams  <dcbw@redhat.com>
9068
9069         * libnm-util/nm-setting.c
9070           libnm-util/nm-setting.h
9071                 - (nm_setting_update_secrets): new function; add a virtual function that
9072                         subclasses can implement to update their secrets
9073                 - (setting_wireless_security_update_secrets): implement that function
9074                         for the 802-11-wireless-security subclass
9075
9076         * libnm-util/nm-connection.c
9077           libnm-util/nm-connection.h
9078                 - (nm_connection_update_secrets): update secrets for a Setting and
9079                         emit a signal on success
9080
9081         * src/nm-manager.c
9082           src/nm-manager.h
9083           src/nm-marshal.list
9084                 - (connection_get_settings_cb): enable system settings bits
9085                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9086                         to request secrets from the settings dbus service and to
9087                         push those secrets to the NMConnection itself
9088
9089         * src/nm-activation-request.c
9090           src/nm-activation-request.h
9091                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9092                         currently being activated, and proxy that signal to other listeners.
9093                         Goes through the activation request because the activation request
9094                         is the thing that manages the lifetime of the NMConnection that's
9095                         being activated.
9096
9097         * src/nm-device-802-11-wireless.c
9098                 - (real_connection_secrets_updated): implement the connection secrets
9099                         updated notification and restart activation when secrets are
9100                         received
9101                 - (real_act_stage2_config): request secrets from the settings dbus
9102                         service if secrets are needed
9103
9104         * src/nm-device.c
9105           src/nm-device.h
9106                 - (clear_act_request, nm_device_activation_cancel,
9107                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9108                         where the activation request is cleared
9109                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9110                         updated secrets signal of activation request and add a function
9111                         that subclasses can override to handle it easily
9112
9113 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9114
9115         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9116         removal of NetworkManagerAPList.
9117
9118 2007-09-10  Dan Williams  <dcbw@redhat.com>
9119
9120         * src/NetworkManagerAP.c
9121           src/NetworkManagerAP.h
9122           introspection/nm-access-point.xml
9123                 - Change 'freq' property to a guint32 instead of a double since we
9124                         weren't using the floating point bits anyway
9125
9126 2007-09-10  Dan Williams  <dcbw@redhat.com>
9127
9128         * NetworkManagerAP.c
9129           NetworkManagerAP.h
9130           NetworkManagerPolicy.c
9131           NetworkManagerSystem.c
9132           NetworkManagerUtils.c
9133           NetworkManagerUtils.h
9134           nm-device-802-11-wireless.c
9135           nm-device-802-3-ethernet.c
9136           nm-hal-manager.c
9137           nm-manager.c
9138           vpn-manager/nm-dbus-vpn.c
9139                 - Warning fixes; casts and removal of unused variables
9140
9141 2007-09-10  Dan Williams  <dcbw@redhat.com>
9142
9143         * include/NetworkManager.h
9144                 - Kill NMNetworkType; AP types don't matter any more
9145
9146         * src/NetworkManagerAPList.c
9147           src/NetworkManagerAPList.h
9148           src/Makefile.am
9149                 - Kill; NMAccessPointList has outlived it's usefulness
9150
9151         * src/NetworkManagerAP.c
9152           src/NetworkManagerAP.h
9153                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9154                         functions; check if an NMConnection object is compatible with the
9155                         settings of this AP
9156                 - (freq_to_channel, channel_to_freq): utility functions for
9157                         channel <-> frequency conversion
9158
9159         * src/nm-device.c
9160           src/nm-device.h
9161                 - (nm_device_get_best_connection): pass the specific object around
9162                          (which might be the object path of a specific AP to connect to).
9163                          The get_best_connection() call should populate this on return
9164                          if needed (wireless does).
9165
9166         * src/nm-device-802-3-ethernet.c
9167                 - (real_get_best_connection): handle specific_object argument
9168
9169         * src/NetworkManager.c
9170           src/NetworkManagerMain.h
9171                 - Remove unused includes
9172
9173         * src/nm-device-802-11-wireless.c
9174           src/nm-device-802-11-wireless.h
9175                 - Convert the ap_list into a GSList from an NMAccessPointList
9176                 - No need for caching the 'activation_ap' since this is now determined
9177                         from the specific_object of the activation request, which is
9178                         populated from the get_best_connection() call or from a user request
9179                 - (nm_device_802_11_wireless_update_bssid): fix warning
9180                 - (get_wireless_capabilities): fix error message format arguments
9181                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9182                 - (find_best_connection, real_get_best_connection): implement
9183                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9184                         move here from NetworkManagerAPList
9185                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9186                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9187                         already verified earlier
9188                 - (real_act_stage2_config): use nm_connection_need_secrets()
9189
9190         * src/NetworkManagerPolicy.c
9191                 - (nm_policy_auto_get_best_device): handle specific objects
9192                 - (create_connection): remove; automatic connection creation functionality
9193                         is handled by the Connection objects
9194                 - (nm_policy_device_change_check): handle specific_object
9195
9196         * libnm-util/nm-connection.c
9197                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9198
9199 2007-09-10  Dan Williams  <dcbw@redhat.com>
9200
9201         * src/nm-manager.c
9202                 - (query_connections): fix uninitialized variable problem that caused
9203                         segfault
9204                 - (nm_manager_add_device): take devices down on startup so that we can
9205                         be assured that nm_device_is_up() won't short-circuit the init
9206                         process.  Hack until the is_up check gets split into two pieces
9207                         that aren't behaviorally confusing.
9208
9209 2007-09-09  Dan Williams  <dcbw@redhat.com>
9210
9211         * introspection/nm-device.xml
9212                 - The 'Activate' method now takes 3 arguments, a service name for the
9213                 settings service (user or system), the object path of the connection
9214                 to activate, and the specific object to activate, if any
9215
9216         * src/nm-device-interface.c
9217                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9218                 Add error bits
9219                 - (impl_device_activate): adapt to new Activate arguments; validate
9220                 the service name and get the Connection object from the NMManager
9221                 before starting to activate the device with the specified connection
9222
9223         * src/nm-device-802-3-ethernet.c
9224                 - (real_get_best_connection): find the best connection, or create a
9225                 default one if no existing connections can be used
9226
9227         * src/NetworkManagerPolicy.c
9228                 - (nm_policy_auto_get_best_device): Get the device's best connection
9229                 and only pick the device if it has one
9230                 - (nm_policy_device_change_check): disable wireless bits for now until
9231                 wireless get_best_connection() can be implemented (replacing "best_ap");
9232                 don't create a default connection here as the device subclass will do
9233                 that if needed
9234
9235         * src/nm-manager.h
9236           src/nm-manager.c
9237                 - (nm_manager_get): make NMManager a singleton and expose the getter
9238                 internally
9239                 - Rework internal NMManager connection handling to use the same
9240                 routines for both the system and user settings services.  Most calls
9241                 take a new NMConnectionType argument specifying either system or user
9242                 connections
9243                 - (nm_manager_get_connection_by_object_path): new function; get a
9244                 connection keyed on its object path
9245
9246         * src/NetworkManager.c
9247                 - (main): use nm_manager_get()
9248
9249 2007-09-09  Dan Williams  <dcbw@redhat.com>
9250
9251         * src/nm-device.h
9252           src/nm-device.c
9253                 - (nm_device_get_best_connection): new function; get best connection
9254                         for the device at that time
9255
9256 2007-09-09  Dan Williams  <dcbw@redhat.com>
9257
9258         * src/nm-device-interface.h
9259                 - Add NMDeviceInterfaceError with an UnknownConnection error
9260
9261 2007-09-09  Dan Williams  <dcbw@redhat.com>
9262
9263         Stupid mistake on my part; object path and interface for settings service
9264         and connection objects can be the same, only the service name must be
9265         different for the system and user settings services.
9266
9267         * include/NetworkManager.h
9268           src/nm-manager.c
9269           introspection/nm-settings-connection.xml
9270           introspection/nm-settings.xml
9271           libnm-glib/nm-settings.c
9272                 - (nm_connection_settings_init, query_user_connections,
9273                    new_connection_cb): Unify NetworkManagerSettings and Connection
9274                    interface name and object path
9275
9276 2007-09-06  Dan Williams  <dcbw@redhat.com>
9277
9278         * libnm-glib/nm-object.c
9279                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9280                    nm_object_get_int_property, nm_object_get_uint_property,
9281                    nm_object_get_boolean_property, nm_object_get_byte_property,
9282                    nm_object_get_double_property, nm_object_get_byte_array_property):
9283                         clear GValues after copying their contents, fixes memory leaks
9284                         after every property access because dbus-glib copies the values
9285                         from the DBusMessage into the GValue already.
9286
9287 2007-09-06  Dan Williams  <dcbw@redhat.com>
9288
9289         * introspection/nm-access-point.xml
9290                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9291                         them to be.  There's some magic property name parsing going on in
9292                         dbus-glib that breaks up property names based on studly-caps and
9293                         puts - between words.
9294
9295         * libnm-glib/nm-access-point.c
9296                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9297                         Fix property names
9298
9299 2007-09-06  Dan Williams  <dcbw@redhat.com>
9300
9301         * src/nm-manager.c
9302                 - (nm_manager_user_connections_destroy): clear the user connections hash
9303                         table, don't destroy it
9304                 - (finalize): only destroy the hash table on NMManager finalization
9305
9306 2007-09-02  Dan Williams  <dcbw@redhat.com>
9307
9308         * include/NetworkManager.h
9309           libnm-glib/nm-settings.c
9310                 - defines for the user settings daemon D-Bus bits
9311
9312         * src/NetworkManager.c
9313                 - Remove stuff that referred to the old NetworkManagerInfo service
9314
9315         * src/vpn-manager/nm-dbus-vpn.h
9316                 - Move old NMI defines to the only place they are used still
9317
9318         * libnm-util/nm-connection.c
9319           libnm-util/nm-connection.h
9320           src/nm-activation-request.c
9321                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9322
9323         * src/nm-manager.c
9324           src/nm-manager.h
9325                 - Get connections and their settings from the user settings daemon
9326                         at the appropriate times
9327
9328 2007-09-02  Dan Williams  <dcbw@redhat.com>
9329
9330         * libnm-util/nm-setting.c
9331                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9332                 - (setting_wireless_hash): set the right value on the item
9333
9334 2007-09-02  Dan Williams  <dcbw@redhat.com>
9335
9336         * test/Makefile.am
9337           test/nminfotest.c
9338                 - Remove, no longer useful
9339
9340 2007-08-30  Dan Williams  <dcbw@redhat.com>
9341
9342         * src/Makefile.am
9343           src/NetworkManagerDbus.c
9344           src/NetworkManagerDbus.h
9345           src/vpn-manager/nm-dbus-vpn.c
9346                 - Remove, no longer necessary.  Move last bits to the only place its
9347                 used, in nm-dbus-vpn.c
9348
9349         * src/NetworkManagerAPList.c
9350           src/nm-device.c
9351           src/NetworkManager.c
9352           src/nm-device-802-11-wireless.c
9353           src/vpn-manager/nm-vpn-manager.c
9354           src/vpn-manager/nm-vpn-service.c
9355           src/NetworkManagerPolicy.c
9356           src/nm-manager.c
9357                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9358                 that was message_is_error()
9359
9360 2007-08-30  Dan Williams  <dcbw@redhat.com>
9361
9362         * libnm-util/sha1.c
9363                 - Include config.h to get defines for endiannes (gnome.org #420216)
9364
9365 2007-08-30  Dan Williams  <dcbw@redhat.com>
9366
9367         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9368
9369         * src/ppp-manager/Makefile.am
9370                 - use -fPIC (gnome.org #471825)
9371
9372 2007-08-29  Dan Williams  <dcbw@redhat.com>
9373
9374         * include/NetworkManager.h
9375                 - Keep NMConnection object path in sync
9376
9377         * libnm-glib/nm-settings.c
9378           libnm-glib/nm-settings.h
9379                 - Break D-Bus object registration out of the init function, because
9380                 every object that's exported over D-Bus needs to use the _same_
9381                 DBusConnection.  Otherwise, each object would get a different object
9382                 path tree and wouldn't be callable.
9383
9384 2007-08-29  Dan Williams  <dcbw@redhat.com>
9385
9386         * libnm-util/nm-setting.h
9387           libnm-util/nm-setting.c
9388           libnm-util/nm-connection.c
9389           src/NetworkManagerPolicy.c
9390                 - 'info' settings object should be 'connection' says the spec
9391                 at NetworkManagerConfigurationSpecification
9392
9393 2007-08-29  Dan Williams  <dcbw@redhat.com>
9394
9395         * libnm-glib/nm-settings.c
9396           libnm-glib/nm-settings.h
9397                 - make the dbus path a property of the object, and autogenerate it.
9398                 It can't be composed of the 'id' field becuase that's not available
9399                 yet during the GObject creation in nm_connection_settings_init()
9400
9401 2007-08-29  Dan Williams  <dcbw@redhat.com>
9402
9403         * introspection/nm-settings-connection.xml
9404           introspection/nm-settings.xml
9405                 - Service name -> NetworkManagerUserSettings because two services
9406                 can't share part of the same path.  I'm not really sure how we'll use
9407                 the same code with the system-settings daemon...
9408
9409 2007-08-28  Dan Williams  <dcbw@redhat.com>
9410
9411         * src/nm-device-interface.c
9412           src/nm-device-interface.h
9413                 - Kill one more bit of NMData
9414
9415 2007-08-28  Dan Williams  <dcbw@redhat.com>
9416
9417         * src/NetworkManagerSystem.h
9418           src/nm-device.c
9419           src/nm-device.h
9420           src/nm-hal-manager.c
9421           src/NetworkManager.c
9422           src/nm-device-802-11-wireless.c
9423           src/nm-hal-manager.h
9424           src/nm-device-802-3-ethernet.c
9425           src/vpn-manager/nm-vpn-service.h
9426           src/vpn-manager/nm-vpn-manager.c
9427           src/vpn-manager/nm-vpn-manager.h
9428           src/vpn-manager/nm-vpn-service.c
9429           src/nm-device-802-11-wireless.h
9430           src/NetworkManagerMain.h
9431           src/nm-device-802-3-ethernet.h
9432           src/backends/NetworkManagerGentoo.c
9433           src/backends/NetworkManagerPaldo.c
9434           src/backends/NetworkManagerFrugalware.c
9435           src/backends/NetworkManagerRedHat.c
9436           src/backends/NetworkManagerSlackware.c
9437           src/backends/NetworkManagerGeneric.c
9438           src/backends/NetworkManagerArch.c
9439           src/backends/NetworkManagerSuSE.c
9440           src/backends/NetworkManagerGeneric.h
9441           src/backends/NetworkManagerDebian.c
9442                 - Kill NMData
9443
9444 2007-08-28  Dan Williams  <dcbw@redhat.com>
9445
9446         * src/NetworkManagerMain.h
9447           src/nm-device-802-11-wireless.c
9448           src/NetworkManager.c
9449                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9450                 for now we should set the 'invalid' property on individual APs, and when
9451                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9452                 that ESS
9453
9454 2007-08-28  Dan Williams  <dcbw@redhat.com>
9455
9456         * src/NetworkManagerAP.c
9457           src/NetworkManagerAP.h
9458                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9459                         'autoconnect' property instead
9460
9461         * src/NetworkManager.c
9462           src/NetworkManagerMain.h
9463           src/NetworkManagerPolicy.c
9464           src/NetworkManagerPolicy.h
9465                 - Remove the 'allowed_ap_list', which should be replaced by 
9466                         NMConnection/NMSettings instead, since _those_ are the allowed
9467                         things that NM can connect to
9468
9469         * src/nm-device-802-11-wireless.c
9470                 - Remove both allowed_ap_list usage and 'fallback' checking
9471
9472 2007-08-28  Dan Williams  <dcbw@redhat.com>
9473
9474         * src/nm-device.c
9475           src/named-manager/nm-named-manager.c
9476           src/named-manager/nm-named-manager.h
9477           src/NetworkManager.c
9478           src/vpn-manager/nm-vpn-manager.c
9479           src/NetworkManagerMain.h
9480           src/NetworkManagerSystem.c
9481                 - Remove the named-manager object from NMData structure in preparation
9482                 for NMData's timely death.  Make the NMNamedManager the singleton that
9483                 it really is
9484
9485 2007-08-28  Dan Williams  <dcbw@redhat.com>
9486
9487         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9488         each AP's capabilities, and by NMConnection/NMSettings objects for user
9489         defined connections.
9490
9491         * include/NetworkManager.h
9492                 - Redefine 802.11 security properties.  There are now device capabilities
9493                         and AP flags and AP security flags.  It was way to unclear before.
9494
9495         * src/Makefile.am
9496           src/nm-ap-security-leap.h
9497           src/nm-ap-security-leap.c
9498           src/nm-ap-security-wpa-eap.c
9499           src/nm-ap-security-wpa-eap.h
9500           src/nm-ap-security-private.h
9501           src/nm-ap-security-wpa-psk.c
9502           src/nm-ap-security-wpa-psk.h
9503           src/nm-ap-security-wep.c
9504           src/nm-ap-security-wep.h
9505           src/nm-ap-security.c
9506           src/nm-ap-security.h
9507                 - Removed, to be replaced with NMConnection/NMSettings objects
9508
9509         * src/nm-dbus-nmi.c
9510           src/nm-dbus-nmi.h
9511                 - Removed, to be replaced by code that talks to the new info daemon
9512                         interface and gets NMConnection/NMSettings objects
9513
9514         * src/backends/NetworkManagerSuSE.c
9515                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9516                         info-daemon that does the same thing but talks the new info-daemon
9517                         D-Bus interface
9518
9519         * src/NetworkManagerAP.h
9520           src/NetworkManagerAP.c
9521           src/NetworkManagerAPList.c
9522           libnm-glib/libnm-glib-test.c
9523                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9524                         WPA/RSN
9525
9526         * libnm-glib/nm-access-point.c
9527           libnm-glib/nm-access-point.h
9528           introspection/nm-access-point.xml
9529           test/nm-tool.c
9530                 - Adjust to new flags for AP security
9531
9532         * utils/nm-utils.c
9533           utils/nm-utils.h
9534           src/vpn-manager/nm-dbus-vpn.c
9535                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9536                         stuff which is the only place it's used
9537
9538         * src/nm-device-interface.c
9539           src/nm-device-interface.h
9540           introspection/nm-device.xml
9541           src/nm-activation-request.c
9542           src/nm-activation-request.h
9543           src/nm-device.c
9544                 - Add a new 'specific_object' argument that hints to NM what actual
9545                         AP or other device-specific thing the connection should apply to.
9546                         NMConnection objects can apply to more than one actual device/AP.
9547
9548         * libnm-util/nm-connection.c
9549         * libnm-util/nm-connection.h
9550                 - Add 'have_secrets" call stubs
9551
9552         * libnm-util/cipher.h
9553                 - Move NM_AUTH_TYPE_* defines here for now
9554
9555         * src/nm-device-802-11-wireless.c
9556                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9557                         NMSettings objects
9558
9559         * src/NetworkManagerDbus.c
9560         * src/NetworkManagerPolicy.c
9561                 - Remove usage of update_allowed_networks, should be pushing data in
9562                         a different manner
9563
9564 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9565
9566         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9567         dbus-glib frees it when the call is done.
9568
9569 2007-08-26  Dan Williams  <dcbw@redhat.com>
9570
9571         * introspection/nm-device.xml
9572                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9573
9574 2007-08-26  Dan Williams  <dcbw@redhat.com>
9575
9576         * src/nm-device-802-3-ethernet.c
9577                 - (constructor): move connection of interface-connected/disconnected
9578                         signals here from real_bring_up().  Should be listening to netlink
9579                         for carrier events no matter what the initial state of the device
9580                         is.
9581
9582 2007-08-26  Dan Williams  <dcbw@redhat.com>
9583
9584         * src/nm-netlink-monitor.c
9585                 - (nm_netlink_monitor_class_init): fix marshalling types for
9586                         interface-connected/interface-disconnected
9587                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9588                         check
9589
9590 2007-08-26  Dan Williams  <dcbw@redhat.com>
9591
9592         Convert to using interface indexes as the primary method of identifying
9593         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9594         be renamed at any time.  Device object paths now refer to the device
9595         index rather than the name, and you can map those two manually if you like
9596         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9597         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9598         to use interface indexes rather than names.
9599
9600 2007-08-26  Dan Williams  <dcbw@redhat.com>
9601
9602         * src/nm-netlink-monitor.h
9603                 - Remove one last bit of wireless-event signal
9604
9605 2007-08-26  Dan Williams  <dcbw@redhat.com>
9606
9607         * src/nm-netlink-monitor.c
9608                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9609                         don't need the 'wireless-event' signal anymore since that's all
9610                         handled by wpa_supplicant
9611
9612 2007-08-25  Dan Williams  <dcbw@redhat.com>
9613
9614         It's 2007. Remove support for drivers that don't support wireless scanning.
9615
9616         * test/nm-tool.c
9617           include/NetworkManager.h
9618           src/NetworkManagerUtils.c
9619           src/NetworkManagerPolicy.c
9620           src/nm-device-802-11-wireless.c
9621                 - Remove special handling for non-scanning devices and mark them
9622                         as unsupported/unhandled
9623
9624 2007-08-20  Dan Williams  <dcbw@redhat.com>
9625
9626         * src/nm-device-802-11-wireless.c
9627           src/nm-device-802-3-ethernet.c
9628                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9629                         because when the card is pulled or the module removed, the device
9630                         is already !IFF_UP and then device-specific cleanup (removing
9631                         the supplicant interface, periodic checks, etc) never gets done
9632
9633 2007-08-20  Dan Williams  <dcbw@redhat.com>
9634
9635         * src/nm-manager.c
9636                 - (nm_manager_remove_device): bring device down before disconnecting
9637                         signal handlers, so that the 'state' signal will get broadcast when
9638                         the device enters the DOWN state
9639                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9640                         of states that cause the NMManager to recheck its state
9641
9642 2007-08-20  Dan Williams  <dcbw@redhat.com>
9643
9644         * src/supplicant-manager/nm-supplicant-interface.c
9645                 - (interface_disconnect_done): don't try to dispose of the net proxy
9646                         when it may already have been disposed of
9647
9648 2007-08-20  Dan Williams  <dcbw@redhat.com>
9649
9650         * src/nm-device-802-11-wireless.c
9651                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9652                         the SSID isn't available; this can happen when the card is pulled
9653                         or the module unloaded, during the post-removal deactivation
9654                         paths, when the ioctl returns ENODEV
9655
9656 2007-08-20  Dan Williams  <dcbw@redhat.com>
9657
9658         * src/nm-device-802-11-wireless.c
9659                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9660                         frequency, and mode match.  Applets are now responsible for grouping
9661                         access points
9662
9663 2007-08-20  Dan Williams  <dcbw@redhat.com>
9664
9665         * src/NetworkManagerAP.c
9666         * src/NetworkManagerAP.h
9667                 - (nm_ap_print_self): new function
9668
9669         * src/NetworkManagerAPList.c
9670                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9671                         to do it all here
9672         
9673 2007-08-17  Dan Williams  <dcbw@redhat.com>
9674
9675         * src/nm-device-802-3-ethernet.c
9676                 - (real_bring_down): don't try to dispose of stuff that might not
9677                         exist
9678
9679 2007-08-17  Dan Williams  <dcbw@redhat.com>
9680
9681         * src/NetworkManagerAP.c
9682                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9683                         applet.  This ensures that the case between the seen-bssids and
9684                         the bssids reported by the driver match.
9685
9686 2007-08-17  Dan Williams  <dcbw@redhat.com>
9687
9688         * src/nm-device-802-11-wireless.c
9689                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9690                         we dispose of the interface proxy in NM
9691
9692 2007-08-16  Dan Williams  <dcbw@redhat.com>
9693
9694         * libnm-glib/nm-client.c
9695                 - (nm_client_init): create VPN connections hash table with key free
9696                         function
9697                 - (proxy_vpn_connection_added): VPN connections hash table key should
9698                         be a duplicated value, not the same memory address as the VPN
9699                         connection name.  This is because the VPN connection name could
9700                         potentially be freed and set to something else during the lifetime
9701                         of the NMVPNConnection object.
9702
9703 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9704
9705         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9706         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9707         with the file descriptors. Send a child setup function to change the pppd
9708         progress group.
9709
9710 2007-08-15  Dan Williams  <dcbw@redhat.com>
9711
9712         * src/supplicant-manager/nm-supplicant-interface.c
9713                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9714                         an interface
9715                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9716                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9717                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9718                         the interface internally
9719
9720 2007-08-15  Dan Williams  <dcbw@redhat.com>
9721
9722         * src/nm-device-802-11-wireless.c
9723                 - (real_bring_down): move most of this function into device_cleanup()
9724                         so that it can be called from elsewhere
9725                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9726                         and stuff on dispose.  These would normally get cleaned up when
9727                         the device is marked down and deactivated, but when the device is
9728                         hot-unplugged, it's already down and real_down() never gets run
9729
9730 2007-08-15  Dan Williams  <dcbw@redhat.com>
9731
9732         * src/nm-dbus-nmi.c
9733                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9734                         caused a reference leak on device for which NM requested a key
9735
9736 2007-08-15  Dan Williams  <dcbw@redhat.com>
9737
9738         * libnm-glib/nm-client.c
9739                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9740
9741 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9742
9743         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9744         nothing is using it at the moment, but it'll be all useful and stuff later on.
9745
9746         * libnm-util/nm-setting.h: Define NMSettingPPP.
9747
9748         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9749
9750         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9751
9752         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9753
9754         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9755
9756         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9757
9758 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9759
9760         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9761
9762         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9763         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9764         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9765         name and different arguments and it won't compile anymore. To fix this, we now have
9766         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9767         that is new API + compatibility API and used by the daemon. The other, 
9768         nm-manager-client.xml is only the new API without compatibility bits and is used
9769         by libnm-glib to make it compile.
9770
9771         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9772
9773         * src/nm-manager.c (impl_manager_legacy_sleep)
9774         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9775         interface functions for 0.6 branch.
9776
9777 2007-08-14  Dan Williams  <dcbw@redhat.com>
9778
9779         * src/NetworkManagerAP.c
9780                 - (nm_ap_new_from_properties): fix mistaken check of return value
9781                         from memcmp (should expect 0)
9782
9783 2007-08-14  Dan Williams  <dcbw@redhat.com>
9784
9785         (force-commit to fix wrong comment and partial commit of r2685; this
9786          commit actually applies to r2685)
9787
9788         * src/NetworkManagerUtils.c
9789                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9790                         ignores trailing nulls in the SSID to work around mismatches in
9791                         expectations between WEXT and what the info-daemon passes back.  The
9792                         info-daemon would pass back the correct length, but due to the
9793                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9794                         the device would always have an SSID + 1 depending on what versions
9795                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9796                         visible by just quitting the applet and relaunching, which caused
9797                         NM to reassociated to the same network over again when reloading
9798                         the save networks.
9799
9800         * src/NetworkManagerPolicy.c
9801           src/NetworkManagerUtils.h
9802           src/nm-device-802-11-wireless.c
9803                 - Update for new parameter to nm_utils_same_ssid()
9804
9805 2007-08-14  Dan Williams  <dcbw@redhat.com>
9806
9807         * src/NetworkManagerAP.c
9808                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9809                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9810                         setting the BSSID to all 0s.  That confused the heck out of NM,
9811                         plus it's useless and probably out-of-spec.
9812
9813 2007-08-14  Dan Williams  <dcbw@redhat.com>
9814
9815         * callouts/Makefile.am
9816           src/dhcp-manager/nm-dhcp-manager.c
9817           src/dhcp-manager/nm-dhcp-manager.h
9818           src/dhcp-manager/Makefile.am
9819                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9820
9821 2007-08-14  Dan Williams  <dcbw@redhat.com>
9822
9823         * src/dhcp-manager/nm-dhcp-manager.c
9824                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9825                         it's really needed, get rid of unused xtra_args parameter
9826
9827 2007-08-14  Dan Williams  <dcbw@redhat.com>
9828
9829         * include/NetworkManagerVPN.h
9830           src/vpn-manager/nm-dbus-vpn.c
9831           src/vpn-manager/nm-dbus-vpn.h
9832           src/vpn-manager/nm-vpn-act-request.c
9833           src/vpn-manager/nm-vpn-act-request.h
9834           src/vpn-manager/nm-vpn-service.c
9835           src/vpn-manager/nm-vpn-service.h
9836           libnm-glib/nm-vpn-connection.c
9837           libnm-glib/nm-vpn-connection.h
9838           libnm-glib/nm-client.h
9839                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9840                         NMVPNServiceState to clarify what they apply to
9841                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9842                         NMVPNActStage -> NMVPNConnectionState for the same reason
9843
9844         * libnm-glib/nm-client.c
9845                 - Constant + type renames from above
9846                 - Properly handle NameOwnerChanged/manager_running signals
9847                         for NM service; only emit when state really changes
9848                 - Use hash tables correctly so that the key (which was previously owned
9849                         by the D-Bus message) now has the same lifetime as the value, since
9850                         the key is now taken from the the NMVPNConnection itself.  This
9851                         really fixes the double-VPN names in the applet
9852
9853 2007-08-13  Dan Williams  <dcbw@redhat.com>
9854
9855         Patch from Michael Biebl <biebl@debian.org>
9856
9857         * po/POTFILES.in
9858           po/POTFILES.skip
9859                 - Update for vpn-properties move
9860
9861 2007-08-13  Dan Williams  <dcbw@redhat.com>
9862
9863         * libnm-glib/nm-client.c
9864                 - Convert internal VPN connection tracking from a list to a hash table
9865                         to easily avoid duplicates
9866                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9867                         must be freed by the caller, like nm_client_get_devices()
9868                 - (nm_client_remove_vpn_connection): don't let the removal signal
9869                         leak through for NMVPNConnection objects that aren't actually
9870                         tracked.
9871                 - (manager_running): throw away VPN connection list when NM goes away,
9872                         like with the device list
9873
9874 2007-08-13  Dan Williams  <dcbw@redhat.com>
9875
9876         * src/dhcp-manager/nm-dhcp-manager.c
9877                 - Stop any dhclient instance that might be already running for a
9878                         particular interface before starting an NM spawned dhclient.  Fixes
9879                         dhclient processes left over if NM crashes, stuff like that.
9880
9881 2007-08-13  Dan Williams  <dcbw@redhat.com>
9882
9883         * src/NetworkManagerAP.c
9884                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9885                         when the AP wasn't broadcasting it's SSID
9886
9887 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9888
9889         * include/NetworkManager.h: added DBus path for connection settings.
9890
9891         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9892         nm_connection_settings_signal_updated,
9893         nm_connection_settings_signal_removed): new functions to wrap the
9894         objects' signals.
9895         (nm_connection_settings_init): register GObject with DBus.
9896         (nm_connection_settings_get_dbus_object_path): new function.
9897
9898         * libnm-glib/Makefile.am: added libnmutil to link flags.
9899
9900 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9901
9902         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9903
9904         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9905         libnm_glib directory got merged with libnm-glib/.
9906
9907         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9908
9909         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9910         Rename the library from libnm-glib to libnm_glib to maintain the library API
9911         compatibility with 0.6 branch.
9912
9913         * Makefile.am: Remove gnome/ SUBDIR.
9914
9915         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9916
9917         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9918
9919         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9920
9921         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9922         anymore.
9923         Remove checks for wpa_supplicant binary, it's used over dbus.
9924         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9925
9926         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9927         Link the binaries with libnm_glib.la.
9928
9929 2007-08-12  Dan Williams  <dcbw@redhat.com>
9930
9931         * src/NetworkManagerPolicy.c
9932                 - (nm_policy_device_change_check): fix policy to deactivate old device
9933                         before activating new one, at least until the multiple active
9934                         device support lands
9935
9936 2007-08-12  Dan Williams  <dcbw@redhat.com>
9937
9938         * src/NetworkManagerPolicy.c
9939                 - (nm_policy_new): hook up to connection-added / connection-removed
9940                         signals instead of connections-changed
9941
9942 2007-08-12  Dan Williams  <dcbw@redhat.com>
9943
9944         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9945         Robert Frank <rfrank@redhat.com>
9946
9947         * src/dhcp-manager/nm-dhcp-manager.c
9948           src/dhcp-manager/nm-dhcp-manager.c
9949           src/nm-device.c
9950                 - Spawn and communicate with dhclient directly, through means of a
9951                 custom dhclient callout script.  Process callout D-Bus signals
9952                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9953                 sent via gobject signals rather than being driven by the dhcp manager
9954                 directly.
9955
9956 2007-08-12  Dan Williams  <dcbw@redhat.com>
9957
9958         * callouts/nm-dhcp-client-action.c
9959                 - (build_message): ignore non-DHCP-related environment variables
9960
9961 2007-08-12  Dan Williams  <dcbw@redhat.com>
9962
9963         * Makefile.am
9964           configure.in
9965           callouts/Makefile.am
9966           callouts/nm-dhcp-client-action.c
9967           callouts/nm-dhcp-client.conf
9968                 - Add dhclient-executed callout that takes the place of dhclient-script
9969                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9970                 NM then listens for
9971
9972 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9973
9974         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9975
9976         * libnm-glib/nm-client.h:
9977         * libnm-glib/nm-object.h:
9978         * libnm-glib/nm-vpn-connection.h:
9979         * libnm-glib/nm-settings.h:
9980         * libnm-glib/nm-device.h:
9981         * libnm-glib/nm-ip4-config.h:
9982         * libnm-glib/nm-access-point.h:
9983         * libnm-glib/nm-device-802-3-ethernet.h:
9984         * libnm-util/nm-setting.h: 
9985         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9986
9987         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9988
9989         * libnm-glib/nm-access-point.c: Strength has type char.
9990
9991         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9992         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9993
9994         * introspection/nm-access-point.xml: Strength property is char, not int.
9995
9996         * src/NetworkManagerAP.c (set_property): Set strength from char.
9997         (get_property): Handle hidden APs (with empty SSID).
9998         Get strength value from char.
9999         (nm_ap_class_init): Strength property has char type.
10000
10001 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10002
10003         * introspection/Makefile.am:
10004         * introspection/nm-settings.xml:
10005         * introspection/nm-settings-connection.xml: added Settings interfaces.
10006
10007         * libnm-glib/nm-settings.[ch]:
10008         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10009         containing the DBus implementation.
10010
10011 2007-07-26  Dan Williams  <dcbw@redhat.com>
10012
10013         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10014
10015         * src/NetworkManagerSystem.c
10016                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10017                         same subnet (#437396)
10018
10019 2007-07-26  Dan Williams  <dcbw@redhat.com>
10020
10021         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10022
10023         * gnome/vpn-properties/nm-vpn-properties.c
10024                 - Fix translatable strings (#445865)
10025
10026 2007-07-26  Dan Williams  <dcbw@redhat.com>
10027
10028         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10029
10030         * configure.in
10031                 - Remove useless junk (#412530)
10032
10033 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10034
10035         Patch from Robert Buchholz <rbu@gentoo.org>:
10036
10037         * configure.in:
10038         * Makefile.am:
10039         * introspection/Makefile.am:
10040         Make make distcheck work again.
10041
10042 2007-06-27  Dan Williams  <dcbw@redhat.com>
10043
10044         * Make SSIDs GByteArrays everywhere
10045         * Rename "essid" -> "ssid" everywhere that's appropriate
10046         * Refcount activation_ap member of the 802.11 wireless device class
10047
10048 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10049
10050         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10051
10052 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10053
10054         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10055         that we got a new AP when we just update existing AP properties.
10056
10057 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10058
10059         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10060
10061         * nm-utils.[ch]: Remove.
10062
10063         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10064         objects for easy property access and dbus connection handling.
10065
10066         * libnm-glib/nm-client.c: Derive from NMObject.
10067
10068         * libnm-glib/nm-device.c: Ditto.
10069
10070         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10071
10072         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10073
10074         * libnm-glib/nm-ip4-config.c: Ditto.
10075
10076         * libnm-glib/nm-access-point.c: Ditto.
10077
10078         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10079         comparision. Currently used by the device activation code to determine if the new
10080         activation is the same as the old one.
10081
10082         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10083         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10084         able to ask password for the AP.
10085
10086         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10087         up if the device is already connected, tear down it's connection (if it isn't the
10088         same as new one) and start the activation.
10089
10090         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10091
10092         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10093         the issue where all APs are always listed as encrypted.
10094
10095         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10096         their own registered paths.
10097
10098         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10099         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10100
10101 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10102
10103         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10104         (0 & 0 == 0, doh)
10105
10106         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10107         because the handling code will cause the next state change and signal listeners
10108         get the signals in wrong order.
10109
10110         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10111         correctly in case of pending activation.
10112
10113         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10114         Convert the essid byte array to string correctly, including the terminating NULL.
10115
10116         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10117         mode with correct types.
10118
10119         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10120         constructed info to dbus call instead of the activation request.
10121
10122 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10123
10124         Patch from Christian Persch <chpe@gnome.org>
10125
10126         * libnm-glib/Makefile.am:
10127         * dispatcher-daemon/Makefile.am:
10128         Use the correct variables, the correct paths, and correct ordering. (446315)
10129
10130 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10131
10132         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10133         argument. The activation request is easy to retrieve.
10134
10135         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10136         just to be a convenient location for devices to store random stuff.
10137
10138 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10139
10140         Patch from Alex Smith <alex@alex-smith.me.uk>
10141
10142         * src/backends/NetworkManagerFrugalware.c:
10143         Update the FrugalWare backend to fix a few segfaults. (#392642)
10144
10145 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10146
10147         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10148
10149         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10150         setting.
10151         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10152
10153 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10154
10155         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10156         automagically.
10157         Implement NMSettingIP4Config.
10158         Finish NMSettingWired by adding all known members.
10159         (setting_wired_verify): Implement.
10160         Finish NMSettingWireless by adding all known members.
10161         (setting_wireless_verify): Implement.
10162
10163         * libnm-util/nm-connection.c: Register "ipv4" setting.
10164         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10165         dump function, we can introspect the GHashTable which is used for sending connections
10166         over dbus.
10167
10168         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10169         Take GByteArray for essid, it's really not a string.
10170
10171         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10172         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10173         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10174         means overriding the values we got from DHCP.
10175         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10176         (nm_device_deactivate_quickly): Ditto.
10177
10178         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10179         for debugging.
10180
10181 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10182
10183         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10184         NMConnection.
10185
10186         * libnm-glib/nm-device-802-11-wireless.c:
10187         (nm_device_802_3_ethernet_activate): Remove.
10188
10189         * libnm-glib/nm-device-802-3-ethernet.c
10190         (nm_device_802_3_ethernet_activate): Remove.
10191
10192         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10193
10194         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10195         NMConnection.
10196
10197         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10198         activation has started.
10199         Implement the new activation using NMConnection.
10200
10201         * src/nm-activation-request.c: Store a generic connection object instead
10202         of a wireless-specific AP.
10203
10204         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10205         on device type, create a device specific connection object suitable for
10206         device activation.
10207
10208         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10209         specific check to validate the connection and on success start the
10210         activation.
10211
10212         * src/nm-device-interface.h: Add a activate virtual function to the
10213         interface definition.
10214
10215         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10216         (impl_device_activate): Implement.
10217
10218         * introspection/nm-device.xml: Add a generic device activation interface
10219         that accepts an abstract NMConnection structure that has device-specific
10220         information in it.
10221
10222         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10223         activation interface.
10224
10225         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10226         activation interface.
10227
10228         * libnm-util/nm-connection.c: 
10229         * libnm-util/nm-connection.h: 
10230         * libnm-util/nm-setting.c:
10231         * libnm-util/nm-setting.h: Add.
10232
10233         * libnm-util/Makefile.am: Build the added files.
10234
10235         * src/nm-dbus-manager.c
10236         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10237         DbusConnection argument from 'name-owner-changed' signal. The manager
10238         is already passed as a first argument to the signal and the connection
10239         is easy enough to get from it.
10240
10241         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10242         Update the signature of the function.
10243
10244         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10245         Ditto.
10246
10247         * src/NetworkManager.c: Ditto.
10248
10249         * src/named-manager/nm-named-manager.c
10250         (nm_named_manager_name_owner_changed): Ditto.
10251
10252         * src/supplicant-manager/nm-supplicant-manager.c
10253         (nm_supplicant_manager_name_owner_changed): Ditto.
10254
10255         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10256
10257         * src/dhcp-manager/nm-dhcp-manager.c
10258         (nm_dhcp_manager_name_owner_changed): Ditto.
10259
10260         * src/nm-hal-manager.c: Add a list of device detectors and creators
10261         to make it easier to add new devices. Each device type has it's own
10262         entry in the table so adding new device types is only a matter of
10263         implementing a couple of functions, one for device detection and the
10264         other for device creation.
10265
10266 2007-04-25  Dan Williams  <dcbw@redhat.com>
10267
10268         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10269                 (gnome.org #432401)
10270
10271 2007-03-30  Dan Williams  <dcbw@redhat.com>
10272
10273         * src/NetworkManagerSystem.c
10274                 - (nm_system_device_set_ip4_route): clean up and fix argument
10275                         to nm_dev_sock_open()
10276
10277 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10278
10279         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10280         data to correct types instead of always using string.
10281
10282         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10283         _not_ have NM_802_11_CAP_PROTO_NONE.
10284         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10285         is not set.
10286
10287 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10288
10289         * libnm-glib/Makefile.am: Fix the build issue.
10290
10291 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10292
10293         * libnm-glib/nm-vpn-connection.h: 
10294         * libnm-glib/nm-vpn-connection.c: Implement.
10295
10296         * libnm-glib/nm-client.c: Add VPN support.
10297
10298         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10299         handler for VPN.
10300
10301         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10302         on DBUS again.
10303
10304 2007-03-26  Dan Williams  <dcbw@redhat.com>
10305
10306         * src/NetworkManagerAPList.c
10307         * src/nm-device-802-11-wireless.c
10308         * src/NetworkManagerAP.c:
10309                 - Store last seen as glong instead of GTimeVal.
10310                 - Fix the upper bound of capabilities, it's a bitfield.
10311
10312 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10313
10314         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10315
10316         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10317         "manager-running" signal that notifies the appearance/disappearance of NM.
10318         (nm_client_sleep): Implement.
10319
10320         * libnm-glib/nm-device.c:
10321         * libnm-glib/nm-device-802-11-wireless.c: 
10322         * libnm-glib/nm-device-802-3-ethernet.c: 
10323
10324         Don't inherit from DBusGProxy, add a proxy to private
10325         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10326         for anything but their own dbus interface. DBusGProxy objects support only one
10327         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10328         interface. The nice side effect of this change is that we do not create a new
10329         DBusGProxy object for each property access.
10330
10331 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10332
10333         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10334         with zeroes before passing them to functions - the functions never do that and
10335         reading the values back may produce wrong values.
10336         (real_bring_up): Store the signal handler id ...
10337         (real_bring_down): ... So that it can be removed here.
10338         Disconnect the supplicant interface here as well.
10339         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10340         from the access point instead of old $device/Networks/$essid.
10341
10342         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10343         device state is connected (instead of just having link/carrier).
10344
10345         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10346         already easily accessible through the device.
10347
10348         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10349         store it within the object.
10350         (nm_ap_get_dbus_path): Export it to public as well.
10351
10352         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10353         of the singleton.
10354
10355 2007-03-12  Dan Williams  <dcbw@redhat.com>
10356
10357         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10358         for non-carrier-detect capable devices, and useless for carrier-detect
10359         devices since we get notifications from netlink about carrier status anyway.
10360
10361         * src/nm-device-802-3-ethernet.c
10362                 - remove 'link_source_id' member from private data
10363                 - (probe_link): remove and collapse into real_update_link()
10364                 - (nm_device_802_3_periodic_update): remove
10365                 - (real_is_up): check for sup_iface rather than link_source_id
10366                 - (real_bring_up): return gboolean for success/fail; require that
10367                         sup_iface be valid for device bringup to succeed
10368                 - (real_bring_down): zero out link signal ids
10369
10370         * src/nm-device.c
10371                 - (nm_device_activate_stage2_device_config): fail activation if device
10372                         bringup fails
10373                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10374                         fails
10375                 - (nm_device_bring_up): return success/fail
10376
10377         * src/nm-device.h
10378                 - bring_up now returns success/fail
10379
10380         * src/nm-device-802-11-wireless.c
10381                 - (real_bring_up): return success from bringup
10382
10383 2007-03-07  Dan Williams  <dcbw@redhat.com>
10384
10385         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10386         * src/nm-ap-security-wpa-psk.c
10387                 - (real_write_supplicant_config): work with PSKs that may contain
10388                         zeros in the binary format rather than treating it as a string
10389
10390 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10391
10392         * libnm-glib/nm-device-802-11-wireless.c
10393         (nm_device_802_11_wireless_get_capabilities): Implement.
10394
10395         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10396
10397         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10398
10399         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10400         reply only if it's not NULL. Not sure why this started happening right now.
10401
10402         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10403         code paths for when devices get removed on shutdown or when a device is just
10404         removed.
10405         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10406         gets freed so any signal from a device (disconnected for instance) would invoke
10407         NMState update which would crash.
10408         (nm_manager_remove_device): Bring the device down when it gets removed.
10409
10410         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10411         the unused dev_type.
10412
10413         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10414         reference to the added device, NMManager will own it (if it wants).
10415
10416         * test/nm-tool.c: Rewrite using libnm-glib.
10417
10418         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10419         We get signalled when it changes.
10420
10421         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10422         when it changes.
10423
10424         * libnm-glib/nm-device.c: Cache the device state property.
10425
10426         * libnm-glib/nm-access-point.c: Cache the strength property.
10427
10428         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10429         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10430         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10431         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10432         the device is down, activating, or activated (in case of A/B/G cards).
10433         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10434         it's all done through supplicant now.
10435
10436         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10437         counting issues with pending calls which caused leaks and crashes when
10438         interface was removed (now that the interface actually gets removed).
10439
10440         * src/nm-call-store.c: Make a copy of data before running a foreach
10441         with user callback on it - The most common usage pattern is to cancel
10442         (and thus remove) all pending calls with foreach which would modify
10443         the hash table we're iterating over.
10444
10445         * src/nm-manager.c: When a device is added, make sure it is "up". When
10446         it's removed or disabled due to disabling wireless or networking, bring
10447         it down.
10448
10449         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10450
10451         * src/nm-device-802-11-wireless.c: 
10452         * src/nm-device-802-3-ethernet.c: 
10453         * src/nm-device.c:
10454                 - Remove "init" virtual function, all gobjects have a place for that
10455                   already (constructor).
10456                 - Replace "start" virtual function with "bring_up", devices can be
10457                   brought up and down more than just on startup now.
10458                 - Add "is_up" virtual function.
10459                 - Implement one way to bring a device down instead of previous 4 different
10460                   ways, each of witch did something different.
10461
10462         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10463         all it needs is the device interface.
10464
10465         Get rid of NMData.dev_list (3 members to go).
10466         Get rif of NMData in a lot of places.
10467
10468         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10469
10470 2007-02-23  Dan Williams  <dcbw@redhat.com>
10471
10472         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10473
10474         * src/NetworkManagerAP.c
10475                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10476                         OR-ing rather than AND-ing
10477
10478 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10479
10480         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10481         "network-removed" signals.
10482
10483         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10484
10485         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10486         when receiving the signal from dbus.
10487
10488         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10489         property.
10490
10491         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10492         deactivation of the previously activated device working again.
10493
10494         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10495         and setter.
10496
10497         * src/nm-device.c (nm_device_is_activated): Remove.
10498         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10499
10500         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10501         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10502         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10503         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10504         Remove NMNetworkStatus and NMActStage enums.
10505
10506 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10507
10508         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10509         Handle device state changes and disconnect VPN if it's device deactivates.
10510
10511         * src/nm-dbus-nm.c: 
10512         * src/nm-dbus-nm.h: 
10513         * src/nm-dbus-device.c: 
10514         * src/nm-dbus-device.c: 
10515         * src/nm-dbus-net.c: 
10516         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10517
10518         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10519
10520         * src/nm-device.c (nm_device_get_by_udi):
10521         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10522         implemented in the correct location (NMManager).
10523         Rip out all the test_device stuff.
10524
10525         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10526         failure handlers, it's all done by NMDevice already.
10527
10528         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10529         Remove the iochannel hack to route the unix signals to the main thread since
10530         we're not threaded anymore.
10531
10532         * src/NetworkManagerAP.c: Implement HWAddress property.
10533
10534         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10535         automatically with dbus-glib.
10536
10537         * src/nm-netlink-monitor.c: 
10538         * src/nm-netlink-monitor.h:
10539                 - Move it low in the class hierarchy, don't reference any NM types.
10540                 - Remove private data from the header.
10541                 - Use type safe checks in public API methods.
10542                 - Make it a singleton so we don't have to pass the single reference around.
10543
10544 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10545
10546         * introspection/nm-ip4-config.xml: Implement.
10547
10548         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10549
10550         * libnm-glib/nm-ip4-config.c:
10551         * libnm-glib/nm-ip4-config.c: Implement.
10552
10553         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10554         securities. APs reference security.
10555
10556         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10557         be exported over DBUS.
10558
10559         * src/nm-device-802-3-ethernet.c: Ditto.
10560
10561         * src/NetworkManagerAP.c:
10562         * src/NetworkManagerAP.h:
10563                 - Convert to GObject, export over DBUS.
10564
10565         * src/nm-ip4-config.h:
10566         * src/nm-ip4-config.h:
10567                 - Convert to GObject, export over DBUS.
10568
10569 2007-02-12  Dan Williams  <dcbw@redhat.com>
10570
10571         Patch from Helmut Schaa <hschaa@suse.de>
10572
10573         * vpn-daemons/pptp/configure.in
10574           vpn-daemons/pptp/Makefile.am
10575           vpn-daemons/openvpn/configure.in
10576           vpn-daemons/openvpn/Makefile.am
10577           vpn-daemons/vpnc/configure.in
10578           vpn-daemons/vpnc/Makefile.am
10579                 - Add --without-gnome switch which disables building gnome bits
10580
10581 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10582
10583         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10584
10585         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10586
10587         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10588         'HwAddress'.
10589
10590         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10591
10592         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10593
10594         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10595
10596         * src/:
10597                 - Remove old low-level dbus interface implementations and replace them
10598                   with dbus-glib one.
10599
10600         * configure.in:
10601                 - Require dbus-glib >= 0.72.
10602                 - Plug in new sources to build.
10603
10604         * libnm-glib/:
10605                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10606                   to make it more convenient to use from GObject based programs.
10607
10608         * introspection/:
10609                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10610
10611 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10612
10613         * src/nm-device-802-11-wireless.c:
10614                 - Add "network-added" and "network-removed" signals.
10615                 - Use gobject boilerplate macros to define the GObject.
10616                 - Implement wireless device activation.
10617                 - Remove activation_failure_handler and activation_success_handler
10618                   and instead listen on state-changed signals and run the same code
10619                   from there.
10620
10621         * src/nm-device.c:
10622                 - Implment NMDeviceInterface::deactivate.
10623                 - Remove activation_failure_handler and activation_success_handler
10624                   virtual methods. Each device which is interested in these events
10625                   can just listen on it's state changed signals.
10626
10627         * src/NetworkManagerPolicy.c:
10628                 - Move a bit more NMData usage to NMManager.
10629                 - Remove activation scheduling bits.
10630                 - Add listeners for wireless device's "network-added" and
10631                   "network-removed" signals.
10632                 - Listen device changed signals and deactivate currently activated
10633                   device when another device start activating (for now).
10634                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10635                   for calling this, the policy code knows exactly when this should happen,
10636                   by listening on events from NMManager and NMDevices.
10637
10638         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10639         Implement.
10640
10641         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10642         method on the specific device instead of going to through policy code
10643         and determining the device type by passed in AP's existance.
10644
10645         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10646         abstract NMDevice deactivation.
10647
10648 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10649
10650         * src/NetworkManager.c:
10651                 - Set up all the shiny new managers.
10652
10653         * src/NetworkManagerPolicy.c:
10654                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10655                   classes to call into policy code, make the policy code kind of like
10656                   a supervisor that monitors what's going on and drives the whole NM.
10657
10658         * src/nm-hal-manager.c: 
10659         * src/nm-hal-manager.h:
10660                 - Collect all libhal code scattered around NM to this one class.
10661                 - Listen libhal and NMManager events and add/remove devices to
10662                   NMManager.
10663
10664         * src/nm-manager.c:
10665         * src/nm-manager.h:
10666                 - Implment a replacement for NMData. NMData is now officially
10667                 deprecated.
10668
10669 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10670
10671         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10672         * src/supplicant-manager/nm-supplicant-interface.h
10673         * src/supplicant-manager/nm-supplicant-interface.c
10674         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10675         argument to boolean from enum.
10676
10677         Make NMDevice abstract class, remove almost all references to it's
10678         subclasses (the last place gets removed with new policy manager). Add
10679         NMDeviceInterface (which NMDevice implements) so that when we have
10680         NMDevice exported over DBUS, there's a common NMDevice interface which
10681         all instances have, plus there's a device specific interface for each
10682         specific type.
10683         Remove functions (nm_device_is_802_3_ethernet) and
10684         (nm_device_is_802_11_wireless). There are already standard GObject macros
10685         for type safe checks.
10686         Use the updated supplican manager API.
10687
10688         * src/nm-device-interface.h: 
10689         * src/nm-device-interface.c: 
10690         * src/nm-call-store.h: 
10691         * src/nm-call-store.c: Implement.
10692
10693         * src/supplicant-manager/nm-supplicant-interface.c:
10694         * src/supplicant-manager/nm-supplicant-interface.h:
10695         * src/supplicant-manager/nm-supplicant-manager.c:
10696         * src/supplicant-manager/nm-supplicant-manager.h:
10697                 - Remove all private data type references from public header files.
10698                 - Remove all references to other NM classes, this class is just a
10699                   proxy between wpa_supplicant and NM so it doesn't have to know
10700                   any internals.
10701                 - Convert to dbus-glib bindings.
10702                 - Type safe checks for public methods' arguments.
10703                 - Store pending DBUS call ids to NMCallStore.
10704
10705         * src/supplicant-manager/nm-supplicant-config.c:
10706                 - Store config values in a GHashTable instead of GSList.
10707
10708         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10709
10710         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10711         singleton now.
10712
10713         * src/nm-device.c: Use the new DHCP manager API.
10714
10715         * src/nm-activation-request.c:
10716         * src/nm-activation-request.h:
10717                 - Remove all dhcp related properties and methods.
10718
10719         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10720
10721         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10722
10723         * src/dhcp-manager/nm-dhcp-manager.c:
10724         * src/dhcp-manager/nm-dhcp-manager.h:
10725                 - Convert it to GObject since we need to signal state changes.
10726                 - Remove all references to other NM classes, this class is one
10727                   of the lowest classes in our hierarchy.
10728                 - One less class to use NMActRequest.
10729                 - Make it singleton, one less user of NMData.
10730                 - Remove a couple of sleep() calls.
10731                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10732                   One less class to use the NM's custom tailored signal handlig.
10733
10734         * Makefile.am: Generate marshallers, add them to build.
10735
10736 2007-02-02  Dan Williams  <dcbw@redhat.com>
10737
10738         * configure.in
10739           gnome/Makefile.am
10740           nm-applet.desktop
10741           Makefile.am
10742                 - Remove last bits referencing gnome applet
10743
10744 2007-02-02  Dan Williams  <dcbw@redhat.com>
10745
10746         * src/vpn-manager/nm-vpn-service.c
10747                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10748                         and NBNS server addresses
10749
10750 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10751
10752         * src/nm-dbus-manager.c:
10753         * src/nm-dbus-manager.h:
10754                 - Convert all internal DBUS code to use dbus-glib bindings.
10755                 - Remove GObject properties, we don't need them here.
10756                 - Don't explicitly set things to NULL after freeing, glib is
10757                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10758                 - Make public API argument checks type safe.
10759                 - Remove unnecessary (and wrong) cast to GObject for the first
10760                   argument to g_signal_* calls - The first argument is a gpointer.
10761                 - Export DBusGConnection to other cool classes that (are going to)
10762                   use dbus-glib.
10763
10764 2007-01-26  Dan Williams  <dcbw@redhat.com>
10765
10766         * libnm-util/dbus-dict-helpers.c
10767           libnm-util/dbus-dict-helpers.h
10768                 - Coordinate style with wpa_supplicant version to minimize diff
10769                 - Add uint32 array support
10770                 - (nmu_dbus_dict_append_uint32_array): new function
10771                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10772                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10773                         version; allow adding string array elements individually
10774
10775         * test/libnm-util/test-dbus-dict-helpers.c
10776                 - Test uint32 arrays
10777
10778 2007-01-27  Jürg Billeter  <j@bitron.ch>
10779
10780         * src/backends/NetworkManagerPaldo.c
10781                 - (nm_system_update_dns): clear nscd hosts cache
10782
10783 2007-01-04  Dan Williams  <dcbw@redhat.com>
10784
10785         Threading removal related cleanups:
10786
10787         - Use the glib default main context.  Remove the device main context
10788                 member from NMDevice, and the main_context member from NMData.  Change
10789                 all the idle and timeout scheduler functions to use plain
10790                 g_idle_add() and g_timeout_add().
10791
10792         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10793                 takes an argument; fix that up too.
10794
10795         - Remove all locking, which is useless since we no longer use threads.  For
10796                 example, nm_get_device_by_iface_locked() has been removed.  The global
10797                 device list lock, the AP List lock, and all static locks in
10798                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10799                 in NetworkManagerUtils.c have also been removed.
10800
10801         - Other cleanups in spacing and code style
10802
10803 2007-01-01  Dan Williams  <dcbw@redhat.com>
10804
10805         Found by Bill Moss:
10806
10807         * src/supplicant-manager/nm-supplicant-interface.c
10808                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10809                         the supplicant interface wasn't already disconnected.  Always
10810                         call removeNetwork and disconnect unless the supplicant interface
10811                         is in the DISCONNECTED or INACTIVE state.
10812
10813 2006-12-28  Dan Williams  <dcbw@redhat.com>
10814
10815         Use a single thread for everything.  With the move to wpa_supplicant
10816         and communication over D-Bus, there's no reason for multiple threads.
10817         Almost all of the blocking code has been removed, with one exception in
10818         the DHCP manager and a few in the VPN manager.  This commit removes the
10819         per-device worker thread and fixes activation cancellation in the absence
10820         of threads.  Further removal of thread-related code would be removing
10821         any locking code (like the device list lock) and simplification of logic
10822         around areas of code or data structures that are currently locked.
10823
10824         * autoip.c
10825           dhcp-manager/nm-dhcp-manager.c 
10826           nm-device-802-11-wireless.c
10827           nm-device-802-3-ethernet.c
10828           nm-device.c
10829           nm-device.h
10830                 - Remove usage of multiple threads
10831
10832 2006-12-19  Dan Williams  <dcbw@redhat.com>
10833
10834         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10835         plus a few other patches from wpa_supplicant bugzilla.
10836
10837         * src/Makefile.am
10838           src/NetworkManagerPolicy.c
10839           src/NetworkManagerUtils.c
10840           src/NetworkManagerUtils.h
10841           src/nm-ap-security-leap.c
10842           src/nm-ap-security-wep.c
10843           src/nm-ap-security-wpa-eap.c
10844           src/nm-ap-security-wpa-psk.c
10845           src/nm-ap-security.c
10846           src/nm-ap-security.h
10847           src/nm-device-802-11-wireless.c
10848           src/nm-device-802-11-wireless.h
10849           src/supplicant-manager/nm-supplicant-config.c
10850           src/supplicant-manager/nm-supplicant-config.h
10851           src/supplicant-manager/nm-supplicant-interface.c
10852           src/supplicant-manager/nm-supplicant-interface.h
10853           src/supplicant-manager/nm-supplicant-marshal.list
10854           src/supplicant-manager/nm-supplicant-settings-verify.c
10855           src/supplicant-manager/nm-supplicant-settings-verify.h
10856                 - Move all connection management and association handling to
10857                         wpa_supplicant over dbus, rather than spawning a private copy
10858
10859 2006-12-19  Dan Williams  <dcbw@redhat.com>
10860
10861         * src/NetworkManagerPolicy.c
10862                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10863                         better locking of the device change check handler ID.  Incorrect
10864                         locking was causing lost device change requests
10865
10866 2006-12-18  Dan Williams  <dcbw@redhat.com>
10867
10868         * libnm-util/dbus-dict-helpers.c
10869                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10870                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10871                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10872
10873 2006-12-18  Dan Williams  <dcbw@redhat.com>
10874
10875         * gnome/libnm_glib/libnm_glib.c
10876                 - Change dbus_connection_close() -> dbus_connection_unref()
10877
10878 2006-12-11  Dan Williams  <dcbw@redhat.com>
10879
10880         * src/supplicant-manager/nm-supplicant-interface.c
10881                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10882                         wpa_supplicant interface state
10883                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10884                         state before transitioning to READY state
10885
10886 2006-12-04  Dan Williams  <dcbw@redhat.com>
10887
10888         * src/nm-device-802-11-wireless.c
10889                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10890                         odd length of ESSID returned from ieee80211 stack-based drivers
10891
10892 2006-12-04  Dan Williams  <dcbw@redhat.com>
10893
10894         * src/nm-device-802-11-wireless.c
10895                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10896                         IE handling blocks that cause mis-parsing of the IE
10897
10898 2006-12-04  Dan Williams  <dcbw@redhat.com>
10899
10900         * src/nm-device-802-11-wireless.c
10901                 - (init_supplicant_interface): new function; pull supplicant interface
10902                         setup code out into standalone function since it must be called from
10903                         two different places
10904                 - (real_init): sup_mgr is now in private object data; get and track
10905                         the supplicant manager object over the NMDevice subclass' lifetime
10906                         and register a signal handler for its state signals; only try to
10907                         initialize the supplicant interface if the supplicant manager is in
10908                         the IDLE state (and therefore is ready for requests)
10909                 - (request_wireless_scan): reschedule the scan request if (a) there is
10910                         no supplicant interface yet (meaning wpa_supplicant isn't running
10911                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10912                         for requests yet
10913                 - (supplicant_iface_connection_state_cb): new function; stub for
10914                         handling supplicant interface connection state signals
10915                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10916                         comes and goes
10917                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10918                         supplicant manager object that's being tracked starting with this
10919                         commit
10920
10921 2006-12-04  Dan Williams  <dcbw@redhat.com>
10922
10923         * src/supplicant-manager/nm-supplicant-interface.c
10924                 - (nm_supplicant_interface_set_property): track signal handler ID
10925                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10926
10927 2006-12-04  Dan Williams  <dcbw@redhat.com>
10928
10929         * src/supplicant-manager/nm-supplicant-interface.[ch]
10930                 - (nm_supplicant_interface_get_state): new function
10931
10932 2006-12-04  Dan Williams  <dcbw@redhat.com>
10933
10934         * src/supplicant-manager/nm-supplicant-interface.c
10935                 - (bssid_properties_cb): don't treat DBus errors as valid
10936                         scanned AP messages
10937
10938 2006-12-04  Dan Williams  <dcbw@redhat.com>
10939
10940         * src/supplicant-manager/nm-supplicant-interface.[ch]
10941                 - (nm_supplicant_interface_get_connection_state): new function
10942                 - define new supplicant connection states
10943                 - send a signal when the supplicant connection state changes
10944
10945 2006-12-03  Dan Williams  <dcbw@redhat.com>
10946
10947         * src/supplicant-manager/Makefile.am
10948           src/supplicant-manager/nm-supplicant-connection.h
10949           src/supplicant-manager/nm-supplicant-connection.c
10950           src/supplicant-manager/nm-supplicant-config.h
10951           src/supplicant-manager/nm-supplicant-config.c
10952           src/supplicant-manager/nm-supplicant-types.h
10953           src/supplicant-manager/nm-supplicant-interface.h
10954           src/supplicant-manager/nm-supplicant-interface.c
10955                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10956
10957 2006-12-03  Dan Williams  <dcbw@redhat.com>
10958
10959         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10960
10961         * po/POTFILES.in
10962           po/POTFILES.skip
10963                 - Move VPN-related translatables to .skip
10964
10965         * vpn-daemons/pptp/po/POTFILES.in
10966                 - Update with new translatables
10967
10968 2006-12-02  Dan Williams  <dcbw@redhat.com>
10969
10970         Patch from Christian Persch <chpe@gnome.org>
10971
10972         * gnome/applet/Makefile.am
10973           gnome/applet/applet-dbus-devices.c
10974           gnome/applet/applet-notifications.c
10975           gnome/applet/applet.c
10976           gnome/applet/applet.h
10977           gnome/applet/main.c
10978                 - Be a GtkStatusIcon on GTK+ >= 2.10
10979
10980 2006-12-02  Dan Williams  <dcbw@redhat.com>
10981
10982         * gnome/applet/applet.c
10983                 - (nma_update_info): fix two unecessary allocations
10984
10985 2006-12-02  Dan Williams  <dcbw@redhat.com>
10986
10987         Patch from Michael Biebl <biebl@teco.edu>
10988         * configure.in
10989           man/NetworkManager.1.in
10990           man/NetworkManagerDispatcher.1.in
10991           man/NetworkManager.8.in
10992           man/NetworkManagerDispatcher.8.in
10993                 - Add .SH NAME stanzas
10994                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10995
10996 2006-12-02  Dan Williams  <dcbw@redhat.com>
10997
10998         Patch from Christian Persch <chpe@gnome.org>
10999
11000         * configure.in
11001                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11002
11003 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11004
11005         Patch by Timo Hoenig <thoenig@suse.de>:
11006         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11007         DBUS-1.0.
11008
11009         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11010         we can't use the one from the main source directory.
11011
11012 2006-11-27  Dan Williams  <dcbw@redhat.com>
11013
11014         Patch from Christian Persch <chpe@gnome.org>
11015
11016         * gnome/applet/applet-dbus-devices.c
11017                 - (hal_info_product_cb): fix memleak; free duped string.
11018                         Gnome.org #379908
11019
11020 2006-11-27  Dan Williams  <dcbw@redhat.com>
11021
11022         Patch from Christian Persch <chpe@gnome.org>
11023
11024         * gnome/applet/menu-items.c
11025                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11026                         as gtk_progress_set_percentage is deprecated.  Should
11027                         work as far back as GTK+ 2.4.  Gnome.org #379780
11028
11029 2006-11-26  Dan Williams  <dcbw@redhat.com>
11030
11031         Scan using wpa_supplicant over DBus.
11032
11033         * src/nm-device-802-11-wireless.c
11034                 - remove wireless extensions netlink event handler bits
11035                         (wireless_event_helper, nm_device_802_11_wireless_event)
11036                 - remove wireless extensions scan event handler bits
11037                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11038                         hex2byte, hex2num, request_and_convert_scan_results,
11039                         free_process_scan_cb_data, scan_results_timeout,
11040                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11041                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11042                         and request scans from the supplicant interface rather than directly
11043                 - Move functionality of convert_scan_results() to cull_scan_list() and
11044                         supplicant_iface_scanned_ap_cb()
11045                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11046                         at the scan interval when the current scan has finished
11047                 - (supplicant_iface_state_cb): start scanning when the supplicant
11048                         interface enters the READY state, and stop scanning when it
11049                         enters the DOWN state
11050                 - (cull_scan_list): weed out old access points from the scan list
11051                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11052                         point into an NMAccessPoint and merge it into the device's scan list
11053
11054         * src/supplicant-manager/nm-supplicant-interface.c
11055           src/supplicant-manager/nm-supplicant-interface.h
11056                 - Add a new signal "scan-result" which is issued when the supplicant
11057                         notifies NM that a scan has completed
11058                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11059                         point found in the scan.  Called once for each access point that
11060                         the supplicant interface object receives from the supplicant as a
11061                         result of the "scanResults" method call
11062                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11063                         for the initial scan results
11064                 - (scan_request_cb): new function; send listeners the result
11065                         (success, error) of a wireless scan request
11066                 - (nm_supplicant_interface_request_scan): new function; ask the
11067                         supplicant to perform an immediate wireless scan
11068
11069 2006-11-25  Dan Williams  <dcbw@redhat.com>
11070
11071         * src/supplicant-manager/Makefile.am
11072                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11073                         add HAL cflags/includes and named-manager includes directory
11074
11075         * src/supplicant-manager/nm-supplicant-interface.h
11076                 - New state STARTING to handle transition from INIT to READY where
11077                         the addInterface pending call is still outstanding
11078
11079         * src/supplicant-manager/nm-supplicant-interface.c
11080                 - track pending calls differently since we may have more than one
11081                         going on at any given time
11082                 - request scan results from wpa_supplicant; but don't do it more often
11083                         than every 4 seconds.  Drivers that do background scanning
11084                         (like the 'ipw' drivers) send a continuous stream of scan completion
11085                         notifications, so we don't want to hammer the supplicant or dbus
11086                         with requests for all scan results every time we get a completion
11087                         notification.
11088
11089 2006-11-25  Dan Williams  <dcbw@redhat.com>
11090
11091         * src/supplicant-manager/nm-supplicant-types.h
11092                 - new file; move all supplicant manager object typedefs here for
11093                         #include sanity
11094
11095         * src/supplicant-manager/nm-supplicant-interface.c
11096           src/supplicant-manager/nm-supplicant-interface.h
11097                 - new file; an object that interfaces an NMDevice object to the
11098                         supplicant and handles signals from the supplicant.  This object
11099                         does all necessary DBus communication with wpa_supplicant.
11100
11101         * src/supplicant-manager/nm-supplicant-manager.c
11102           src/supplicant-manager/nm-supplicant-manager.h
11103                 - Actually do something.  Track the state of the wpa_supplicant service
11104                         and deal with its comings & goings.  Handle life events of
11105                         supplicant interfaces too.
11106                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11107
11108         * src/supplicant-manager/nm-supplicant-connection.h
11109                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11110
11111         * src/supplicant-manager/Makefile.am
11112                 - Add new files to build, and add libnm-util to includes
11113
11114         * src/nm-marshal.list
11115                 - New marshaler type: VOID:UINT,UINT
11116
11117         * src/nm-device-802-3-ethernet.c
11118                 - (real_init): grab a supplicant interface
11119                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11120                 - (supplicant_iface_state_cb): new function, stub for handling
11121                         supplicant interface state changes
11122
11123         * src/nm-device-802-11-wireless.c
11124                 - (real_init): grab a supplicant interface
11125                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11126                 - (supplicant_iface_state_cb): new function, stub for handling
11127                         supplicant interface state changes
11128
11129         * src/NetworkManager.c
11130                 - (main): create and keep the supplicant manager around for the lifetime
11131                         of NetworkManager
11132
11133         * src/Makefile.am
11134                 - Link to the supplicant manager sub-library and use the supplicant
11135                         manager includes
11136
11137 2006-11-25  Dan Williams  <dcbw@redhat.com>
11138
11139         Rework DBus manager signal handling to be more flexible.  Previously,
11140         only one signal handler could be registered for a particular interface.
11141         The DBus manager now reference counts DBus bus matches and allows multiple
11142         clients to register signal handlers for the same interface and sender.
11143
11144         * src/NetworkManager.c
11145                 - (main): track NMI signal handler ID and remove it when we quit
11146
11147         * src/NetworkManagerMain.h
11148                 - Keep track of NMI signal handler ID
11149
11150         * src/nm-dbus-manager.c
11151           src/nm-dbus-manager.h
11152                 - rework signal handling; each signal handler references one signal
11153                         match, but a signal match may be referenced by one or more
11154                         signal handlers.  Matches are refcounted and are destroyed when the
11155                         last signal handler that references the match is removed.  This is
11156                         necessary because two signal handlers may end up requiring the same
11157                         dbus bus match, so the match must live until the last signal handler
11158                         is destroyed (for example, with the wpa_supplicant network interface
11159                         dbus interface).
11160
11161         * src/dhcp-manager/nm-dhcp-manager.c
11162                 - (nm_dhcp_manager_new): track DHCP signal handler id
11163                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11164
11165         * src/vpn-manager/nm-vpn-service.c
11166                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11167                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11168
11169 2006-11-25  Dan Williams  <dcbw@redhat.com>
11170
11171         Suggested by Helmut Schaa <hschaa@suse.de>
11172
11173         * src/vpn-daemons/nm-vpn-service.c
11174                 - (supplicant_child_setup): new function
11175                 - (supplicant_exec): make child process use a new process group id
11176
11177         * src/nm-device-802-11-wireless.c
11178                 - (nm_vpn_service_child_setup): new function
11179                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11180                         process group id
11181
11182 2006-11-19  Dan Williams  <dcbw@redhat.com>
11183
11184         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11185         * gnome/vpn-properties/nm-vpn-properties.c
11186                 - clean up after renamed VPN connection
11187
11188 2006-11-19  Dan Williams  <dcbw@redhat.com>
11189
11190         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11191         * gnome/applet/applet-dbus-vpn.c
11192                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11193
11194         * gnome/vpn-properties/nm-vpn-properties.c
11195                 - (init_app): sort VPN connections
11196
11197 2006-11-09  Dan Williams  <dcbw@redhat.com>
11198
11199         * src/NetworkManagerAPList.c
11200                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11201                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11202                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11203                 broke hidden SSID matching.  Found by Bill Moss.
11204
11205 2006-10-25  Dan Williams  <dcbw@redhat.com>
11206
11207         * src/nm-dbus-nm.c
11208                 - (nm_dbus_nm_set_active_device): return an empty success message on
11209                         success, rather than falling through to the error case.
11210
11211 2006-10-25  Dan Williams  <dcbw@redhat.com>
11212
11213         * src/NetworkManagerUtils.c
11214                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11215                         "SCAN" command
11216
11217 2006-10-24  Dan Williams  <dcbw@redhat.com>
11218
11219         Reduce the number of times the Gnome applet wakes up, especially when
11220         it's doing absolutely nothing and is hidden.  Initial patch by
11221         Chris Aillon.
11222
11223         * gnome/applet/applet-dbus.c
11224                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11225                         kill the redraw timeout.  When NM starts up, start the redraw
11226                         timeout.  Also, if we get kicked off the bus for some reason,
11227                         start the reconnection timeout if one's not already running.
11228                 - (nma_dbus_init): better handling of error conditions, don't leak
11229                         a half-initialized dbus connection
11230                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11231                         the applet's data, just call nm_dbus_init_helper()
11232                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11233                         timeout that calls nma_dbus_connection_watcher()
11234                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11235                         reconnection timeout, and don't start the reconnection timeout
11236                         unconditionally anymore
11237
11238         * gnome/applet/applet-dbus.h
11239                 - Expose nma_start_dbus_connection_watch()
11240
11241         * gnome/applet/applet.c
11242                 - (nma_update_state): no longer static, called from applet-dbus.c for
11243                         immediate UI updates on certain events
11244                 - (nma_set_running): new function; take over setting applet->running,
11245                         when not running (ie, NM is not active), don't activate the redraw
11246                         timeout because we're not showing the applet anyway.  When we are
11247                         running (ie, NM is active), and only when we're running, start the
11248                         redraw timeout.
11249                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11250                         kill any reconnection timeout
11251                 - (nma_get_instance): move one-off dbus initialization code here since
11252                         nm_dbus_init_helper() gets called more than once, possibly by the
11253                         reconnection timeout function too.  And, when we start up, if we
11254                         can't get a connection to the bus, start the reconnection timeout.
11255                         But don't start the redraw timeout yet, only do that when we get
11256                         NM's state and find out if it's running or not.
11257
11258         * gnome/applet/applet.h
11259                 - Add the reconnection GSource ID
11260                 - Add prototypes for nma_set_running() and the no-longer-static
11261                         nma_update_state()
11262
11263 2006-10-24  Dan Williams  <dcbw@redhat.com>
11264
11265         * src/vpn-daemons/nm-dbus-vpnc.c
11266                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11267                         pending call tracker
11268                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11269                         pending call tracker; register one-vpn-connection update pending
11270                         call in pending call tracker
11271                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11272                         update pending call in pending call tracker
11273                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11274                         update pending call in pending call tracker; don't block waiting
11275                         for call to return
11276
11277 2006-10-19  Robert Love  <rml@novell.com>
11278
11279         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11280           refresh the cache.
11281
11282 2006-10-14  Dan Williams  <dcbw@redhat.com>
11283
11284         * src/dhcp-manager/nm-dhcp-manager.c
11285                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11286                 the dbus connection and the device object path rather than
11287                 constructing it inside both functions.  Saves a bit of memory
11288                 and clarifies a failure path.
11289                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11290                 and allocate device path here rather than each of the two
11291                 functions above.
11292
11293 2006-10-13  Dan Williams  <dcbw@redhat.com>
11294
11295         * src/NetworkManager.c
11296                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11297                 this somehow droppout in the refactor
11298
11299 2006-10-13  Dan Williams  <dcbw@redhat.com>
11300
11301         * Huge DBus refactor:
11302                 - Create a "DBus Manager" object which manages the connection and
11303                 sends signals on NameOwnerChanged and connection/disconnection events,
11304                 handles reconnection to the bus if NM gets kicked off, and abstracts
11305                 signal handling
11306                 - Remove DBusConnection members from places where they are no
11307                 longer needed due to the refactor, like the dbus-connection
11308                 property of the named manager, and from NMData
11309                 - Reformats a bunch of the code to gnome style
11310                 (8-space tabs, braces on same line as statement, 80-col width).
11311                 Consider it open season to reformat any bits to gnome style.
11312                 style that aren't already.
11313
11314 2006-10-13  Dan Williams  <dcbw@redhat.com>
11315
11316         * src/supplicant-manager/Makefile.am
11317                 - Add new files
11318
11319         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11320                 - Make it a minimal GObject
11321
11322         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11323                 - Verify settings destined for wpa_supplicant
11324
11325         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11326                 - Minimal GObject to track wpa_supplicant controlled device
11327                 connections
11328
11329 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11330
11331         * gnome/applet/applet.c: (nma_update_info),
11332         (nma_act_stage_to_pixbuf), (nma_update_state):
11333         Mark missing strings for translation. Fixes bug #343306.
11334
11335 2006-10-01  Dan Williams  <dcbw@redhat.com>
11336
11337         * src/vpn-manager/nm-vpn-manager.c
11338                 - (nm_vpn_manager_load_services): split and clean up
11339                 for readability and correctness.  Restrict VPN service
11340                 files to ending in ".name", as was meant from the
11341                 beginning (but not coded in).  Better error reporting.
11342
11343 2006-10-01  Dan Williams  <dcbw@redhat.com>
11344
11345         * utils/nm-utils.h
11346                 - Clean up formatting of debug/info/warning log messages
11347
11348 2006-09-27  Robert Love  <rml@novell.com>
11349
11350         Patch by Tambet Ingo <tambet@ximian.com>:
11351         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11352           actually work.
11353
11354 2006-09-07  Dan Williams <dcbw@redhat.com>
11355
11356         * test/Makefile.am
11357           test/libnm-util/Makefile.am
11358           test/nm-supplicant-test.c
11359                 - Add test program emulating the way NM drives wpa_supplicant
11360                 to help debug supplicant issues
11361
11362 2006-08-24  Dan Williams <dcbw@redhat.com>
11363
11364         * configure.in
11365           src/Makefile.am
11366           src/supplicant-manager/Makefile.am
11367           src/supplicant-manager/nm-supplicant-manager.c
11368           src/supplicant-manager/nm-supplicant-manager.h
11369                 - Add skeleton bits of the wpa_supplicant manager
11370
11371 2006-08-24  Dan Williams <dcbw@redhat.com>
11372
11373         Patch from Ed Catmur:
11374         * src/NetworkManagerUtils.c
11375                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11376                 if netmask is 0 (Gnome #352634)
11377
11378 2006-08-17  Robert Love  <rml@novell.com>
11379
11380         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11381           package is now DBUS-enabled and listens for the NM signals.
11382
11383 2006-08-14  Dan Williams  <dcbw@redhat.com>
11384
11385         * Patch from Christian Persch <chpe gnome org>
11386         * configure.in
11387           po/LINGUAS
11388           vpn-daemons/openvpn/po/LINGUAS
11389           vpn-daemons/openvpn/configure.in
11390           vpn-daemons/pptp/po/LINGUAS
11391           vpn-daemons/pptp/configure.in
11392           vpn-daemons/vpnc/po/LINGUAS
11393           vpn-daemons/vpnc/configure.in
11394                 - Convert to LINGUAS method so translators don't have to modify
11395                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11396                 0.35 or higher
11397
11398 2006-08-14  Dan Williams  <dcbw@redhat.com>
11399
11400         Patch from Alex Smith <alex.extreme2@gmail.com>
11401         * configure.in
11402           src/backends/Makefile.am
11403           src/backends/NetworkManagerFrugalware.c
11404                 - Add support for Frugalware
11405
11406 2006-08-13  Dan Williams  <dcbw@redhat.com>
11407
11408         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11409         * src/nm-device-802-11-wireless.c
11410                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11411                 Gnome #346875
11412
11413 2006-08-13  Dan Williams  <dcbw@redhat.com>
11414
11415         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11416         * src/nm-ap-security.c
11417           src/nm-ap-security.h
11418                 - Add authentication_required bits for subclasses to specify whether
11419                 or not real authentication is required for connections, i.e. whether
11420                 the AP rejects us when an encryption key is wrong or not.
11421
11422         * src/nm-ap-security-wep.c
11423           src/nm-ap-security-wpa-eap.c
11424           src/nm-ap-security-wpa-psk.c
11425           src/nm-ap-security-leap.c
11426                 - Implement authentication_required appropriately for each method
11427
11428         * src/nm-device-802-11-wireless.c
11429                 - Be smarter about when to request a key; for example, using a wrong key
11430                 in WEP shared key mode previously just timed out and did not request
11431                 a new key
11432
11433 2006-08-13  Dan Williams  <dcbw@redhat.com>
11434
11435         * gnome/libnm_glib/libnm_glib.c
11436                 - dbus_connection_disconnect() -> dbus_connection_close() for
11437                 dbus >= 0.90
11438
11439 2006-08-07  Dan Williams  <dcbw@redhat.com>
11440
11441         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11442         * src/NetworkManagerSystem.c
11443                 - Respect specified MTU.  Gnome #344967
11444
11445 2006-08-07  Dan Williams  <dcbw@redhat.com>
11446
11447         * src/vpn-manager/nm-vpn-service.c
11448                 - Simplify print_vpn_config() arguments
11449
11450         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11451         * src/vpn-manager/Makefile.am
11452           src/vpn-manager/nm-vpn-service.c
11453                 - Add new API for passing VPN config options as a dict. Gnome #344967
11454
11455 2006-08-06  Dan Williams  <dcbw@redhat.com>
11456
11457         * gnome/applet/applet-dbus-devices.c
11458           gnome/applet/applet-dbus-vpn.c
11459           gnome/applet/applet-dbus.c
11460           gnome/applet/applet-dbus.h
11461           src/nm-dbus-nmi.c
11462           utils/nm-utils.c
11463           utils/nm-utils.h
11464                 - Make pending call tracking code generic,
11465                 so we can use it in NM as well as the applet
11466
11467 2006-08-06  Dan Williams  <dcbw@redhat.com>
11468
11469         * src/nm-activation-request.c
11470                 - Refcount pending call objects
11471
11472 2006-08-06  Dan Williams  <dcbw@redhat.com>
11473
11474         Patch from Christan Chiesa <christanc@gmail.com>
11475         * configure.in
11476                 - Tell sha1.c to use bigendian mode on PPC
11477
11478 2006-08-04  Robert Love  <rml@novell.com>
11479
11480         Glib Memory Slices!
11481         * configure.in: Require glib 2.10 or later.
11482         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11483           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11484           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11485           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11486           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11487           Memory Slices are the greatest thing since bread slices.
11488         * src/NetworkManagerAP.c: Also, fix memory leak.
11489
11490 2006-08-01  Robert Love  <rml@novell.com>
11491
11492         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11493
11494 2006-07-31  Robert Love  <rml@novell.com>
11495
11496         * src/backends/interface_parser.c: Declarations must begin the block.
11497
11498 2006-07-24  Dan Williams  <dcbw@redhat.com>
11499
11500         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11501         * src/backends/Makefile.am
11502           src/backends/NetworkManagerArch.c
11503           src/backends/NetworkManagerDebian.c
11504           src/backends/NetworkManagerGeneric.c
11505           src/backends/NetworkManagerGeneric.h
11506           src/backends/NetworkManagerGentoo.c
11507           src/backends/NetworkManagerPaldo.c
11508           src/backends/NetworkManagerRedHat.c
11509           src/backends/NetworkManagerSlackware.c
11510           src/backends/NetworkManagerSuSE.c
11511                 - Genericize common backend functions
11512
11513 2006-07-18  Robert Love  <rml@novell.com>
11514
11515         * configure.in: Add "--with-notify" option to allow disabling of
11516           libnotify support.
11517
11518 2006-07-13  Dan Williams  <dcbw@redhat.com>
11519
11520         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11521         * gnome/applet/applet.glade
11522           gnome/applet/Makefile.am
11523           gnome/applet/nm-gconf-wso.c
11524           gnome/applet/nm-gconf-wso-leap.c
11525           gnome/applet/nm-gconf-wso-leap.h
11526           gnome/applet/wireless-security-manager.c
11527           gnome/applet/wso-leap.c
11528           gnome/applet/wso-leap.h
11529           include/NetworkManager.h
11530           libnm-util/dbus-helpers.c
11531           libnm-util/dbus-helpers.h
11532           src/Makefile.am
11533           src/NetworkManagerAP.c
11534           src/nm-ap-security.c
11535           src/nm-ap-security-leap.c
11536           src/nm-ap-security-leap.h
11537                 - Add LEAP authentication support
11538
11539 2006-07-13  Dan Williams  <dcbw@redhat.com>
11540
11541         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11542         * configure.in
11543           src/backends/NetworkManagerArch.c
11544           src/backends/NetworkManagerDebian.c
11545           src/backends/NetworkManagerGentoo.c
11546           src/backends/NetworkManagerPaldo.c
11547           src/backends/NetworkManagerRedHat.c
11548           src/backends/NetworkManagerSlackware.c
11549           src/backends/NetworkManagerSuSE.c
11550                 - Convert hardcoding of 'ip' path to configure-time
11551                         detected one
11552
11553 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11554
11555         * configure.in: added ru to ALL_LINGUAS
11556
11557 2006-07-10  Dan Williams  <dcbw@redhat.com>
11558
11559         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11560         * src/nm-device.c
11561                 - (real_act_stage3_ip_config_start): don't infinite loop when
11562                         dhcdbd isn't running (Gnome #346845)
11563
11564 2006-07-09  Dan Williams  <dcbw@redhat.com>
11565
11566         * gnome/applet/applet.c
11567                 - (nma_destroy): don't pass NULL to notify_notification_close
11568                         (RH #197917)
11569
11570 2006-07-09  Dan Williams  <dcbw@redhat.com>
11571
11572         * gnome/applet/applet.c
11573                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11574
11575 2006-07-04  Tor Krill  <tor@krill.nu>
11576
11577         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11578         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11579         (nm_system_restart_mdns_responder), (ArchReadConfig),
11580         (nm_system_device_get_system_config):
11581                 - Explicitly check for DHCP configuration
11582                 - Check if daemons are running before starting them
11583
11584 2006-06-25  Dan Williams  <dcbw@redhat.com>
11585
11586         * libnm-util/dbus-dict-helpers.[ch]
11587           test/libnm-util/test-dbus-dict-helpers.c
11588                 - Add string array support
11589
11590 2006-06-24  Dan Williams  <dcbw@redhat.com>
11591
11592         * src/dhcp-manager/nm-dhcp-manager.c
11593                 - (nm_dhcp_manager_process_signal): clean up spacing
11594
11595 2006-06-21  Dan Williams  <dcbw@redhat.com>
11596
11597         * src/nm-dbus-device.c
11598                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11599                         through dbus
11600
11601 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11602
11603         * configure.in: Added 'lv' to ALL_LINGUAS
11604
11605 2006-06-19  Dan Williams  <dcbw@redhat.com>
11606
11607         * src/NetworkManagerAP.c
11608                 - Clarify usage of user_created
11609
11610         * src/nm-ap-security-wep.c
11611           src/nm-ap-security-wpa-eap.c
11612           src/nm-ap-security-wpa-psk.c
11613           src/nm-ap-security.c
11614           src/nm-ap-security.h
11615                 - s/user_created/adhoc, because we really do mean adhoc
11616
11617         Patch from Bernard Blackham <bernard@blackham.com.au>
11618         * src/nm-device-802-11-wireless.c         
11619                 - (supplicant_send_network_config): instead of user_created,
11620                         use adhoc, and do AP_SCAN 2 for adhoc networks
11621
11622 2006-06-18  Robert Love  <rml@novell.com>
11623
11624         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11625           we have a value to set.  Gconf generates a warning if `val' is NULL.
11626         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11627           unless we actually received a valid private key file passphrase or
11628           password.  Otherwise, we don't know to later ask the applet to pull
11629           the key from the keyring.
11630
11631 2006-06-17  Dan Williams  <dcbw@redhat.com>
11632
11633         * libnm-util/dbus-dict-helpers.[ch]
11634           test/libnm-util/test-dbus-dict-helpers.c
11635                 - Fixes for zero-length byte arrays
11636                 - Replace return values of 0 with FALSE for clarity
11637                 - Test zero-length byte arrays
11638
11639 2006-06-17  Dan Williams  <dcbw@redhat.com>
11640
11641         * libnm-util/dbus-dict-helpers.[ch]
11642           test/libnm-util/test-dbus-dict-helpers.c
11643                 - Add helpers for byte arrays
11644                 - Rework bits of the testcase
11645
11646 2006-06-16  Dan Williams  <dcbw@redhat.com>
11647
11648         * libnm-util/Makefile.am
11649         * libnm-util/dbus-dict-helpers.[ch]
11650                 - Add some helpers to take the pain out of using dict types in
11651                         dbus.
11652
11653         * test/libnm-util/Makefile.am
11654         * test/libnm-util/test-dbus-dict-helpers.c
11655                 - Test cases for the dict helper functions
11656
11657 2006-06-15  Robert Love  <rml@novell.com>
11658
11659         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11660           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11661           if there is no key to pass.
11662         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11663           receiving a non-NULL key.
11664
11665 2006-06-14  Robert Love  <rml@novell.com>
11666
11667         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11668           copy the strings.
11669
11670
11671 2006-06-14  Dan Williams  <dcbw@redhat.com>
11672
11673         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11674         * src/nm-device-802-11-wireless.c
11675                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11676                         or ones where the driver is unknown
11677                 - (supplicant_exec): don't wait for supplicant startup here
11678                 - (supplicant_interface_init): finer grained polling for supplicant
11679                         startup
11680
11681 2006-06-13  Robert Love  <rml@novell.com>
11682
11683         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11684           if it is currently set to TRUE.  Otherwise, we will reset the value
11685           when we connect normally.
11686         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11687           the old BSSID is valid, too.  The recently added ESSID check may not be
11688           sufficient (we can remove it?).  What we really want to catch is the
11689           case of going from all-zeros to the BSSID of some other network, which
11690           happens on failure.
11691
11692 2006-06-09  Dan Williams  <dcbw@redhat.com>
11693
11694         * src/NetworkManagerSystem.[ch]
11695                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11696                         it was unused and pointless
11697                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11698                         fix for set_up_down_with_iface change
11699
11700         * src/vpn-manager/nm-vpn-connection.c
11701                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11702
11703         * src/backends/NetworkManagerPaldo.c
11704           src/backends/NetworkManagerRedHat.c
11705           src/backends/NetworkManagerSuSE.c
11706           src/backends/NetworkManagerArch.c
11707           src/backends/NetworkManagerDebian.c
11708           src/backends/NetworkManagerGentoo.c
11709                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11710                         appropriate
11711                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11712                         where appropriate
11713
11714 2006-06-09  Dan Williams  <dcbw@redhat.com>
11715
11716         Patch from Peter Jones:
11717         * src/nm-device-802-11-wireless.c
11718                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11719                         SSID hasn't changed from what we expect before automatically
11720                         updating the saved BSSID from a new AP
11721
11722 2006-06-08  Robert Love  <rml@novell.com>
11723
11724         Add 'fallback' support.  NetworkManager will attempt to brute-force
11725         connect to networks marked as fallback if there are no better wireless
11726         connections available.  This is useful as a method of last resort, to
11727         work around driver problems, and for use with hidden networks.
11728         * gnome/applet/applet-dbus-devices.c,
11729           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11730         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11731           pass it on via DBUS.
11732         * gnome/applet/applet.c: No fallback by default.
11733         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11734           Update other-network-dialog to add UI checkbox toggling fallback.
11735         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11736           propery from AP object.  Add "fallback" property to AP object.
11737         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11738         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11739         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11740           separate function.  Add get_best_fallback_ap() for returning an AP
11741           on which to attempt fallback.
11742         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11743         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11744
11745 2006-06-07  Robert Love  <rml@novell.com>
11746
11747         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11748           checked that the return type was GCONF_VALUE_STRING, not the correct
11749           GCONF_VALUE_BOOL, and thus it never worked.
11750         * src/NetworkManagerAPList.c: Before concluding that two networks are
11751           identical based on their BSSID, make sure that the BSSID in question
11752           is actually valid.  Specifically, an empty or all zero BSSID does not
11753           cut it.
11754         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11755           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11756           similar invariant clean up.
11757
11758 2006-06-02  Robert Love  <rml@novell.com>
11759
11760         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11761
11762 2006-05-28  Dan Williams  <dcbw@redhat.com>
11763
11764         * gnome/applet/applet.glade
11765           gnome/vpn-properties/nm-vpn-properties.glade
11766                 - Set window icons on dialogs  (Gnome.org #333420)
11767
11768 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11769
11770         * gnome/vpn-properties/nm-vpn-properties.glade:
11771         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11772         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11773         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11774                 - Make the VPN properties pages prettier and more HIG
11775                   compliant. Gnome Bug #336913.
11776
11777 2006-05-28  Dan Williams  <dcbw@redhat.com>
11778
11779         Patch from Christian Persch <chpe@gnome.org>
11780         * gnome/vpn-properties/nm-vpn-properties.c
11781         * gnome/vpn-properties/nm-vpn-properties.glade
11782                 - HIG-ification love  (Gnome.org #336846)
11783
11784 2006-05-28  Dan Williams  <dcbw@redhat.com>
11785
11786         Patch from Christian Persch <chpe@gnome.org>
11787         * configure.in
11788           gnome/vpn-properties/nm-vpn-properties.c
11789                 - (main): Fix option parsing.  Gnome.org #336847
11790
11791 2006-05-28  Dan Williams  <dcbw@redhat.com>
11792
11793         * gnome/vpn-properties/nm-vpn-properties.c
11794                 - (find_vpn_ui_by_service_name): protect against NULL service names
11795                 - (update_edit_del_sensitivity): protect against NULL service names
11796                         Gnome.org #341306
11797
11798 2006-05-28  Dan Williams  <dcbw@redhat.com>
11799
11800         Patch from Chris Fuller <crf@grandecom.net>:
11801         * src/nm-device-802-11-wireless.c
11802                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11803                         don't dispose of wireless-specific stuff unless it is actually
11804                         initialized.  Gnome.org #341263
11805
11806 2006-05-28  Dan Williams  <dcbw@redhat.com>
11807
11808         * src/NetworkManagerPolicy.c
11809                 - (nm_policy_device_change_check): don't switch devices if the "best"
11810                         AP is essentially the same as the current activation request, but
11811                         the current activation request isn't done activating yet.  Fixes
11812                         multiple requests for keyring password on startup for Gnome applet.
11813                         Gnome.org #341297
11814
11815 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11816
11817         * src/NetworkManager.c: use GOptions instead of getopt
11818         * configure.in: bump glib required version to >= 2.6 for GOption
11819           support
11820
11821 2006-05-25  Robert Love  <rml@novell.com>
11822
11823         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11824           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11825           instead of dumping ifdef's throughout the code.
11826         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11827           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11828           use nm_ioctl_info() in lieu.
11829
11830 2006-05-25  Robert Love  <rml@novell.com>
11831
11832         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11833         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11834           not using gcrypt.  Otherwise, we get a linker error.
11835
11836 2006-05-25  Robert Love  <rml@novell.com>
11837
11838         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11839         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11840           configure flag to disable building of the GNOME-based applet.
11841
11842 2006-05-25  Robert Love  <rml@novell.com>
11843
11844         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11845           parameter from link, because it shadows a global variable with some
11846           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11847           should never have exported to the entire system a common four letter
11848           word.  But we here at NetworkManager are team players.  Fixes
11849           GNOME bug #336532.
11850
11851 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11852
11853         * configure.in: Added mk.po, Macedonian translation.
11854
11855 2006-05-24  Robert Love  <rml@novell.com>
11856
11857         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11858           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11859           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11860
11861 2006-05-24  Robert Love  <rml@novell.com>
11862
11863         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11864           libnm-util/Makefile.am, src/Makefile.am,
11865           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11866           vpn-daemons/openvpn/properties/Makefile.am,
11867           vpn-daemons/pptp/auth-dialog/Makefile.am,
11868           vpn-daemons/pptp/properties/Makefile.am,
11869           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11870           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11871           user passed for --datadir, if anything, when setting the GNOME locale
11872           directory.  It should be a function of the specified datadir and not
11873           the prefix.
11874
11875 2006-05-24  Robert Love  <rml@novell.com>
11876
11877         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11878           src/NetworkManager.c: Take care to call bindtextdomain with the
11879           location of msgid files.
11880         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11881           files.
11882
11883 2006-05-22  Robert Love  <rml@novell.com>
11884
11885         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11886           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11887           99% of the time there is a real problem with wireless, and a
11888           seemingly successful connection via Zeroconf just confuses the user.
11889           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11890
11891 2006-05-22  Robert Love  <rml@novell.com>
11892
11893         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11894           autofs on interface up if NIS is configured.  On interface down, do
11895           nothing.
11896
11897 2006-05-22  Robert Love  <rml@novell.com>
11898
11899         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11900           to avoid calling g_object_unref() on stale pointers on error in
11901           nma_icons_free().  This happens because we short-circuit loaded the
11902           icons on the first failure but then free all icons.  Normally we have
11903           no issue because the icons were zero'ed out malloc, but we have stale
11904           pointer data after nma_icon_theme_changed().
11905         * gnome/applet/main.c: Return error code if nma_new() failed.
11906
11907 2060-05-21  Dan Williams  <dcbw@redhat.com>
11908
11909         * initscript/NetworkManager.in
11910                 - Ensure both dhcdbd and named are started before NM
11911
11912 2006-05-21  Dan Williams  <dcbw@redhat.com>
11913
11914         * configure.in
11915                 - Bump version to 0.7 to signify we are in 0.7 development
11916
11917 2006-05-21  Dan Williams  <dcbw@redhat.com>
11918
11919         Patch from Adam Schreiber <sadam@clemson.edu>
11920         * gnome/vpn-properties/nm-vpn-properties.c
11921                 - (main): correct Gnome program name  (gnome.org #342498)
11922
11923 2006-05-21  Dan Williams  <dcbw@redhat.com>
11924
11925         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11926
11927         * src/NetworkManagerDbus.[ch]
11928                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11929                         clarify that function's argument should be an escaped dbus object
11930                         path, and look for path segment end before returning a match
11931         * src/nm-dbus-nm.c:
11932                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11933
11934 2006-05-17  Robert Love  <rml@novell.com>
11935
11936         Functionality to differentiate Ad-Hoc networks from infrastructure
11937         networks in the applet, by displaying a special icon:
11938         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11939         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11940         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11941           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11942           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11943           networks, encrypted or not.
11944         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11945           accessor functions to get and set the mode of a given network,
11946           wireless_network_get_mode() and wireless_network_set_mode().
11947
11948 2006-05-17  Robert Love  <rml@novell.com>
11949
11950         Functionality to automatically add BSSIDs to the allowed-MAC list as
11951         one roams from access point to access point on a given network:
11952         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11953           helper function to compare two ether_addr structures and return TRUE
11954           if they contain the same MAC address.
11955         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11956           prototype.
11957         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11958           stored with the current AP.  If the BSSID has indeed changed, we
11959           send it out to the applet, allowing the allowed-MAC list to grow
11960           automatically in response to roaming.
11961
11962 2006-05-16  Robert Love  <rml@novell.com>
11963
11964         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11965           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11966
11967 2006-05-13  Dan Williams  <dcbw@redhat.com>
11968
11969         * src/nm-device-802-3-ethernet.c
11970                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11971                         carrier detect (Debian bug #366373)
11972
11973 2006-05-11  Dan Williams  <dcbw@redhat.com>
11974
11975         Patch from Michael Biebl <biebl@teco.edu>
11976         * src/backends/NetworkManagerDebian.c
11977                 - Debian backend fixups
11978
11979 2006-05-10  Robert Love  <rml@novell.com>
11980
11981         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11982
11983 2006-05-09  Robert Love  <rml@novell.com>
11984
11985         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11986           private certificate passphrase, if any, in the GNOME Keyring.
11987         * libnm-utils/dbus-helpers.c: Update.
11988
11989 2006-05-05  Dan Williams  <dcbw@redhat.com>
11990
11991         * src/nm-device-802-11-wireless.c
11992                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11993                         nm_device_802_11_wireless_disable_encryption() since that's all
11994                         we use it for anymore; we don't ever set WEP keys ourselves.
11995                 - (real_deactivate_quickly): reset SSID and encryption keys
11996                 - (real_deactivate): move SSID and encryption key reset to
11997                         real_deactivate_quickly(), which gets run before us anyway
11998
11999 2006-05-05  Robert Love  <rml@novell.com>
12000
12001         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12002           root has a wacky default of its own (or, more common, a user has a
12003           bad umask and uses su/sudo to restart NetworkManager).  Anything
12004           other than 0022 does not do what we want with, for example,
12005           resolv.conf.  This problem is amplified by our judicious use of
12006           fopen(), which uses mode 0666 -- implying that the only way to get
12007           the permissions we want is with a umask of 0022.
12008
12009 2006-05-05  Dan Williams  <dcbw@redhat.com>
12010
12011         * gnome/libnm_glib/libnm_glib.c
12012                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12013                         to reconnect; instead wait a bit more with each reconnect attempt
12014                         up to a max of one minute.
12015
12016 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12017
12018         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12019           the WirelessNetwork structure using the proper function instead of
12020           just casting it directly to (const char *) (gnome.org #336991)
12021
12022 2006-05-03  Robert Love  <rml@novell.com>
12023
12024         * src/backends/NetworkManagerSuSE.c: Respect the variable
12025           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12026           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12027           to dynamically update /etc/resolv.conf.
12028
12029 2006-05-02  Peter Jones  <pjones@redhat.com>
12030
12031         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12032
12033 2006-05-02  Robert Love  <rml@novell.com>
12034
12035         Patch by Timo Hoenig;
12036         * tests/nm-online.c: Print pretty status indicator as timeout winds
12037           down.  Also fix possible race between DBUS startup and failure
12038           return.
12039
12040 2006-05-01  Robert Love  <rml@novell.com>
12041
12042         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12043           empty, too.
12044
12045 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12046
12047         * src/nm-device.c (discover_device_type): Actually use the hal
12048         device type instead of ioctl poking
12049
12050 2006-04-26  Robert Love  <rml@novell.com>
12051
12052         * tests/nm-online.c: New file.  Simple utility that returns exit status
12053           noting whether the connection is offline or online.  If offline on
12054           start, it waits 30 seconds (or a command-line given value) for an
12055           online signal.  If it times out, it again returns offline.  This is
12056           useful for scripts that want to wait for network connections.
12057
12058 2006-04-25  Robert Love  <rml@novell.com>
12059
12060         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12061           key mode (the authentication algorithm), e.g. open or shared, when we
12062           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12063           only shared was broken.  If the user specified a shared key, set it
12064           explicitly, otherwise let wpa_supplicant go with the default.
12065
12066 2006-04-24  Dan Williams  <dcbw@redhat.com>
12067
12068         * src/nm-device-802-11-wireless.c
12069                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12070
12071 2006-04-24  Dan Williams  <dcbw@redhat.com>
12072
12073         Commit the async scanning patch
12074
12075         * src/nm-device-802-11-wireless.c
12076                 - get rid of scan_mutex
12077                 - (wireless_event_helper): act on wireless scan events
12078                 - (real_start): schedule a pending scan
12079                 - (link_to_specific_ap): fake the link to the AP during a scan
12080                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12081                         strength during scans
12082                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12083                         nm_device_set_bitrate): unused with new scanning code, disable
12084                 - (nm_device_wireless_schedule_scan): removed
12085                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12086                 - (request_and_convert_scan_results): new function; retrieve scan
12087                         results from the driver and schedule the processing function
12088                 - (scan_results_timeout): timeout triggered when card doesn't send
12089                         a scan results wireless event during a certain interval
12090                 - (schedule_scan_results_timeout): new function; schedule the scan
12091                         results timeout
12092                 - (cancel_scan_results_timeout): new function; cancel the scan
12093                         results timeout
12094                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12095                         to do the scanning.  Otherwise, just request a scan but don't
12096                         grab results here; instead schedule a timeout for scan results and
12097                         let netlink notify us of scan completion events
12098                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12099                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12100                 - (supplicant_status_cb): ignore disconnect events while scanning
12101                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12102                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12103                         timeouts
12104                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12105
12106 2006-04-24  Dan Williams  <dcbw@redhat.com>
12107
12108         * gnome/applet/applet-dbus.c
12109                 - Disable the pending call debug stuff, seems under control now
12110
12111 2006-04-20  Robert Love  <rml@novell.com>
12112
12113         Fix bug where hidden ESSID's would not show up in the applet, even
12114         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12115         because nm_policy_device_list_update_from_allowed_list() would merge
12116         the data, putting a name to the hidden networks, but never notify NMI
12117         of the changes.  Simple fix is to invoke the function
12118         nm_dbus_signal_wireless_network_change() if we make a mapping.
12119         * src/NetworkManagerAPList.c: Call the function
12120           nm_dbus_signal_wireless_network_change() if we made a successful
12121           BSSID to ESSID mapping, notifying the applet of the "new" network.
12122         * src/NetworkManagerAPList.h: Update the prototypes for both
12123           nm_ap_list_copy_essids_by_address() and
12124           nm_ap_list_copy_one_essid_by_address().
12125
12126 2006-04-20  Robert Love  <rml@novell.com>
12127
12128         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12129           not set.  Just return zero.
12130
12131 2006-04-20  Robert Love  <rml@novell.com>
12132
12133         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12134           only one copy of nm-vpn-properties is running at a time via the 'ol
12135           X selection trick.  This prevents the user from opening two "VPN
12136           Connections" windows from within the applet, which leads to mass
12137           hysteria.
12138         * clipboard.c: New file, implementing simple X selection logic.
12139         * clipboard.h: New file.
12140         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12141
12142 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12143
12144         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12145         * configure.in
12146           initscript/Gentoo/Makefile.am
12147           initscript/Gentoo/NetworkManagerDispatcher.in
12148                 - New script
12149         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12150           Gentopia
12151
12152 2006-04-16  Dan Williams  <dcbw@redhat.com>
12153
12154         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12155         * configure.in
12156           initscript/Slackware/Makefile.am
12157           initscript/Slackware/rc.networkmanager-dispatcher.in
12158           initscript/Slackware/rc.networkmanager.in
12159                 - Update slackware initscripts
12160
12161 2006-04-10  Robert Love  <rml@novell.com>
12162
12163         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12164           the "delete_event" signal on the druid's parent window and handle it
12165           our way, lest using the WM to close the druid results in a series of
12166           bloody and ultimately lethal errors.
12167
12168 2006-04-10  Robert Love  <rml@novell.com>
12169
12170         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12171           'Back' too or else the 'Forward' option is initially disabled despite
12172           valid input.
12173
12174 2006-04-06  Robert Love  <rml@novell.com>
12175
12176         Fix bad but simple bug where an active modem connection did not update
12177         NM's connection state, breaking any app that did online/offline:
12178         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12179           represented whether a dial up connection is active, or not.
12180         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12181           to modem activation and deactivation.
12182         * src/NetworkManagerDbus.c: When asked our state, do not return
12183           disconnected if the modem is active.
12184
12185 2006-04-04  Robert Love  <rml@novell.com>
12186
12187         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12188           applet.  It just confuses the crap out of people and does not make a
12189           lot of sense, as the daemon still runs.
12190
12191 2006-04-02  Tor Krill  <tor@krill.nu>
12192
12193         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12194           in start of service.
12195         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12196           get Archlinux backend up to date.
12197
12198 2006-03-29  Robert Love  <rml@novell.com>
12199
12200         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12201         to add support for per-route MSS and improve support for per-interface
12202         MTU:
12203         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12204           optionally take an MSS parameter and set it for the given route.
12205           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12206           NMIP4Config's stored MSS, if any.
12207         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12208           the interface's MTU and the route's MSS, respectively.  Add functions
12209           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12210           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12211           MSS.
12212         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12213           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12214           nm_ip4_config_set_mss.
12215         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12216           VPN daemon.
12217         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12218           Change the retval of nm_system_get_mtu to guint32.
12219         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12220           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12221           servers can specify MTU's, we should set it here if the MTU was not
12222           provided.
12223
12224 2006-03-27  Jürg Billeter  <j@bitron.ch>
12225
12226         * configure.in:
12227         * initscript/Makefile.am:
12228         * initscript/paldo/Makefile.am:
12229         * initscript/paldo/NetworkManager.in:
12230         * initscript/paldo/NetworkManagerDispatcher.in:
12231         * src/backends/Makefile.am:
12232         * src/backends/NetworkManagerPaldo.c:
12233                 - Add paldo support
12234
12235 2006-03-27  Dan Williams  <dcbw@redhat.com>
12236
12237         Patch from Christian Persch <chpe@gnome.org>
12238         * gnome/applet/applet.glade
12239                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12240
12241 2006-03-27  Dan Williams  <dcbw@redhat.com>
12242
12243         Patch from Diffe <diffie@blazebox.homeip.net>
12244         * src/backends/NetworkManagerSlackware.c
12245                 - Don't restart howl, since it's been replaced by Avahi
12246                         in most distributions
12247
12248 2006-03-27  Dan Williams  <dcbw@redhat.com>
12249
12250         Patch from Tor Krill <bugzilla@krill.nu>
12251         * configure.in
12252           initscript/Makefile.am
12253           src/backends/Makefile.am
12254           src/backends/NetworkManagerArch.c
12255           initscript/Arch/Makefile.am
12256           initscript/Arch/networkmanager-dispatcher.in
12257           initscript/Arch/networkmanager.in
12258                 - Add Arch Linux support, fixes gnome.org #335147
12259
12260 2006-03-27  Dan Williams  <dcbw@redhat.com>
12261
12262         Patch from Diffe <diffie@blazebox.homeip.net>
12263      * initscript/Slackware/rc.networkmanager
12264         - update, fixed gnome.org #333368
12265
12266 2006-03-27  Robert Love  <rml@novell.com>
12267
12268         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12269           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12270
12271 2006-03-27  Robert Love  <rml@novell.com>
12272
12273         Patch by Jürg Billeter <j@bitron.ch>:
12274         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12275           systems.
12276         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12277           as we prefer glibc over kernel headers, if possible.
12278
12279 2006-03-27  Robert Love  <rml@novell.com>
12280
12281         Patch by Jon Escombe <list@dresco.co.uk>:
12282         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12283         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12284           fail, don't bail out.  We don't expect all of the various WPA-EAP
12285           values to be present.
12286         * src/nm-ap-security.c: We need to match all capabilities for each
12287           encryption type, not any one of them.
12288
12289 2006-03-27  Robert Love  <rml@novell.com>
12290
12291         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12292           restart, not reload, ypbind.  Unfortunately there is no superior
12293           solution.
12294
12295 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12296
12297         * gnome/applet/applet-notifications.c:
12298         When displaying a notification, make sure to get rid of the
12299         previous notification so as to not have competing bubbles,
12300         and stop leaking the old one.
12301
12302         * gnome/applet/applet.c:
12303         * gnome/applet/applet.h:
12304         Add a new 'notification' member to the applet, and zero it out
12305         and free it appropriately.
12306
12307 2006-03-23  Robert Love  <rml@novell.com>
12308
12309         Patch by j <j@bootlab.org>:
12310         * gnome/applet/applet.glade: Don't set the invisible_char property,
12311           which simply overrides the GTK default.  By and by, this behavior
12312           ought to be fixed in Glade.
12313
12314 2006-03-22  Robert Love  <rml@novell.com>
12315
12316         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12317
12318 2006-03-22  Robert Love  <rml@novell.com>
12319
12320         Bug fix by Timo Hoenig <thoenig@suse.de>:
12321         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12322           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12323           and the applet going AWOL.
12324
12325 2006-03-22  Robert Love  <rml@novell.com>
12326
12327         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12328           preprocessor define and use it instead of open-coded the DHCP
12329           timeout, which is currently 25 seconds, everywhere.
12330
12331 2006-03-22  Robert Love  <rml@novell.com>
12332
12333         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12334         key exchange via WPA, ostensibly providing good security without
12335         requiring hardware that supports full WPA.  Also, add UI elements to
12336         allow the user to select the pairwise & group cipher for WPA Enterprise
12337         networks, too:
12338         * gnome/applet/applet.glade: Update glade file.
12339         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12340           key type, too, to and from gconf.
12341         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12342           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12343           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12344           the capabilities match.
12345         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12346           prototype.
12347         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12348           serialize from UI to DBUS.
12349         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12350           one element.
12351         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12352           nmu_security_serialize_wpa_eap_with_cipher(), and
12353           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12354           serialize/deserialize the key type via DBUS as the new third DBUS
12355           parameter.
12356         * libnm-util/dbus-helpers.h: Update prototypes.
12357         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12358           too.  If the key type is WEP104, do Dynamic WEP, which means
12359           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12360           pairwise and group ciphers (fixes a FIXME).
12361
12362 2006-03-21  Robert Love  <rml@novell.com>
12363
12364         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12365           nm_system_get_mtu(), which returns a user-provided or system-mandated
12366           MTU value for a given device, if any, or zero if no such value
12367           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12368           if we have a provided value.
12369         * src/nm-device.c: Set the MTU of devices.
12370         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12371         * src/backends/NetworkManagerDebian.c,
12372           src/backends/NetworkManagerGentoo.c,
12373           src/backends/NetworkManagerRedHat.c,
12374           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12375
12376 2006-03-21  Robert Love  <rml@novell.com>
12377
12378         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12379           configuration file.
12380
12381 2006-03-17  Robert Love  <rml@novell.com>
12382
12383         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12384           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12385           it, in case it is not running in the first place.  We just want its
12386           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12387
12388 2006-03-15  Robert Love  <rml@novell.com>
12389
12390         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12391           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12392           label "WEP 40/128-bit" is inconsistent because the physical key size
12393           is 40 or 104-bits, to which a 24-bit initialisation vector is
12394           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12395           to read "40/104" or "64/128".  I do not care much which, but most
12396           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12397           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12398           WEP passphrase support only handles 128-bit keys, and any future
12399           64-bit passphrase support will require a new option (no way to auto-
12400           detect the target key size), explicitly label our passphrase support
12401           "WEP 128-bit Passphrase".
12402
12403 2006-03-15  Robert Love  <rml@novell.com>
12404
12405         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12406           the system init scripts (or some other mechanism) starting it (or a
12407           compatible DBUS service) before NetworkManager runs.  This means that
12408           distributions might need to update their init scripts.  This fixes
12409           possible races and is quite a bit cleaner.
12410         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12411           starting the NetworkManager daemon.
12412
12413
12414 2006-03-14  Robert Love  <rml@novell.com>
12415
12416         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12417           before adding anything.
12418
12419 2006-03-13  Robert Love  <rml@novell.com>
12420
12421         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12422           widgets, too, if they exist, in case the user hit the back button.
12423           Fixes a bug where the details page contains the widgets of multiple
12424           VPN modules (Novell bug #157048).
12425
12426 2006-03-13  Robert Love  <rml@novell.com>
12427
12428         Patch by Timo Hoenig <thoenig@suse.de>:
12429         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12430           daemon survive DBUS restarts, too.
12431
12432 2006-03-10  Robert Love  <rml@novell.com>
12433
12434         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12435           passphrase or key.
12436         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12437           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12438           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12439           in response to "toggled" signal on new toggle.
12440
12441 2006-03-10  Robert Love  <rml@novell.com>
12442
12443         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12444           serialization if strings are NULL, lest DBUS get angry.
12445
12446 2006-03-10  Robert Love  <rml@novell.com>
12447
12448         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12449
12450 2006-03-09  Robert Love  <rml@novell.com>
12451
12452         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12453           configurations.
12454
12455 2006-03-09  Dan Williams  <dcbw@redhat.com>
12456
12457         Track pending call requests in the applet, and report how many are
12458         outstanding, and how long each completed one takes.
12459         
12460         * gnome/applet/applet-dbus-devices.c
12461           gnome/applet/applet-dbus-vpn.c
12462                 - Track pending calls
12463
12464         * gnome/applet/applet-dbus.[ch]
12465                 - Remove some unused enums
12466                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12467                         new functions to track dbus pending calls and spit out some
12468                         statistics about them
12469
12470 2006-03-09  Robert Love  <rml@novell.com>
12471
12472         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12473           nm_ap_set_timestamp() take the second and micro-second parameters as
12474           direct arguments, which avoids both a dynamic memory allocation and a
12475           structure-to-structure copy!  Add a new interface, the aptly named
12476           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12477           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12478           the return from nm_ap_get_timestamp().  New users should use the new
12479           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12480           the extreme benefit to performance.
12481         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12482           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12483
12484 2006-03-08  Robert Love  <rml@novell.com>
12485
12486         * gnome/applet/applet.glade: Hide the password entry text with
12487           asterisks.
12488
12489 2006-03-08  Robert Love  <rml@novell.com>
12490
12491         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12492           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12493           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12494           a second argument, NMData.
12495         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12496         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12497           config files as trusted.
12498
12499 2006-03-06  Robert Love  <rml@novell.com>
12500
12501         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12502         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12503           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12504           Rivera, detect if the applet was auto-started.  If so, ask the user
12505           if he or she would like to stop automatically running the applet on
12506           login.  If so, disable autostart.
12507
12508 2006-03-06  Robert Love  <rml@novell.com>
12509
12510         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12511           directory in CFLAGS so developers can actually use NetworkManager.h.
12512
12513 2006-03-06  Robert Love  <rml@novell.com>
12514
12515         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12516           open-coded integer constants.  Add state_to_string() to map a given
12517           state to a textual description, and provide that when notifying of
12518           state change.
12519         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12520           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12521           this header directly, but it is currently not installed on most
12522           systems.
12523
12524 2006-03-05  Dan Williams  <dcbw@redhat.com>
12525
12526         Process netlink messages in device subclasses rather than in
12527         NetworkManager.c.  Also add support for recognizing Wireless Events.
12528         
12529         * configure.in
12530                 - Find GLIB_GENMARSHAL
12531
12532         * src/Makefile.am
12533                 - Since we're marshalling custom types for wireless event signals,
12534                         we get to create our own marshallers using GLIB_GENMARSHAL
12535
12536         * src/NetworkManager.c
12537                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12538                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12539                         cut down somewhat.  We no longer process signals here.
12540                 - (nm_data_new): create the netlink monitor here, and remove a
12541                         useless call to nm_policy_schedule_device_change_check()
12542                 - (nm_data_free): get rid of the netlink monitor here
12543                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12544                 - (main): don't create the netlink monitor here, let nm_data_new
12545                         do that.  Call nm_policy_schedule_device_change_check() right
12546                         before we jump to the mainloop to figure out which device
12547                         to use first
12548
12549         * src/NetworkManagerSystem.[ch]
12550                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12551                         convert back and forth from interface names to interface
12552                         indexes
12553
12554         * src/nm-device-802-11-wireless.c
12555                 - (real_init): connect to wireless-event signals from the netlink
12556                         monitor object
12557                 - (nm_device_802_11_wireless_event): new function, schedule handler
12558                         for wireless event signals from the netlink monitor object.  We
12559                         want the handler to run in the device's context
12560                 - (wireless_event_helper): handle wireless-event signals from netlink
12561                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12562                         signal handler
12563
12564         * src/nm-device-802-11-wireless.h
12565                 - remove unused prototype for nm_device_802_11_wireless_new
12566
12567         * src/nm-device-802-3-ethernet.c
12568                 - (real_init): new function; set up signal handlers for link events
12569                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12570                         handler for netlink link activated events on device's main loop
12571                 - (link_activated_helper): when we get a link activated event, set
12572                         the device's link to be active
12573                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12574                         handler for netlink link deactivated events on device's main loop
12575                 - (link_deactivated_helper): when we get a link deactivated event, set
12576                         the device's link to be inactive
12577                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12578                         dispose
12579
12580         * src/nm-device-802-3-ethernet.h
12581                 - remove unused prototype for nm_device_802_3_ethernet_new
12582
12583         * src/nm-device.[ch]
12584                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12585                         but locks the device list
12586                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12587
12588         * src/nm-netlink-monitor.[ch]
12589                 - (nm_netlink_monitor_class_install_signals): New signal
12590                         "wireless-event"
12591                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12592                         at the device list
12593                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12594
12595         * src/nm-marshal-main.c
12596                 - Include generated nm-marshal.c and nm-marshal.h
12597
12598         * src/nm-marshal.list
12599                 - List of custom marshal functions
12600
12601 2006-03-05  Dan Williams  <dcbw@redhat.com>
12602
12603         * gnome/applet/applet-notifications.h
12604                 - Protect prototype of nma_send_event_notification() because it
12605                         includes libnotify-specific types
12606                 - Include libnotify/libnotify.h too, since we technically need it
12607
12608         * gnome/applet/applet.c
12609                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12610                 - (nma_show_vpn_login_banner_dialog): add some error checking
12611
12612 2006-03-04  Dan Williams  <dcbw@redhat.com>
12613
12614         Clean up activation cancellation.  Should be a lot faster now.  Observed
12615         an issue with wireless devices between stage 2 and 3 of activation, where
12616         activation would be cancelled, but the device thread wouldn't notice until
12617         the supplicant association timed out.  Reorganize activation such that
12618         a cancellation handler gets immediately scheduled in the device's thread,
12619         and devices have a chance to perform any custom cleanup too.
12620
12621         * src/nm-device.[ch]
12622                 - (activation_cancel_handler): new device-type-specific function
12623                         for cleaning up device-type-specific stuff on cancellation
12624                 - (cancel_activation): removed
12625                 - (nm_device_activation_cancel): subsume functionality of
12626                         real_cancel_activation, but instead of doing anything, punt
12627                         operation to a handler that's run in device-thread context
12628                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12629                         a warning message
12630                 - (activation_handle_cancel_helper): cancellation handler run in
12631                         device-thread context, calls device-type-specific cancelation,
12632                         then tears down the activation request
12633                 - (real_activation_cancel_handler): generic cancellation handler,
12634                         deals with cancelling any in-process DHCP request
12635                 - (nm_device_activate_stage1_device_prepare,
12636                    nm_device_activate_stage2_device_config,
12637                    nm_device_activate_stage3_ip_config_start,
12638                    nm_device_activate_stage4_ip_config_get,
12639                    nm_device_activate_stage4_ip_config_timeout,
12640                    nm_device_activate_stage5_ip_commit): don't call
12641                         nm_device_schedule_activation_handle_cancel() any more, since
12642                         cancellation will have been already scheduled for us by
12643                         nm_device_activation_cancel().  Just exit the function and
12644                         assume that the cancel handler will be called next.
12645
12646         * src/nm-device-802-3-ethernet.c
12647                 - (real_act_stage2_config): remove; didn't do anything anyway
12648
12649         * src/nm-device-802-11-wireless.c
12650                 - (supplicant_status_cb): ensure we don't do anything if the activation
12651                         got cancelled
12652                 - (real_activation_cancel_handler): implement; cancel user key request
12653                         on activation cancellation
12654
12655 2006-03-04  Dan Williams  <dcbw@redhat.com>
12656
12657         * src/nm-device-802-11-wireless.c
12658                 - (supplicant_send_network_config): assume that drivers that don't
12659                         support WPA pretty much suck, and can't handle NM scanning
12660                         along with wpa_supplicant.
12661
12662 2006-03-03  Robert Love  <rml@novell.com>
12663
12664         * configure.in: Bump version to 0.6.0.
12665         * NEWS: Update.
12666
12667 2006-03-03  Robert Love  <rml@novell.com>
12668
12669         * configure.in: Require DBUS 0.60 or later.
12670
12671 2006-03-03  Dan Williams  <dcbw@redhat.com>
12672
12673         Fix a crash if an "Other wireless network" was chosen, failed, then
12674         chosen again from the applet's menu.  If the other network wasn't
12675         noticed in a scan, it wouldn't have any capabilities, but would still
12676         be listed because the user forced the network.  To fix this, we set
12677         sensible capabilities on the forced network, which will get overwritten
12678         with the correct ones if the network shows up later in a scan.
12679         
12680         * src/nm-ap-security.h
12681                 - Add a new "get_default_capabilities_func" member to the
12682                         NMAPSecurity class
12683
12684         * src/nm-ap-security.c
12685                 - (nm_ap_security_get_default_capabilities): new function
12686
12687         * src/nm-ap-security.c
12688           src/nm-ap-security-wep.c
12689           src/nm-ap-security-wpa-psk.c
12690           src/nm-ap-security-wpa-eap.c
12691                 - Implement get_default_capabilities_func() for all, which
12692                         uses the information contained in a specific NMAPSecurity
12693                         object to determine default AP capabilites necessary
12694                         to support that object
12695
12696         As a secondary measure, we now prune artificial access points that fail
12697         to be activated right away.  The thing failed, and we have no scan data for
12698         it, so it's pretty much useless since security information is only saved
12699         in the applets when a connection is successful.
12700
12701         * src/NetworkManagerAPList.c
12702                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12703                         not artificial.  If we see it, it's no longer a figment of the
12704                         user's imagination :)
12705
12706         * src/NetworkManagerPolicy.c
12707                 - (nm_policy_activation_failed): send along the failed AP if we
12708                         have it
12709
12710         * src/nm-device-802-11-wireless.c
12711                 - (real_activation_failure_handler): remove artificial APs from
12712                         the device list, because activation failed
12713
12714 2006-03-02  Robert Love  <rml@novell.com>
12715
12716         Add support for retrieving both the per-device speed and the
12717         per-network maximum supported rate.  Then change the getProperties
12718         DBUS API for both networks and devices to report this informaiton.
12719         Finally, display the information via both nm-applet and nm-tool:
12720         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12721           and set it.
12722         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12723           Information' dialog.
12724         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12725         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12726           network_device_get_speed() and network_device_set_speed() for
12727           retrieving and setting, respectively, a network device's current
12728           speed.
12729         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12730         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12731           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12732           not matter (yet) what the units are, because we only feed it its own
12733           output.  Implement SIOCGIRATE and set the per-network maximum
12734           supported rate during scanning.
12735         * src/nm-device-802-11-wireless.h: Export the function
12736           nm_device_802_11_wireless_get_bitrate().
12737         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12738           function nm_device_802_3_ethernet_get_speed() for returning an
12739           802.3's current speed, in Mb/s.
12740         * test/nm-tool.c: Display the per-device current speed, if available,
12741           and the per-network maximum rate.
12742
12743 2006-03-02  Dan Williams  <dcbw@redhat.com>
12744
12745         * src/nm-device-802-11-wireless.c
12746                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12747                         card when it gets initialized.  Since devices don't get added to
12748                         the scan list until they are initialized, this function wasn't
12749                         setting the intitial scan interval correctly, and was leaving
12750                         it at 0.  This caused cards to get many scan requests in a short
12751                         amount of time when they were initialized
12752
12753 2006-03-02  Robert Love  <rml@novell.com>
12754
12755         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12756           active device.  But do not do what we used to do and override the
12757           state, which caused the dreaded icon race of '05.
12758
12759 2006-03-02  Robert Love  <rml@novell.com>
12760
12761         Commit Dan's update of my previous commit:
12762         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12763           set_mode() function itself does the check.  But do only set the
12764           frequency if in Ad-Hoc mode.
12765
12766 2006-03-02  Robert Love  <rml@novell.com>
12767
12768         Patch by Brian Magnuson <magnuson@rcn.com>:
12769         * src/nm-device-802-11-wireless.c: During scanning, only set the
12770           wireless mode to infrastructure if it is not currently in
12771           infrastructure mode.  For some driver, setting the mode is a costly
12772           operation, apparently.
12773
12774 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12775
12776         * Makefile.am: use the correct dir for autostart mechanism.
12777
12778 2006-02-28  Dan Williams  <dcbw@redhat.com>
12779
12780         Patch from Brian Magnuson <magnuson@rcn.com>
12781         * gnome/applet/applet.c
12782                 - (nma_show_vpn_failure_dialog): fix errors left over from
12783                         libnotify support changes
12784
12785 2006-02-28  Dan Williams  <dcbw@redhat.com>
12786
12787         * src/vpn-manager/nm-vpn-act-request.[ch]
12788                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12789                         just one value
12790                 - (nm_vpn_act_request_is_failed): new function; return whether or
12791                         not the vpn activation request has failed
12792
12793         * src/vpn-manager/nm-vpn-manager.c 
12794                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12795                         daemon to kill the connection when the activation request fails.
12796                         Fixes issue where NM would get confused if the VPN activation
12797                         request timed out, and would not allow further VPN connections
12798                         on that service.
12799
12800 2006-02-28  Dan Williams  <dcbw@redhat.com>
12801
12802         * gnome/applet/applet.c
12803                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12804                         overlapping connection requests, disable all VPN menu items
12805                         but the active VPN connection
12806
12807 2006-02-28  Dan Williams  <dcbw@redhat.com>
12808
12809         * src/vpn-manager/nm-vpn-connection.c
12810                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12811                         called g_object_unref() on the connection's parent device
12812                         when it should have been ref-ed instead.  Fixes crash with
12813                         repeated vpn connect requests
12814
12815 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12816
12817         * gnome/applet/applet.glade:
12818         Mark a few strings non-translatable, since they shouldn't be.
12819
12820 2006-02-28  Dan Williams  <dcbw@redhat.com>
12821
12822         * src/vpn-manager/nm-vpn-service.c
12823                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12824                         already running, don't blindly ask it to connect, but wait until
12825                         it's in the STOPPED state first.  Fixes an assertion when user
12826                         starts a second vpn connection without stopping the first.
12827                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12828                         dbus service exists before continuing with the connection
12829                         process, and reduce latency while waiting for it to become
12830                         available
12831                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12832                         waiting for the vpn service daemon to become available
12833                 - General log message cleanups; show progress via "Stage x of 4"
12834                         rather than not telling anyone how many stages there are
12835
12836 2006-02-28  Robert Love  <rml@novell.com>
12837
12838         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12839         * src/backends/NetworkManagerSuSE.c: Implement the interface
12840           nm_system_should_modify_resolv_conf() for SUSE.
12841         * src/backends/NetworkManagerDebian.c,
12842           src/backends/NetworkManagerGentoo.c,
12843           src/backends/NetworkManagerRedHat.c,
12844           src/backends/NetworkManagerSlackware.c: Add stub.
12845         * src/named-manager/Makefile.am: Grab includes from src.
12846         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12847           automatic updating of resolv.conf.  This is useful for testing,
12848           broken static configurations, and administrator lock-down.
12849
12850 2006-02-28  Dan Williams  <dcbw@redhat.com>
12851
12852         * src/nm-device-802-11-wireless.c
12853                 - Move all the wpa_supplicant-related management stuff into its
12854                         own struct, just for oranization's sake
12855                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12856                         to a GIOChannel/GSource
12857                 - (supplicant_log_stdout): new function; grab output from the
12858                         wpa_supplicant stdout pipe and write it to our logs.
12859
12860 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12861
12862         * src/nm-device-802-11-wireless.c:
12863         Err, fix thinko in my previous commit.
12864
12865 2006-02-28  Robert Love  <rml@novell.com>
12866
12867         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12868
12869 2006-02-28  Robert Love  <rml@novell.com>
12870
12871         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12872           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12873           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12874           deserializers are responsible for freeing the returned DBUS strings.
12875
12876 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12877
12878         * src/nm-device-802-11-wireless.c:
12879         The scan list is being pruned prematurely.  We should prune after
12880         the device has gone MIA for three scans, not one.  Split out the
12881         interval to realtime seconds function to better serve this.
12882
12883 2006-02-27  Robert Love  <rml@novell.com>
12884
12885         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12886           Open the pid file O_TRUNC, so if it already exists we truncate it to
12887           zero length.  Also, be more verbose about warnings generated during
12888           writing out the pid file.  Finally, always write out the pid file if
12889           in daemon mode.  Use "--pid-file" to override the default.
12890
12891 2006-02-27  Robert Love  <rml@novell.com>
12892
12893         Patch by R. Vinay <rvinay@novell.com>:
12894         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12895           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12896           Novell bug #153628).
12897           
12898 2006-02-27  Robert Love  <rml@novell.com>
12899
12900         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12901           entry so user can hit <ENTER> after entering passphrase (Novell bug
12902           #153738).
12903
12904 2006-02-27  Dan Williams  <dcbw@redhat.com>
12905
12906         * gnome/applet/*
12907                 - Mass search/replace of:
12908                         nmwa -> nma
12909                         NMWirelessApplet -> NMApplet
12910                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12911                    (it ain't just for wireless anymore, ma!)
12912                 - Fix duplicate function name printing when using nm_warning
12913                 - wireless-applet.glade -> applet.glade
12914
12915 2006-02-27  Dan Williams  <dcbw@redhat.com>
12916
12917         * dispatcher-daemon/NetworkManagerDispatcher.c
12918                 - Accept --pid-file with a path to a pidfile, write it out on
12919                         startup, and delete it on shutdown
12920
12921         * src/NetworkManager.c
12922                 - Accept --pid-file with a path to a pidfile, write it out on
12923                         startup, and delete it on shutdown
12924                 - Move nm_print_usage() lower
12925
12926         * initscripts/RedHat/NetworkManager.in
12927                 - Use new --pid-file option
12928                 - Fix service stopping to wait a bit for NM to quit
12929
12930         * initscripts/RedHat/NetworkManagerDispatcher.in
12931                 - Use new --pid-file option
12932
12933 2006-02-26  Dan Williams  <dcbw@redhat.com>
12934
12935         * src/Makefile.am
12936                 - make and install nm-crash-logger
12937
12938         * src/nm-logging.[ch]
12939                 - New files; consolidate logging and crash handling
12940
12941         * src/nm-crash-logger.c
12942           src/gdb-cmd
12943                 - Standalong crashlogger for NM, grab a backtrace
12944                         using GDB
12945
12946         * src/NetworkManager.[ch]
12947                 - Remove signal handling and put it into nm-logging.c
12948
12949 2006-02-26  Dan Williams  <dcbw@redhat.com>
12950
12951         * configure.in
12952           gnome/applet/Makefile.am
12953                 - Conditionalize all the notify stuff
12954
12955         Merge most of Chris Aillon's notification patch:
12956         
12957         * gnome/applet/applet-notifications.[ch]
12958                 - New files; show a notification
12959         
12960         * gnome/applet/applet-dbus-devices.[ch]
12961                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12962                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12963                         new functions, do the right thing when a device change occurs
12964
12965         * gnome/applet/applet-dbus.c
12966                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12967                         signals, so we can handle them specially
12968
12969         * gnome/applet/applet.[ch]
12970                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12971                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12972                 - (nmwa_notify_state): remove
12973                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12974                         notification work is now done when the appropriate dbus signals
12975                         are received.
12976                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12977                         defer execution of the notification/dialog stuff.  That was an
12978                         artifact of the previous multi-threaded nature of the applet
12979                         and is now pointless.
12980                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12981                         no longer needed.  Function folded into applet-notifications.c
12982
12983         * src/NetworkManagerPolicy.c
12984                 - (nm_policy_activation_finish): send the AP along with the device
12985                         status change signal, if the connection is wireless.  Should
12986                         fix the race where applet would show a connection to "unknown"
12987
12988 2006-02-25  Robert Love  <rml@novell.com>
12989
12990         Add WPA Enterprise support:
12991         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12992           nm-gconf-wso-wpa-eap.h.
12993         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12994           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12995           serialization and deserialization.
12996         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12997           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12998           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12999         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13000           settings related to WPA Enterprise.
13001         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13002           instantiate WPA Enterprise wireless-security-option.
13003         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13004           Implement WPA Enterprise wireless-security-option object.
13005         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13006           defines.  Cleanup.
13007         * libnm-util/cipher-wpa-psk-hex.c,
13008           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13009         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13010           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13011           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13012           including the cipher to DBUS method, and
13013           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13014           to output.
13015         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13016           nm-ap-security-wpa-eap.h
13017         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13018           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13019         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13020           files.  Implement NMAPSecurityWPA_EAP object.
13021         * src/nm-ap-security-wpa-psk.c: Cleanup.
13022         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13023           an NMAPSecurityWPA_EAP object via the method
13024           nm_ap_security_wpa_eap_new_deserialize().
13025         * src/nm-dbus-nm.c: Cleanup.
13026         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13027           WPA Enterprise support.
13028
13029 2006-02-24  Robert Love  <rml@novell.com>
13030
13031         Patch from Timo Hoenig <thoenig@suse.de>:
13032         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13033
13034 2006-02-24  Robert Love  <rml@novell.com>
13035
13036         Patch from Dan Winship <danw@novell.com>:
13037         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13038           area to transparent.
13039
13040 2006-02-21  Dan Williams  <dcbw@redhat.com>
13041
13042         * gnome/applet/applet.[ch]
13043           gnome/applet/applet-dbus.c
13044                 - Implement notification support for VPN messages too
13045
13046 2006-02-21  Dan Williams  <dcbw@redhat.com>
13047
13048         * gnome/applet/applet-dbus-info.c
13049                 - Clean up warning messages to not double-print the function
13050
13051 2006-02-21  Dan Williams  <dcbw@redhat.com>
13052
13053         * gnome/applet/applet-compat.c
13054                 - (convert_one_entry): accept entries without a key_type and
13055                         convert them to unencrypted networks
13056
13057 2006-02-21  Dan Williams  <dcbw@redhat.com>
13058
13059         * gnome/libnm_glib/libnm_glib.c
13060                 - Use __func__ everywhere we can
13061                 - Code cleanups
13062                 - Use dbus pending calls rather than blocking
13063                 - Reduce busywaits for our thread to start and stop
13064                         (gnome.org #330562)
13065                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13066                         stomp on others using the default shared dbus connection.
13067                         Fixes #rh177546# and gnome.org #326572
13068
13069 2006-02-21  Dan Williams  <dcbw@redhat.com>
13070
13071         Patch from Rodney Dawes <dobey@novell.com>
13072         * configure.in
13073           gnome/applet/Makefile.am
13074           gnome/applet/applet.c
13075                 - Add libnotify support if '--enable-notify=yes' is passed
13076                   at configure time
13077
13078 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13079
13080         * configure.in (ALL_LINGUAS): ko added. (Korean)
13081
13082 2006-02-15  Robert Love  <rml@novell.com>
13083
13084         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13085           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13086           and WPA_SUPPLICANT_CONTROL_SOCKET.
13087         
13088 2006-02-15  Robert Love  <rml@novell.com>
13089
13090         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13091           information about what connection stage we are at, provide the total
13092           number of stages, e.g. "Stage 2 of 5", so users know how far along
13093           they are if they experience problems.
13094
13095 2006-02-15  Robert Love  <rml@novell.com>
13096
13097         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13098           define to $sysconfdir.
13099         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13100           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13101           type of VPN and then editing another results in a mangled dialog
13102           box containing the widgets from both VPNs (fixes Novell #150854).
13103           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13104
13105 2006-02-14  Robert Love  <rml@novell.com>
13106
13107         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13108           syslog's file descriptor.
13109
13110 2006-02-14  Robert Love  <rml@novell.com>
13111
13112         Fix bug around since the change to "deal with APs changing settings on
13113         us," checked in on the fifth of February in the year of the dog, 
13114         wherein connecting to non-broadcast encrypted networks always fails
13115         because nm_ap_get_encrypted() always returns FALSE, even when the user
13116         provided a key, because the newly-created fake AP does not have any
13117         capabilities set, which is a sypmtom of security settings not matching
13118         capabilities (Novell bug #150784):
13119         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13120           nm_ap_add_capabilities_from_security(), which sets the given AP's
13121           capabilities off the given security settings.  Also improve our
13122           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13123           NM_AUTH_CIPHER_AUTO.
13124         * src/nm-device-802-11-wireless.c: Call the function
13125           nm_ap_add_capabilities_from_security() to ensure that capabilities
13126           match newly updated security settings.
13127
13128 2006-02-14  Robert Love  <rml@novell.com>
13129
13130         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13131           error as a string, not an integer, if possible; do not print the
13132           function name twice; always give the interface, if possible; misc.
13133           cleanup.
13134
13135 2006-02-12  Dan Williams  <dcbw@redhat.com>
13136
13137         Patch from Tom Parker <palfrey@tevp.net>
13138         * src/NetworkManagerSystem.h
13139                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13140                         no longer used
13141
13142         * src/backends/NetworkManagerDebian.c
13143                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13144                         unused variables
13145
13146 2006-02-12  Dan Williams  <dcbw@redhat.com>
13147
13148         * vpn-daemons/openvpn/intltool-extract.in
13149           vpn-daemons/openvpn/intltool-merge.in
13150           vpn-daemons/openvpn/intltool-update.in
13151           vpn-daemons/pptp/intltool-extract.in
13152           vpn-daemons/pptp/intltool-merge.in
13153           vpn-daemons/pptp/intltool-update.in
13154                 - Remove from CVS, they should get created by intltoolize,
13155                         shouldn't they?
13156
13157 2006-02-12  Dan Williams  <dcbw@redhat.com>
13158
13159         * vpn-daemons/pptp/src/pppd/patchlevel.h
13160         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13161                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13162                         Makefile-defined VERSION
13163
13164 2006-02-09  Dan Williams  <dcbw@redhat.com>
13165
13166         Patch from: Vinay A R <rvinay@novell.com>
13167         * src/vpn-manager/nm-vpn-act-request.[ch]
13168                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13169                         IPSec VPNs require them for std gateway.
13170                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13171                         and 'user_routes_count'
13172                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13173                         defined routes  from NMVPNActRequest object, returns the string
13174                         array of routes.
13175
13176         * src/vpn-manager/nm-vpn-manager.[ch]
13177                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13178                         for 'user_routes' and 'user_routes_count'
13179         
13180         * src/vpn-manager/nm-dbus-vpn.c
13181                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13182                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13183         
13184         * src/vpn-manager/nm-vpn-service.c
13185                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13186                         the vpn daemon
13187
13188         Modifications by Dan:
13189         * src/vpn-manager/nm-vpn-service.c
13190                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13191                         arrays into dbus
13192
13193         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13194         * vpn-daemons/pptp/src/nm-pptp-service.c
13195         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13196                 - Grab user routes from dbus message
13197                 - Free all string arrays we got from dbus
13198
13199 2006-02-07  Robert Love  <rml@novell.com>
13200
13201         Patch by Stefan Seyfried <seife@suse.de>:
13202         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13203
13204 2006-02-06  Robert Love  <rml@novell.com>
13205
13206         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13207
13208 2006-02-06  Robert Love  <rml@novell.com>
13209
13210         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13211           test ">=" is never false.  If no newline is found, we loop forever.
13212           We can just check for ">" because the following if() will see the
13213           zero-th argument if the while() gets that far.
13214
13215 2006-02-05  Dan Williams  <dcbw@redhat.com>
13216
13217         Refine handling of non-broadcast networks.
13218
13219         * src/NetworkManagerAPList.c
13220                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13221                         property from scanned AP to the AP from the device list
13222
13223         * src/nm-device-802-11-wireless.c
13224                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13225                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13226                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13227                         networks since those don't have APs.
13228                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13229                         AP as non-SSID-broadcasting
13230                 - (process_scan_results): don't handle non-SSID-broadcasting here
13231
13232 2006-02-05  Dan Williams  <dcbw@redhat.com>
13233
13234         * src/nm-device-802-11-wireless.c
13235                 - (get_supplicant_timeout): new function; return
13236                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13237                         14 channels.  These are likely a/b/g cards, like Atheros, and
13238                         slow as hell to scan.
13239                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13240                         get_supplicant_timeout()
13241
13242 2006-02-05  Dan Williams  <dcbw@redhat.com>
13243
13244         * src/dhcp-manager/nm-dhcp-manager.c
13245                 - Loose a commit race with Robert; make sure size check
13246                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13247
13248 2006-02-05  Robert Love  <rml@novell.com>
13249
13250         Patch by Christoph Brill <chrisbrill@gmx.net>:
13251         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13252           with DHCP_SERVICE_NAME.
13253
13254 2006-02-05  Dan Williams  <dcbw@redhat.com>
13255
13256         Remove anything having to do with device_setup_func from the
13257         AP security objects, since it's no longer used.
13258
13259         * src/nm-ap-security.h
13260                 - Kill device_setup_func and nm_ap_security_device_setup()
13261
13262         * src/nm-ap-security-wep.c
13263           src/nm-ap-security-wpa-psk.c
13264                 - (real_device_setup): remove
13265
13266         * src/nm-ap-security.c
13267                 - (real_device_setup): remove
13268                 - (nm_ap_security_device_setup): remove
13269
13270         * src/nm-device-802-11-wireless.[ch]
13271                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13272                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13273                         and done by wpa_supplicant now anyway
13274
13275 2006-02-05  Dan Williams  <dcbw@redhat.com>
13276
13277         * src/nm-device-802-11-wireless.c
13278                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13279                         settings on us.  Previously NM would loop asking for the
13280                         key but getting the same one back.  Now, if the NMI-supplied
13281                         cipher doesn't overlap with the scanned AP capabilities,
13282                         we request a completely new key from the user.
13283
13284 2006-02-05  Dan Williams  <dcbw@redhat.com>
13285
13286         * src/NetworkManagerUtils.c
13287                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13288                         Handle newline killing better
13289
13290 2006-02-05  Dan Williams  <dcbw@redhat.com>
13291
13292         * gnome/applet/nm-gconf-wso.c
13293                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13294                         of unencrypted access point security info.
13295
13296 2006-02-03  Robert Love  <rml@novell.com>
13297
13298         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13299           user's encryption key, so we print the err_msg_cmd not the command,
13300           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13301           sense.
13302
13303 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13304
13305         * initscript/RedHat/NetworkManagerDispatcher.in:
13306         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13307         Patch from Dan Walsh <dwalsh@redhat.com>
13308
13309 2006-02-03  Robert Love  <rml@novell.com>
13310
13311         * dispatcher-daemon/NetworkManagerDispatcher.c,
13312           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13313           but use the sysconfdir.
13314
13315 2006-02-03  Robert Love  <rml@novell.com>
13316
13317         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13318           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13319           'char *'.
13320         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13321           nm_ip4_config_get_hostname() and
13322           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13323         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13324           leak g_strdup() result.
13325
13326 2006-02-03  Robert Love  <rml@novell.com>
13327
13328         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13329           broadcast == TRUE.  Also, copy broadcast and artificial properties
13330           from source network to destination in nm_ap_copy().
13331         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13332           since we now default new networks to non-hidden.
13333
13334 2006-02-03  Dan Williams  <dcbw@redhat.com>
13335
13336         * gnome/applet/main.c
13337                 - (main): change the NEVER->ALWAYS so we start at the
13338                         beginning of the session, if being session-managed
13339
13340 2006-02-03  Dan Williams  <dcbw@redhat.com>
13341
13342         * gnome/applet/main.c
13343                 - (main): in a variation on Robert's patch, change
13344                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13345                         he wants.
13346
13347 2006-02-02  Robert Love  <rml@novell.com>
13348
13349         * src/Makefile.am: If we aren't going to create the run directory at,
13350           uh, run-time, create it during install.  Then users just doing
13351           'make install' are cool, too.  While we are here, create the
13352           dispatcher.d directory, too.
13353         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13354           the exact run directory.
13355         * Makefile.am: Install nm-applet.desktop.
13356
13357 2006-02-02  Robert Love  <rml@novell.com>
13358
13359         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13360           structure, which denotes whether or not the AP is hidden.  This is a
13361           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13362           can show up in the scan list.  Add nm_ap_get_broadcast() and
13363           nm_ap_set_broadcast() accessor interfaces.
13364         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13365           nm_ap_set_broadcast().
13366         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13367           "getProperties" method, which denotes whether or not the given
13368           network is hidden.
13369         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13370           an artificial network.  Set broadcast to TRUE when scanning returns
13371           an ESSID and FALSE when not.
13372         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13373           from "getProperties" method on a network.  Possible TODO is to
13374           somehow display this.
13375         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13376
13377 2006-02-02  Dan Williams  <dcbw@redhat.com>
13378
13379         * src/nm-device-802-11-wireless.c
13380                 - (supplicant_interface_init): don't try to create
13381                         /var/run/NetworkManager, since that should be done by
13382                         the distro package.  Causes problems for stuff like SELinux
13383
13384 2006-02-02  Robert Love  <rml@novell.com>
13385
13386         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13387         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13388           Check for and handle empty string for iface.
13389
13390 2006-02-01  Robert Love  <rml@novell.com>
13391
13392         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13393           manpage.
13394
13395 2006-01-31  Dan Williams  <dcbw@redhat.com>
13396
13397         * nm-applet.desktop
13398                 - Add --sm-disable to Exec arguments, presuming that when
13399                         using autostart, we don't want session management
13400
13401 2006-01-31  Robert Love  <rml@novell.com>
13402
13403         * src/NetworkManagerAP.c: Add two new manufacturer default network
13404           names: linksys-a and linksys-g.  These are found (at least) on the
13405           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13406           own ESSID.
13407
13408 2006-01-31  Robert Love  <rml@novell.com>
13409
13410         * src/NetworkManagerAP.c: Optimize the function
13411           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13412           machine code.  This is the first in a series of code tweaks aiming to
13413           generate better machine code and make NetworkManager all the better.
13414           Just kidding.  Who has time to go through the assembly generated for
13415           every function?  I certainly don't.  I have a wife, a kid, a job,
13416           a mortgage, a mistress.  But this function was so bad, I was called
13417           to arms.  Like the book.
13418
13419 2006-01-31  Robert Love  <rml@novell.com>
13420
13421         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13422           AP is not broadcasting, to scan with probe request frames.  Required
13423           for non-broadcast networks.
13424
13425 2006-01-31  Robert Love  <rml@novell.com>
13426
13427         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13428           preprocessor define (still 20s).  Fix message text in nm_info()
13429           s/too too/took too/.
13430
13431 2006-01-30  Dan Williams  <dcbw@redhat.com>
13432
13433         * src/nm-device-802-11-wireless.c
13434                 - (supplicant_monitor_start): increase connect/auth timeout to
13435                         20 seconds from 10 seconds
13436
13437 2006-01-30  Dan Williams  <dcbw@redhat.com>
13438
13439         * src/Makefile.am
13440                 - Define LOCALSTATEDIR
13441
13442         * src/nm-device-802-11-wireless.c
13443                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13444                         socket where we want it to
13445
13446         * src/wpa_ctrl.[ch]
13447                 - (wpa_ctrl_open): accept location to put local control socket
13448
13449 2006-01-30  Robert Love  <rml@novell.com>
13450
13451         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13452           get_ip4_string() for "domain_name".
13453
13454 2006-01-30  Robert Love  <rml@novell.com>
13455
13456         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13457           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13458           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13459           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13460           support for "Automatic" pairwise and group cipher configuration by
13461           letting wpa_supplicant handle the details.  Add UI elements, new
13462           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13463           charm.  Note this does more than add a nice feature, it fixes a bug.
13464           Apparently, some people have AP's where the pairwise cipher does not
13465           match the group cipher.  Insane, but true.
13466
13467 2006-01-30  Dan Williams  <dcbw@redhat.com>
13468
13469         * gnome/applet/applet-dbus-devices.c
13470                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13471                         functions, grab device driver name from NetworkManager
13472                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13473
13474         * gnome/applet/applet.c
13475                 - (nmwa_update_info): show driver name in Connection Information
13476                         dialog
13477
13478         * gnome/applet/nm-device.[ch]
13479                 - (network_device_get_driver, network_device_set_driver): add
13480                         accessors for driver name
13481
13482         * gnome/applet/wireless-applet.glade
13483                 - Add line for driver name to Connection Information dialog
13484
13485         * src/nm-dbus-device.c
13486                 - (nm_dbus_device_get_driver): new function to return driver name
13487                 - (nm_dbus_device_methods): hook up driver name function to dbus
13488
13489         * test/nm-tool.c
13490                 - (get_driver_name): new function
13491                 - (detail_device): grab and show driver name
13492
13493 2006-01-30  Robert Love  <rml@novell.com>
13494
13495         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13496           does not parse the markup if it is not part of the format.
13497
13498 2006-01-30  Robert Love  <rml@novell.com>
13499
13500         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13501           FALSE, we have no security options for this dialog, so we throw up
13502           an error dialog instead of a broken passphrase dialog.  Fixes
13503           Novell #138404.
13504         * gnome/applet/wireless-security-manager.c,
13505           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13506           does not add any security options, not even NONE, print a warning
13507           and return FALSE.  This let's functions constructing a dialog bail
13508           out if the device's capabilities and the network's requirements have
13509           zero overlap.
13510
13511 2006-01-27  Robert Love  <rml@novell.com>
13512
13513         * configure.in: Require wpa_supplicant.  Detect location of binary and
13514           use it.  Override with "--with-wpa_supplicant=foo".
13515         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13516           path to wpa_supplicant but use the auto-detected or user-provided
13517           value from configure.
13518
13519 2006-01-27  Robert Love  <rml@novell.com>
13520
13521         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13522           but the DHCP server did not return a hostname, try to look up our
13523           name via DNS and set the system hostname to that.
13524
13525 2006-01-27  Dan Williams  <dcbw@redhat.com>
13526
13527         * src/backends/NetworkManagerRedHat.c
13528                 - Add NM_CONTROLLED system network script support for RH/Fedora
13529
13530 2006-01-27  Dan Williams  <dcbw@redhat.com>
13531
13532         * src/backends/NetworkManagerGentoo.c
13533                 - (nm_system_device_get_disabled): add missing function.
13534                         Gnome BZ #328780
13535
13536 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13537
13538         * configure.in: Added vi in ALL_LINGUAS line.
13539         
13540 2006-01-26  Robert Love  <rml@novell.com>
13541
13542         * src/Makefile.am, src/kernel-types.h: Now that two different source
13543           files are feeling the crack-addled leakage of kernel types such as
13544           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13545           types in user-space -- define a header and include it as needed.
13546         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13547         * src/nm-device-802-3-ethernet.h: Remove defines.
13548         * src/wpa.c: Remove defines and include kernel-types.h.
13549
13550 2006-01-26  Robert Love  <rml@novell.com>
13551
13552         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13553           work.
13554
13555 2006-01-26  Robert Love  <rml@novell.com>
13556
13557         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13558         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13559           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13560           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13561           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13562           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13563           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13564           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13565           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13566           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13567           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13568           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13569           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13570           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13571           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13572           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13573           Kill unused variables, labels, and static functions.  Don't pass
13574           string literals as the format string for printf-like functions.
13575
13576 2006-01-25  Dan Williams  <dcbw@redhat.com>
13577
13578         * gnome/applet/wireless-applet.glade
13579                 - Remove WPA2 Checkbox
13580
13581         * gnome/applet/wireless-security-manager.c
13582                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13583                         This means the Wireless Security menu now has two WPA options,
13584                         one for "WPA Personal" and one for "WPA2 Personal"
13585
13586         * gnome/applet/wso-wpa-psk.[ch]
13587                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13588                         'wpa2' argument to determine WPA version to use
13589                 - (append_dbus_params_func): pass stored WPA version to cipher
13590                         rather than using the (removed) checkbox
13591
13592 2006-01-24  Robert Love  <rml@novell.com>
13593
13594         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13595           before we g_strdup(), not the ultimate string.
13596
13597 2006-01-23  Dan Williams  <dcbw@redhat.com>
13598
13599         * src/NetworkManagerAP.[ch]
13600                 - (nm_ap_new_from_ap): copy original essid too
13601                 - (nm_ap_unref): free original essid
13602                 - (nm_ap_get_orig_essid): new function
13603                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13604                         but keep original essid around too
13605
13606         * src/nm-device-802-11-wireless.c
13607                 - (supplicant_send_network_config): send wpa_supplicant the
13608                         _original_ essid, and not as a string, but in hex.  Should
13609                         allow us to connect to more APs that use wierd character
13610                         encodings for their essids
13611
13612         * utils/nm-utils.[ch]
13613                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13614                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13615                         use the current locale as a hint for what encoding the essid
13616                         might be in.  Obviously not 100% accurate, but the idea here is
13617                         that if a user's locale is ex. ja_JP, they are more likely than
13618                         not to be in Japan, where access points will likely be in some
13619                         Japanese encoding.
13620
13621 2006-01-23  Dan Williams  <dcbw@redhat.com>
13622
13623         * libnm-util/cipher-private.h
13624           libnm-util/cipher.c
13625           libnm-util/cipher.h
13626                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13627
13628 2006-01-23  Robert Love  <rml@novell.com>
13629
13630         Patch by Timo Hoenig <thoenig@suse.de>:
13631         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13632           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13633           by DHCP and pass it to the backends, allowing distribution-specific
13634           behavior with respect to the DHCP-supplied hostname (if nothing else,
13635           some distributions might not want to set the hostname).
13636         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13637           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13638           Also update our NIS behavior.
13639         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13640           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13641           Add stub functions.
13642
13643 2006-01-23  Robert Love  <rml@novell.com>
13644
13645         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13646           gnome-session does autostart.  TODO: We need to install this to
13647           $prefix/share/autostart/.
13648
13649 2006-01-22  Dan Williams  <dcbw@redhat.com>
13650
13651         * src/NetworkManagerAP.[ch]
13652           src/nm-dbus-nmi.c
13653           src/nm-device-802-11-wireless.c         
13654                 - Make nm_ap_get_essid return "const char *"
13655
13656 2006-01-22  Dan Williams  <dcbw@redhat.com>
13657
13658         * src/NetworkManagerAP.[ch]
13659                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13660
13661         * src/NetworkManagerAPList.[ch]
13662                 - (nm_ap_list_diff): removed
13663                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13664                         deal with access points changing essids on us
13665
13666         * src/nm-device-802-11-wireless.c
13667                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13668                         src/NetworkManagerAPList.c
13669                 - (real_can_interrupt_activation): new function; allow interruption
13670                         of device activation if we are waiting for a network key
13671
13672         * src/NetworkManagerPolicy.c
13673                 - (nm_policy_device_change_check): allow interruption of currently
13674                         activating devices if the device allows it.  Previous behavior
13675                         would refuse to activate a just-plugged wired device if a
13676                         wireless device was waiting for a key.
13677
13678         * src/nm-device.[ch]
13679                 - (nm_device_can_interrupt_activation): new function; ask devices
13680                         whether their activation can be interrupted
13681
13682 2006-01-20  Robert Love  <rml@novell.com>
13683
13684         * Makefile.am, configure.in: Add new man subdirectory.
13685         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13686           man/Makefile.am: Add man pages for NetworkManager and its
13687           crime-solving bumbling buddy, NetworkManagerDispatcher.
13688         * man/.cvsignore: Add.
13689         * initscript/Debian/NetworkManager,
13690           initscript/Gentoo/NetworkManager.in,
13691           initscript/RedHat/NetworkManager.in,
13692           initscript/RedHat/NetworkManagerDispatcher.in,
13693           initscript/SUSE/networkmanager-dispatcher.in,
13694           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13695
13696 2006-01-20  Robert Love  <rml@novell.com>
13697
13698         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13699           instead of queuing.  This prevents the running of multiple NM
13700           daemons concurrently, which does not work whatsoever and results in
13701           neither daemon working correctly.  Also, we don't handle queuing and
13702           name-owner-changes, anyhow.
13703
13704 2006-01-20  Robert Love  <rml@novell.com>
13705
13706         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13707         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13708           to sbin, not bin.
13709
13710 2006-01-19  Robert Love  <rml@novell.com>
13711
13712         * configure.in: Require hal 0.5.0 or later.
13713
13714 2006-01-18  Robert Love  <rml@novell.com>
13715
13716         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13717           Allow backends to flag a device (in whatever distro-dependent way
13718           they so desire) as disabled.  NM will ignore any such device.
13719         * src/backends/NetworkManagerDebian.c,
13720           src/backends/NetworkManagerRedHat.c,
13721           src/backends/NetworkManagerSlackware.c: Add stub function
13722           nm_system_device_get_disabled() that always returns FALSE (enabled).
13723         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13724           SUSE-specific configuration structure.  Fill it in from the
13725           NM_CONTROLLED variable in the system networking scripts.  If this var
13726           exists and is "no", we ignore the device.
13727
13728 2006-01-17  Robert Love  <rml@novell.com>
13729
13730         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13731           identical for NM.  For a full discussion, see the thread at
13732           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13733
13734 2006-01-17  Dan Williams  <dcbw@redhat.com>
13735
13736         * src/nm-device.c
13737                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13738                         function.  Fixes crash when wired DHCP fails.
13739
13740 2006-01-16  Robert Love  <rml@novell.com>
13741
13742         * src/Makefile.am: Don't install NMLoadModules
13743         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13744           from src/ to test/ as no one uses it anymore.  Note that I would be
13745           fine with removing it altogether.
13746
13747 2006-01-16  Robert Love  <rml@novell.com>
13748
13749         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13750           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13751           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13752           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13753           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13754           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13755           declarations, ever.
13756         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13757           NM_STATE_DISCONNECTED is zero).
13758
13759 2006-01-16  Robert Love  <rml@novell.com>
13760
13761         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13762           uninitialized parameter and buffer overflow.  Novell #143496.
13763
13764 2006-01-16  Dan Williams  <dcbw@redhat.com>
13765
13766         Apply the PtP Address bits of a patch from Tim Niemueller
13767
13768         * src/nm-ip4-config.[ch]
13769                 - Add ip4_ptp_address member to object
13770                 - (nm_ip4_config_copy): copy ptp address too
13771                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13772                         new functions
13773                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13774                         rather than local tunnel ip address
13775
13776         * src/vpn-manager/nm-vpn-service.c
13777                 - (print_vpn_config): update for PtP address
13778                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13779                         DBusMessageIters in preparation for getting routes from the VPN
13780                         service daemons too
13781
13782         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13783                 - (send_config_info): update for PtP address, clean up code
13784                 - (main): update for PtP address, clean up code, fix typo
13785
13786         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13787                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13788
13789         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13790                 - (pptp_ip_up): update for PtP address
13791
13792         * vpn-daemons/pptp/src/nm-pptp-service.c
13793                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13794
13795         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13796                 - (print_vpn_config): update for PtP address
13797                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13798
13799 2006-01-16  Dan Williams  <dcbw@redhat.com>
13800
13801         * gnome/applet/applet.c
13802                 - (nmwa_add_networks_helper): don't indicate an active network
13803                         if NM is disconnected or asleep
13804
13805 2006-01-16  Dan Williams  <dcbw@redhat.com>
13806
13807         * src/NetworkManagerPolicy.c
13808                 - (nm_policy_device_change_check): switch devices if we lose the link
13809                         on an ethernet device. 
13810
13811 2006-01-16  Dan Williams  <dcbw@redhat.com>
13812
13813         * gnome/applet/wso-wpa-psk-hex.[ch]
13814                 - Renamed -> wso-wpa-psk.[ch]
13815
13816         * gnome/applet/wso-wpa-psk.[ch]
13817                 - New files
13818
13819         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13820                 - Removed, rolled into wso-wpa-psk.[ch]
13821
13822         * gnome/applet/Makefile.am
13823                 - Updated for above changes
13824
13825         * gnome/applet/wireless-applet.glade
13826                 - Consolidate WPA-PSK options into one notebook
13827                         widget, and make dialogs invisible by default
13828                         to fix screen oddities
13829
13830         * gnome/applet/wireless-security-manager.c
13831                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13832                         than both the old hex & passphrase ones
13833
13834 2006-01-16  Dan Williams  <dcbw@redhat.com>
13835
13836         * gnome/applet/other-network-dialog.c
13837                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13838
13839 2006-01-16  Dan Williams  <dcbw@redhat.com>
13840
13841         * gnome/applet/applet.c
13842                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13843                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13844                         prevention to realize window before trying to get server
13845                         time
13846
13847         * gnome/applet/other-network-dialog.c
13848                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13849                         prevention to realize window before trying to get server
13850                         time
13851
13852         * gnome/applet/passphrase-dialog.c
13853                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13854                         prevention to realize window before trying to get server
13855                         time
13856
13857 2006-01-16  Robert Love  <rml@novell.com>
13858
13859         Patch from Timo Hoenig  <thoenig@suse.de:
13860         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13861           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13862           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13863           libnm-util/dbus-helpers.h: add checks whether headers are used
13864           within a C++ build.
13865
13866 2006-01-16  Dan Williams  <dcbw@redhat.com>
13867
13868         * gnome/applet/wireless-security-option.c
13869                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13870
13871 2006-01-16  Dan Williams  <dcbw@redhat.com>
13872
13873         * libnm-util/cipher-wpa-psk-passphrase.c
13874                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13875                         be 8 - 63 characters inclusive
13876
13877 2006-01-16  Dan Williams  <dcbw@redhat.com>
13878
13879         * src/nm-dbus-nm.c
13880                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13881
13882 2006-01-13  Robert Love  <rml@novell.com>
13883
13884         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13885         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13886           modules that do not use an interface.
13887
13888 2006-01-13  Dan Williams  <dcbw@redhat.com>
13889
13890         * src/nm-device.c
13891           src/nm-device.h
13892                 - Allow subclasses to implement deactivate_quickly()
13893                 - (nm_device_deactivate_quickly): call subclass
13894                         deactivate_quickly() methods
13895                 - (nm_device_set_active_link): small cleanups, and don't
13896                         deactivate the device right away because we risk a deadlock
13897                         when called from device thread, waiting for the device
13898                         thread to cancel activation
13899
13900         * src/nm-device-802-11-wireless.c
13901                 - (real_deactivate_quickly): new function
13902                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13903                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13904                         so that we kill the supplicant when we sleep too
13905                 - (supplicant_interface_init): work around naive naming attempts of
13906                         wpa_ctrl when naming sockets
13907
13908 2006-01-13  Dan Williams  <dcbw@redhat.com>
13909
13910         * src/nm-device-802-11-wireless.c
13911                 - (supplicant_cleanup): delete old device control sockets too
13912                 - (supplicant_get_device_socket_path): new function to consolidate
13913                         locations that need a path to a device's control socket
13914
13915 2006-01-12  Robert Love  <rml@novell.com>
13916
13917         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13918           description so that the description is unique for each
13919           pair (device,provider).  Fixes Novell #142773.
13920
13921 2006-01-12  Dan Williams  <dcbw@redhat.com>
13922
13923         * src/nm-device-802-11-wireless.c
13924                 - (supplicant_exec): ensure GError is correctly initialized
13925                         Reported by Diego González (gnome.org #326708)
13926
13927 2006-01-11  Robert Love  <rml@novell.com>
13928
13929         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13930           define if_mii(), open code the same results, and do so without any
13931           type punning.
13932
13933 2006-01-11  Robert Love  <rml@novell.com>
13934
13935         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13936           that wso_foo_new() returned non-NULL.  Instead, only append the new
13937           wso to wsm->options if the wso is non-NULL.  The crux is that we
13938           assume that the relevant key types are implied by WEP and WPA as
13939           appropriate.  To be sure, they should be, but we should not expect
13940           drivers to not be oozing piles of wolf fecal matter.
13941
13942 2006-01-11  Robert Love  <rml@novell.com>
13943
13944         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13945         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13946           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13947           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13948           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13949           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13950           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13951         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13952           comparing values within DBL_EPSILON.  Also fix shadowed variable
13953           usage.
13954
13955 2006-01-11  Dan Williams  <dcbw@redhat.com>
13956
13957         Add options for WPA2 and WPA1+CCMP (AES).
13958
13959         * gnome/applet/wireless-applet.glade
13960                 - Add UI bits for WPA+CCMP
13961
13962         * gnome/applet/other-network-dialog.c
13963                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13964                         and don't allow creation of WPA2 Ad-Hoc networks since
13965                         wpa_supplicant doesn't support them
13966
13967         * gnome/applet/wireless-security-manager.c
13968                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13969                         on to the specific wireless security option being created
13970
13971         * gnome/applet/wireless-security-option.[ch]
13972                 - (wso_wpa_create_key_type_model): new utility function to create
13973                         the model required for WPA Key Type combo box
13974
13975         * gnome/applet/wso-private.h
13976           gnome/applet/wireless-security-option.h
13977                 - Move private function prototypes into wso-private.h
13978
13979         * gnome/applet/wso-wpa-psk-hex.[ch]
13980           gnome/applet/wso-wpa-psk-passphrase.[ch]
13981                 - (append_dbus_params_func): get WPA version from checkbox and pass
13982                         it to the dbus serialization helper
13983                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13984                         key type combo changes
13985                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13986                         model and options
13987
13988         * libnm-util/cipher-wpa-psk-hex.c
13989           libnm-util/cipher-wpa-psk-passphrase.c
13990                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13991                         new function; allow the cipher to be changed after object creation
13992
13993         * src/nm-ap-security-wpa-psk.c
13994                 - (set_description): Do WPA2 descriptions too
13995
13996         * src/nm-ap-security.c
13997                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13998
13999 2006-01-11  Robert Love  <rml@novell.com>
14000
14001         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14002           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14003           from the ifreq structure in lieu of an open coded solution.  Removes
14004           a life-threatening type-punning.
14005         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14006           types, ever, whatsoever, baby.
14007
14008 2006-01-11  Robert Love  <rml@novell.com>
14009
14010         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14011           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14012           assignments to applet->nm_state into a new nmwa_set_state() function
14013           for both cleanliness and to help debugging.
14014
14015 2006-01-10  Robert Love  <rml@novell.com>
14016
14017         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14018           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14019           seconds, exclusive.  That is, we want to sleep x seconds such that
14020           1 < x < 2.
14021
14022 2006-01-10  Robert Love  <rml@novell.com>
14023
14024         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14025           the attr fields according to the example in the email available at
14026           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14027           Conversely, we do have to free 'name', so we do so, fixing a leak.
14028
14029 2006-01-10  Robert Love  <rml@novell.com>
14030
14031         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14032           sure that we close the socket!
14033
14034 2006-01-10  Robert Love  <rml@novell.com>
14035
14036         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14037           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14038           src/nm-device.c: Fix a FIXME!  Reimplement the function
14039           nm_device_update_hw_address() in device subclass variants,
14040           nm_device_802_3_ethernet_set_address() and
14041           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14042           This fixes the existing bug where MAC addresses are all zeros.
14043
14044 2006-01-10  Robert Love  <rml@novell.com>
14045
14046         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14047           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14048           option to give users ability to globally disconnect and put NM to
14049           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14050           clean disconnect.
14051
14052 2006-01-09  Robert Love  <rml@novell.com>
14053
14054         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14055           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14056           User-space does not supply these types, so we have to define them
14057           ourselves.  The relevant kernel maintainer refused to accept a patch
14058           switching these headers to the proper C99 types.
14059
14060 2006-01-09  Dan Williams  <dcbw@redhat.com>
14061
14062         Apply Robert's 'tray icon redo' patch with fixes
14063         * gnome/applet/applet.c
14064           gnome/applet/applet.h
14065                 - Instead of using a menu bar + menu item, simulate menu
14066                         behavior using a popup menu.  Highlight the area around
14067                         the icon more like a menu too, by playing with the
14068                         applet's size requisition
14069
14070 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14071         * libnm-util/dbus-helpers.c
14072           libnm-util/dbus-helpers.h
14073                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14074                         to 'exception_namespace' (:namespace is a keyword in
14075                         C++)
14076
14077 2006-01-09  Dan Williams  <dcbw@redhat.com>
14078
14079         * src/NetworkManagerPolicy.c
14080                 - (nm_policy_device_change_check): don't autoswitch away from
14081                         Ad-Hoc networks, since there's really no concept of
14082                         "link"
14083
14084         * src/nm-dbus-nm.c
14085                 - (nm_dbus_nm_create_wireless_network): mark created networks
14086                         as Ad-Hoc networks
14087
14088         * src/nm-device-802-11-wireless.c
14089                 - (real_activation_success_handler): add user-created Ad-Hoc
14090                         networks to the device's scan list
14091
14092 2006-01-08  Dan Williams  <dcbw@redhat.com>
14093
14094         We now require a patch for wpa_supplicant to support Ad-Hoc
14095         networks:
14096           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14097
14098         * src/nm-device-802-11-wireless.c
14099                 - (supplicant_send_network_config): turn off wpa_supplicant's
14100                         scanning.  Fixes Ad-Hoc networks.
14101
14102 2006-01-08  Dan Williams  <dcbw@redhat.com>
14103
14104         * src/nm-ap-security.c
14105           src/nm-ap-security.h
14106                 - Add a user_created argument to the write_supplicant_config
14107                         functions
14108
14109         * src/nm-ap-security-wep.c
14110           src/nm-ap-security-wpa-psk.c
14111           src/nm-device-802-11-wireless.c
14112                 - Make Ad-Hoc mode somewhat work, at least write the
14113                         correct options to wpa_supplicant
14114
14115 2006-01-08  Dan Williams  <dcbw@redhat.com>
14116
14117         * src/nm-device-802-11-wireless.c
14118                 - Remove unused code from the old device activation path
14119
14120 2006-01-08  Dan Williams  <dcbw@redhat.com>
14121
14122         * libnm-util/dbus-helpers.c
14123                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14124                         dbus when key == NULL
14125
14126 2006-01-08  Dan Williams  <dcbw@redhat.com>
14127
14128         * gnome/applet/nm-gconf-wso-wpa-psk.c
14129                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14130                         correct arguments to nmu_security_deserialize_wpa_psk()
14131
14132         * src/nm-ap-security-wpa-psk.c
14133                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14134                         arguments to nmu_security_deserialize_wpa_psk()
14135
14136 2006-01-08  Dan Williams  <dcbw@redhat.com>
14137
14138         * gnome/applet/wso-wpa-psk-hex.c
14139           gnome/applet/wso-wpa-psk-passphrase.c
14140                 - Hook up the append_dbus_params_func() function
14141
14142 2006-01-08  Dan Williams  <dcbw@redhat.com>
14143
14144         * src/nm-device-802-11-wireless.c
14145                 - (get_wireless_capabilities): correctly detect driver WPA
14146                         capabilities
14147
14148 2006-01-08  Dan Williams  <dcbw@redhat.com>
14149
14150         * gnome/applet/Makefile.am
14151           gnome/applet/wso-wpa-psk-hex.c
14152           gnome/applet/wso-wpa-psk-hex.h
14153                 - New files, implement WPA-PSK Hex key input
14154
14155         * gnome/applet/wireless-applet.glade
14156                 - Change existing wpa-psk stuff to wpa-psk-hex
14157                 - Add new widgets for wpa-psk-passphrase
14158
14159         * gnome/applet/wireless-security-manager.c
14160                 - (wsm_set_capabilities): enable WPA options
14161
14162         * gnome/applet/wso-wpa-psk-passphrase.c
14163                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14164                         for WPA-PSK passphrase
14165
14166 2006-01-08  Dan Williams  <dcbw@redhat.com>
14167
14168         * include/NetworkManager.h
14169                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14170                         applet/info-daemons
14171
14172         * gnome/applet/passphrase-dialog.c
14173                 - Use the constant.  Fixes a bug where the arguments to
14174                         dbus_message_new_error() were incorrect
14175
14176         * src/nm-dbus-nmi.c
14177                 - Use the constant
14178
14179 2006-01-07  Dan Williams  <dcbw@redhat.com>
14180
14181         * src/nm-device-802-11-wireless.c
14182                 - Add a link timeout so we allow the supplicant time to
14183                         reassociate if it can, before we deactivate the card
14184                 - Fix up link status and link updating so things work better
14185
14186 2006-01-07  Dan Williams  <dcbw@redhat.com>
14187
14188         * src/nm-device-802-11-wireless.c
14189                 - Switch over to using wpa_supplicant
14190                 - Add a timeout of 10s for association of the supplicant
14191                 - Start the monitor callback of the supplicant
14192
14193 2006-01-07  Dan Williams  <dcbw@redhat.com>
14194
14195         * src/NetworkManagerUtils.c
14196                 - (nm_utils_supplicant_request,
14197                   nm_utils_supplicant_request_with_check):
14198                         pass correct buffer length to wpa_ctrl_request()
14199
14200 2006-01-07  Dan Williams  <dcbw@redhat.com>
14201
14202         * src/nm-device-private.h
14203           src/nm-device.c
14204                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14205                         this function available to subclasses
14206
14207 2006-01-06  Robert Love  <rml@novell.com>
14208
14209         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14210           user plugging in a network cable signals their preference for to
14211           switch, unless the user explicitly selected a wireless network and
14212           therefore signaled their preference for said wireless network over
14213           wired.  In other words, do exactly what makes sense.
14214
14215 2006-01-06  Robert Love  <rml@novell.com>
14216
14217         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14218           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14219           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14220           showing up in my greps.
14221
14222 2006-01-06  Robert Love  <rml@novell.com>
14223
14224         * gnome/applet/applet-dbus-devices.c,
14225           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14226           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14227           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14228           New Network' both failed in the non-encrypted case because we were
14229           not appending the security options to the DBUS message.  And
14230           'Connect to Other' was also failing in the encrypted case because
14231           we were not incrementing to the next DBUS parameter.  All fixed.
14232           Thanks to dcdw for some debugging help.
14233
14234 2006-01-06  Robert Love  <rml@novell.com>
14235
14236         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14237           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14238           hangup code and add per-device hangup.  Tie last commit into the
14239           GNOME applet.  TODO:  Save, understand, and respond to the state of
14240           each dialup device.
14241
14242 2006-01-06  Robert Love  <rml@novell.com>
14243
14244         Patch by Timo Hoenig <thoenig@suse.de>:
14245         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14246           hangup specific dialup devices.
14247         * src/backends/NetworkManagerDebian.c,
14248           src/backends/NetworkManagerGentoo.c,
14249           src/backends/NetworkManagerRedHat.c,
14250           src/backends/NetworkManagerSlackware.c: Add stub backend.
14251         * src/backends/NetworkManagerRedHat.c,
14252           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14253           hangup specific dialup devices.
14254
14255 2006-01-04  Robert Love  <rml@novell.com>
14256
14257         * gnome/applet/applet-dbus-devices.c,
14258           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14259           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14260           connections.
14261
14262 2006-01-04  Dan Williams  <dcbw@redhat.com>
14263
14264         First dump of wpa_supplicant-related code.  It's not hooked up to
14265         anything yet though.  Thanks to Kay Sievers for
14266         wpa_supplicant_wrapper.c, which formed the basis for this work,
14267         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14268
14269         * src/Makefile.am
14270           src/wpa_ctrl.[ch]
14271                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14272
14273         * src/NetworkManagerUtils.[ch]
14274                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14275                         Add convenience functions for talking to wpa_supplicant
14276
14277         * src/nm-ap-security.[ch]
14278           src/nm-ap-security-wep.c
14279           src/nm-ap-security-wpa-psk.[ch]
14280                 - Update and implement real_write_supplicant_config functions
14281                         in all security types
14282                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14283                         nm-ap-security-wpa-psk.c
14284
14285         * src/nm-device-802-11-wireless.c
14286                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14287                    wpa_supplicant_start, wpa_supplicant_interface_init,
14288                    wpa_supplicant_send_network_config): add functions to talk to
14289                         wpa_supplicant and write network config to it
14290
14291 2006-01-04  Robert Love  <rml@novell.com>
14292
14293         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14294           values so that distribution-backends can differentiate between the
14295           various types (modem, ISDN, et cetera) of dialup device that they
14296           support.
14297         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14298           needed.
14299
14300 2006-01-03  Dan Williams  <dcbw@redhat.com>
14301
14302         * src/NetworkManagerPolicy.c
14303           src/nm-device.[ch]
14304           src/nm-device-802-11-wireless.c
14305                 - Move wireless-specific activation failure and success code
14306                         into wireless device class
14307
14308 2006-01-03  Robert Love  <rml@novell.com>
14309
14310         Patch by Preggna S:
14311         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14312           IPsec does not require that a VPN client be bound to an interface,
14313           due to the use of the in-kernel IPSec bits.  So make the tunnel
14314           device optional.
14315
14316 2006-01-03  Dan Williams  <dcbw@redhat.com>
14317
14318         * src/NetworkManagerAP.c
14319                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14320                         the WPA IE specifies that WEP is supported
14321
14322         * src/nm-device-802-11-wireless.c
14323                 - (process_scan_results): don't mark an AP as supporting WEP
14324                         if there's already other encryption capability info
14325
14326 2006-01-03  Dan Williams  <dcbw@redhat.com>
14327
14328         * src/dhcp-manager/nm-dhcp-manager.c
14329                 - Recognize activation cancellation when waiting for DHCP
14330                         configuration from dhcdbd
14331                 - Ignore non-dhcdbd messages
14332
14333         * src/nm-device.c
14334                 - (real_act_stage3_ip_config_start): return to correct behavior
14335                         of letting the dhcp-manager notify us of failure or
14336                         success rather than incorrectly doing that ourselves
14337                 - (nm_device_activate_stage4_ip_config_get): deal with
14338                         activation cancellation a bit earlier
14339
14340 2006-01-03  Dan Williams  <dcbw@redhat.com>
14341
14342         * src/nm-device-802-11-wireless.c
14343           src/nm-device.[ch]
14344                 - Add hooks to subclasses for stage3_ip_config_start and
14345                         stage4_ip_config_timeout
14346
14347         * src/nm-device-802-3-ethernet.c
14348                 - (real_get_generic_capabilities): make devices NM-supported
14349                         by default
14350
14351 2006-01-03  Robert Love  <rml@novell.com>
14352
14353         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14354           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14355           latter cannot differentiate between error and the address -1; misc.
14356           clean up.
14357
14358 2006-01-03  Dan Williams  <dcbw@redhat.com>
14359
14360         * src/NetworkManager.c
14361                 - Move link-checking/probing into the device subclasses
14362                         themselves
14363
14364         * src/nm-device.[ch]
14365           src/nm-device-802-11-wireless.c
14366           src/nm-device-802-3-ethernet.c
14367                 - Do periodic link checking in device subclasses rather
14368                         than being triggered from NetworkManager.c
14369                 - discover_wireless_capabilities -> get_wireless_capabilities
14370                 - discover_generic_capabilities -> get_generic_capabilities
14371                 - Device subclass activation routines now return a value of type
14372                         NMActStageReturn to indicate what step to perform next
14373                 - Devices now override stage4_get_ip4_config if they choose
14374
14375 2006-01-01  Dan Williams  <dcbw@redhat.com>
14376
14377         * src/nm-device-802-11-wireless.c
14378                 - (real_init): don't chain up to parent init because we don't
14379                         need to do that anymore
14380
14381         * src/nm-device.c
14382                 - (discover_device_type): fix arguments to ioctl() to correctly
14383                         pass interface name
14384                 - (nm_device_new): consolidate generic device initialization into
14385                         nm_device_new()
14386                 - (real_init): remove, consolidated to nm_device_new()
14387                 - (nm_device_deactivate, real_deactivate): consolidate
14388
14389 2006-01-01  Dan Williams  <dcbw@redhat.com>
14390
14391         * src/nm-activation-request.c
14392                 - Change dhcp_state member of the NMActRequest structure
14393                         from guint8 to guint32
14394
14395         * src/dhcp-manager/nm-dhcp-manager.[ch]
14396                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14397                         than guint8 to match the dbus argument.  Turns out we were
14398                         overwriting memory since we were passing in only a guint8
14399
14400 2005-12-31  Dan Williams  <dcbw@redhat.com>
14401
14402         * refactor NMDevice into a GObject-based framework with separate
14403                 objects for wired and wireless.  The following files are no
14404                 longer used but should stick around for a bit so we don't
14405                 loose code through the cracks:
14406                         NetworkManagerDevice.c
14407                         NetworkManagerDevice.h
14408                         NetworkManagerWireless.c
14409                         NetworkManagerWireless.h
14410
14411         The intent here is to allow each device type to manage its own
14412         connection & activation life-cycle, ie to allow wireless devices
14413         to interface with wpa_supplicant, etc.  There's a fair bit of
14414         encapsulation breakage right now that should gradually get pulled
14415         back into each device, along with things like periodic property
14416         updates and link probing.
14417
14418 2005-12-29  Dan Williams  <dcbw@redhat.com>
14419
14420         * include/NetworkManager.h
14421                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14422                         between networks that don't have any encryption at all
14423
14424 2005-12-29  Dan Williams  <dcbw@redhat.com>
14425
14426         * test/test-common.c
14427           test/test-common.h
14428           test/Makefile.am
14429                 - Move to a test-common subdirectory
14430
14431         * test/libnm-util/test-ciphers.c
14432                 - Move test data to test-inputs.h
14433                 - Test WPA ciphers too
14434
14435         * test/libnm-util/test-dbus-helpers.c
14436                 - Test serialization/deserialization of ciphers
14437
14438 2005-12-29  Dan Williams  <dcbw@redhat.com>
14439
14440         * gnome/applet/applet-dbus-devices.c
14441                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14442                         in dbus calls to NM
14443                 - Set capabilities on WirelessNetwork objects
14444                 - Receive and save type-specific device capabilities too
14445
14446         * gnome/applet/applet-dbus-info.c
14447           gnome/applet/applet-dbus.c
14448                 - Passphrase dialog no longer a singleton; new instance gets created
14449                         on each request.  Updates to deal with that.
14450
14451         * gnome/applet/applet.c
14452                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14453                         than single 'encrypted' flag
14454                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14455                         menu items
14456                 - Passphrase dialog updates per above
14457
14458         * gnome/applet/menu-items.c
14459                 - (network_menu_item_update): use AP capabilities to determine
14460                         encryption
14461
14462         * gnome/applet/nm-device.[ch]
14463                 - Add accessors for type-specific device capabilities
14464
14465         * gnome/applet/other-network-dialog.c
14466                 - Rework to respect device capabilities.  i.e., if the device doesn't
14467                         support WPA, remove that option from the security dropdown
14468
14469         * gnome/applet/passphrase-dialog.c
14470                 - Massive rework so that a new instance is created each time
14471                         it's used, to support wireless network capabilities
14472
14473         * gnome/applet/wireless-network.[ch]
14474                 - Add accessors and members for wireless network capabilities
14475
14476         * gnome/applet/wireless-security-manager.[ch]
14477                 - (wsm_set_capabilities): called after creation to set which
14478                         security options get shown to the user
14479
14480 2005-12-29  Dan Williams  <dcbw@redhat.com>
14481
14482         * libnm-util/cipher-wpa-psk-passphrase.c
14483                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14484                         like other ciphers
14485
14486 2005-12-23  Dan Williams  <dcbw@redhat.com>
14487
14488         * gnome/applet/applet-dbus-info.c
14489                 - (nmi_dbus_get_key_for_network): if there's no entry in
14490                         GConf for a network, assume we want a new key
14491                 - (nmi_save_network_info): serialize wireless security info
14492                         into GConf so its saved
14493
14494         * src/nm-dbus-nm.c
14495                 - Fix warning as we may not be passed security info when
14496                         connecting to a wireless network
14497
14498 2005-12-23  Dan Williams  <dcbw@redhat.com>
14499
14500         * gnome/applet/applet-compat.c
14501                 - Fix bugs in GConf entry conversion
14502
14503         * gnome/applet/applet-dbus-info.c
14504                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14505                         list being zero-length
14506
14507         * libnm-util/cipher-*
14508           libnm-util/dbus-helpers.c
14509                 - All ciphers must now return hashed keys as UTF-8 valid
14510                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14511                         through dbus as strings too.
14512                 - Consolidate various functions that do bin->hex and hex->bin
14513                         conversion into cipher.c
14514
14515         * src/nm-ap-security-wep.c
14516           src/nm-ap-security-wpa-psk.c
14517                 - Handle NULL keys since we may not know keys right away
14518
14519         * src/nm-dbus-nmi.c
14520                 - (nm_dbus_get_network_data_cb): actually advance to the start
14521                         of the wireless security info before we try to deserialize it
14522
14523         * libnm-util/test-ciphers.c
14524                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14525
14526 2005-12-22  Dan Williams  <dcbw@redhat.com>
14527
14528         * gnome/applet/applet-compat.[ch]
14529                 - Convert old-format GConf and keyring entries
14530                         when the applet starts up.
14531
14532         * gnome/applet/applet.c
14533                 - (nmwa_get_instance): Call the conversion function
14534                         on startup before dbus is initialized
14535
14536 2005-12-22  Dan Williams  <dcbw@redhat.com>
14537
14538         * gnome/applet/applet-dbus-info.c
14539                 - Remove nmi_dbus_create_error_message() in favor of
14540                         nmu_create_dbus_error_message()
14541                 - (nmi_dbus_get_network_properties): Error message cleanups
14542                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14543                         gconf key rather than 'addresses', since they really are BSSIDs
14544                 - (nmi_dbus_get_network_properties): Dispose of the security
14545                         object when we're done with it
14546
14547 2005-12-21  Dan Williams  <dcbw@redhat.com>
14548
14549         * Consolidate the info-daemon's "updateNetworkInfo" and
14550                 "addNetworkAddress" calls into just "updateNetworkInfo"
14551
14552 2005-12-21  Dan Williams  <dcbw@redhat.com>
14553
14554         * Make connection after key retrieval work again
14555
14556 2005-12-21  Dan Williams  <dcbw@redhat.com>
14557
14558         * gnome/applet/nm-gconf-wso*
14559                 - Make the serialize functions return gboolean
14560                         rather than int
14561
14562         * gnome/applet/nm-gconf-wso.c
14563                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14564                         parent class handling so we don't segfault
14565
14566         * src/NetworkManagerAP.[ch]
14567                 - (nm_ap_get_capabilities): new function, return capabilities
14568                         now that something can use them
14569                 - (nm_ap_set_encrypted): assume that an access point supports
14570                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14571                         we even tell whether it just supports WEP40?
14572
14573         * src/NetworkManagerDevice.c
14574                 - (ap_need_key): resurrect and update for the New World Order
14575                 - (nm_device_wireless_get_activation_ap): if we're not given
14576                         security info to use, create some based on access point
14577                         capabilities
14578
14579         * src/nm-ap-security-wep.c
14580                 - (nm_ap_security_wep_new_from_ap): create a new object
14581                         based on a certain access point's capabilities
14582
14583         * src/nm-ap-security.c
14584                 - (nm_ap_security_new_from_ap): delegate creation of a new
14585                         object based on access point capabilities to a subclass
14586                 - (nm_ap_security_copy_properties): don't segfault if we
14587                         don't have a key yet
14588
14589         * src/nm-dbus-nm.c
14590                 - (nm_dbus_nm_set_active_device): provide more informative
14591                         output when errors occur.  Also construct security info
14592                         for a given access point if we weren't given any
14593
14594 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14595
14596         * configure.in: Added Lithuanian to ALL_LINGUAS.
14597
14598 2005-12-21  Dan Williams  <dcbw@redhat.com>
14599
14600         * test/libnm-util
14601                 - Add some testcases for WEP ciphers
14602
14603 2005-12-17  Dan Williams  <dcbw@redhat.com>
14604
14605         * Fix bugs
14606
14607 2005-12-17  Dan Williams  <dcbw@redhat.com>
14608
14609         * include/NetworkManager.h
14610                 - Finally kill NMEncKeyType
14611
14612         * gnome/applet/applet-dbus-info.c
14613                 - (nmi_save_network_info): convert to NMGConfWSO
14614
14615         * gnome/applet/nm-gconf-wso-*.c
14616                 - Implement gconf serialization functions
14617
14618         * src/NetworkManagerPolicy.c
14619                 - (nm_policy_activation_finish): fix up meaning of
14620                         automatic/user_requested
14621
14622 2005-12-17  Dan Williams  <dcbw@redhat.com>
14623
14624         * gnome/applet/*
14625                 - More applet cleanups
14626                 - Use the dbus-method-dispatcher
14627
14628         * libnm-util/dbus-method-dispatcher.[ch]
14629                 - Generalize the implementation from NM in
14630                         NetworkManagerUtils.c
14631
14632 2005-12-16  Dan Williams  <dcbw@redhat.com>
14633
14634         * gnome/applet/*
14635                 - Fix up the passphrase dialog to use all the
14636                         WirelessSecurityOption stuff (untested)
14637
14638 2005-12-16  Dan Williams  <dcbw@redhat.com>
14639
14640         * Move nm_gconf_get_*_helper() functions to separate files,
14641                 gconf-helpers.c & gconf-helpers.h
14642
14643         * New NMGConfWSO objects for managing the gconf side of things.
14644                 Eventually these should be merged with the
14645                 WirelessSecurityOption objects and a common base (that can
14646                 serialize/deserialize from dbus & gconf) should be
14647                 refactored out, but for now they are separate.
14648
14649 2005-12-16  Robert Love  <rml@novell.com>
14650
14651         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14652           binaries unless they exist (nm_spawn_process() emits a warning if
14653           asked to spawn a non-existant process).
14654
14655 2005-12-16  Dan Williams  <dcbw@redhat.com>
14656
14657         * gnome/applet/applet-dbus-info.c
14658                 - Clean up lots of gconf-related code
14659
14660 2005-12-16  Robert Love  <rml@novell.com>
14661
14662         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14663
14664 2005-12-16  Dan Williams  <dcbw@redhat.com>
14665
14666         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14667
14668         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14669                 bits still to be done)
14670
14671 2005-12-16  Dan Williams  <dcbw@redhat.com>
14672
14673         * Finally move info-daemon related stuff out of
14674                 NetworkManagerDbus.c to nm-dbus-nmi.c
14675
14676 2005-12-16  Dan Williams  <dcbw@redhat.com>
14677
14678         * Kill auth_method for access points, since that's now done
14679                 by NMAPSecurity objects
14680
14681         * Add a copy-constructor of sorts to NMAPSecurity
14682                 (how do you do this properly in glib???)
14683
14684 2005-12-15  Dan Williams  <dcbw@redhat.com>
14685
14686         * Exorcise encryption key hashing on APs
14687         * Use libnm-util's serialization/deserialization in both the
14688                 applet and NM
14689         * Random other stuff
14690
14691 2005-12-15  Robert Love  <rml@novell.com>
14692
14693         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14694           is being added to the icon naming spec, so let's use that (Tango CVS
14695           has the icon).  Because it is new, however, we fall back to the
14696           current "gnome-lockscreen" if the new icon is not around, thus
14697           behavior is the same.
14698         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14699           factory junk.
14700
14701 2005-12-15  Robert Love  <rml@novell.com>
14702
14703         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14704           well, help to give.  Couple other misc. bits.
14705
14706 2005-12-15  Dan Williams  <dcbw@redhat.com>
14707
14708         * libnm-util/dbus-helpers.[ch]
14709                 - Make this the one-stop-shop for serializing/deserializing
14710                         AP & connection security settings over dbus.  Both NM
14711                         and applets should use this to ensure consistent dbus
14712                         API going forwared.
14713
14714 2005-12-15  Robert Love  <rml@novell.com>
14715
14716         Patch by Timo Hoenig  <thoenig@suse.de>:
14717         * src/NetworkManagerDbus.c
14718                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14719                         if HAL jumps off the system bus.  Otherwise libdbus
14720                         (dbus_connection_dispatch) will try to run the filter
14721                         function of our libhal context which is already freed.
14722
14723 2005-12-15  Alexander Shopov  <ash@contact.bg>
14724
14725         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14726
14727 2005-12-14  Dan Williams  <dcbw@redhat.com>
14728
14729         * include/NetworkManager.h
14730           src/NetworkManagerWireless.c
14731                 - Rearrange 802.11 wireless-specific capabilities again
14732
14733         * src/Makefile.am
14734                 - Forgot to add wpa.c/wpa.h to the makefiles
14735
14736         * src/NetworkManagerAP.[ch]
14737                 - Implement access point capabilities and parse the
14738                         WPA/RSN IEs into the capability bitfield
14739                 - Switch the "encrypted" attribute to utilize the bitfield
14740                         and capabilities rather than being independent
14741
14742         * src/NetworkManagerDevice.c
14743                 - (nm_device_wireless_get_activation_ap): break it horribly
14744                         until we can push NMAPSecurity objects into access point
14745                         objects and through the activation chain
14746                 - Stuff WPA & RSN IEs into AP capabilities
14747
14748         * src/nm-dbus-nm.c
14749                 - Take a shot at actually making setActiveDevice work
14750
14751         * src/wpa.[ch]
14752                 - Make the API a bit saner
14753
14754 2005-12-14  Dan Williams  <dcbw@redhat.com>
14755
14756         * include/NetworkManager.h
14757                 - Add 802.11-specific capability for 802.1x key
14758                         management
14759
14760         * src/wpa.[ch]
14761                 - Pull in WPA IE and RSN IE parsing code from
14762                         wpa_supplicant so we can determine access point
14763                         capabilities
14764                 - Move WPA-related constants here from NetworkManagerAP.h
14765                         and NetworkManagerDevice.c
14766
14767         * src/NetworkManagerDevice.c
14768           src/NetworkManagerAP.[ch]
14769                 - Use WPA-related constants from wpa.h
14770
14771 2005-12-14  Dan Williams  <dcbw@redhat.com>
14772
14773         * include/NetworkManager.h
14774                 - Update and split 802.11 wireless-specific capabilities from
14775                         generic device capabilities
14776
14777         * src/NetworkManagerDevice.c
14778           src/NetworkManagerDevicePrivate.h
14779                 - (nm_device_wireless_discover_capabilities): Move 802.11
14780                         wireless-specific capability checks to
14781                         NetworkManagerWireless.c
14782                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14783                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14784
14785         * src/NetworkManagerWireless.[ch]
14786                 - (nm_802_11_wireless_discover_capabilities): Check extended
14787                         802.11 wireless-specific capabilities of the driver
14788
14789 2005-12-14  Robert Love  <rml@novell.com>
14790
14791         Patch from Stefan Scheler <sscheler@suse.de>:
14792         * src/NetworkManagerDevice.c: call backend code to activate and
14793           deactivate NIS.
14794         * src/NetworkManagerSystem.h: add new NIS interfaces.
14795         * src/backends/NetworkManagerDebian.c,
14796           src/backends/NetworkManagerGentoo.c,
14797           src/backends/NetworkManagerRedHat.c,
14798           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14799           support.
14800         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14801
14802 2005-12-14  Dan Williams  <dcbw@redhat.com>
14803
14804         * src/nm-ap-security*.[ch]
14805                 - Add AP security abstractions to NetworkManager
14806
14807         * src/nm-dbus-device.c
14808                 - Begin to parse new format dbus messages from the applet
14809                         and construct an AP security object from the message
14810
14811         * libnm-util/dbus-helpers.c
14812                 - Use message iters so we can append the key as a fixed
14813                         array of bytes, which actually works rather than
14814                         using dbus_message_append_args() as we were before
14815
14816 2005-12-14  Dan Williams  <dcbw@redhat.com>
14817
14818         * src/NetworkManagerDbus.c
14819           gnome/applet/applet-dbus.c
14820                 - Fix up dbus service replacement options.  The applet
14821                         should allow replacement, NM itself should not.
14822
14823 2005-12-13  Robert Love  <rml@novell.com>
14824
14825         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14826           Instead, fail silently if config is NULL by not asserting and not
14827           returning FALSE.  Also, make sure we always fclose() the file.
14828
14829 2005-12-13  Robert Love  <rml@novell.com>
14830
14831         Patch by Stefan Scheler <sscheler@suse.de>:
14832         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14833            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14834            via DHCP.  Still need the backends to commit the NIS domain name and
14835            and servers to yp.conf as needed.
14836
14837 2005-12-13  Robert Love  <rml@novell.com>
14838
14839         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14840           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14841
14842 2005-12-13  Robert Love  <rml@novell.com>
14843
14844         * src/named-manager/nm-named-manager.c: Don't unref the config until
14845           after we call rewrite_resolv_conf(), because get_last_default_domain()
14846           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14847           `config != NULL' failed" assertion failures and "Could not commit DNS
14848           changes" warnings.
14849
14850 2005-12-12  Dan Williams  <dcbw@redhat.com>
14851
14852         * libnm-util/dbus-helpers.[ch]
14853           libnm-util/Makefile.am
14854                 - new helper calls to consolidate locations where
14855                         NM's setDevice method is called
14856
14857         * gnome/applet/applet-dbus-devices.c
14858           gnome/applet/wireless-security-option.c
14859           gnome/applet/wso-*
14860                 - Implement dbus message param append function for
14861                         all wireless security options
14862
14863 2005-12-12  Robert Love  <rml@novell.com>
14864
14865         * libnm-util/cipher-wep-passphrase.c,
14866           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14867           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14868           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14869           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14870           When handling keys, we don't care what the sign is.  The compiler
14871           guarantees us that we get our 8-bits, which is all we care about.
14872         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14873
14874 2005-12-12  Dan Williams  <dcbw@redhat.com>
14875
14876         * gnome/applet/applet-dbus-devices.[ch]
14877           gnome/applet/applet.c
14878           gnome/applet/other-network-dialog.c
14879           gnome/applet/wireless-security-manager.[ch]
14880           gnome/applet/wireless-security-option.[ch]
14881           gnome/applet/wso-*
14882                 - Push the wireless security options further into the applet
14883
14884 2005-12-12  Robert Love  <rml@novell.com>
14885
14886         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14887           return any name servers.  That is perfectly valid.  (Novell #134369).
14888
14889 2005-12-11  Dan Williams  <dcbw@redhat.com>
14890
14891         * gnome/applet/wso-*
14892           gnome/applet/wireless-security-option.*
14893           gnome/applet/Makefile.am
14894                 - split each security option out so we can eventually
14895                         have each one build up their own dbus message
14896                         arguments to send to NM
14897
14898 2005-12-11  Dan Williams  <dcbw@redhat.com>
14899
14900         * Make validation of the key work correctly
14901
14902 2005-12-11  Dan Williams  <dcbw@redhat.com>
14903
14904         * Hook more bits of the Other Network Dialog up to the
14905                 wireless security manager stuff, and restructure
14906                 bits of the dialog so there's less code.
14907
14908 2005-12-10  Dan Williams  <dcbw@redhat.com>
14909
14910         * gnome/applet/Makefile.am
14911                 - Add libnm-util to includes
14912                 - Add libnm-util to link list
14913                 - Add wireless-security-common.* to compile list
14914
14915         * gnome/applet/other-network-dialog.c
14916                 - Convert to using the WirelessSecurityManager code and
14917                         widgets
14918
14919         * gnome/applet/passphrase-dialog.c
14920                 - Comment out references to stuff in the glade file that
14921                         cause runtime errors until it can be fixed up
14922                         to use the WirelessSecurityManager code
14923
14924         * gnome/applet/wireless-applet.glade
14925                 - Rename some widgets
14926                 - Add widgets for the WirelessSecurityManager code
14927                 - Remove passphrase-related stuff since that's now
14928                         handled by the WirelessSecurityManager code
14929
14930 2005-12-10  Dan Williams  <dcbw@redhat.com>
14931
14932         * gnome/applet/applet-dbus-devices.c
14933                 - Print out error message details for dbus pending call callbacks
14934                 - Move nmwa_dbus_update_devices() up
14935
14936         * gnome/applet/applet-dbus-vpn.c
14937                 - Print out error message details for dbus pending call callbacks
14938
14939 2005-12-10  Dan Williams  <dcbw@redhat.com>
14940
14941         * libnm-util/*
14942                 - More fixups
14943                 - Remove cipher-manager.* because we don't need it
14944                 - Forgot to add gnome-keyring-md5 files to compile list
14945
14946 2005-12-09  Dan Williams  <dcbw@redhat.com>
14947
14948         * libnm-util/*
14949           configure.in
14950           Makefile.am
14951                 - Add a utility library for clients of NetworkManager.  It's
14952                         only targetted at applets for the moment, and contains
14953                         a generalized 802.11 cipher framework for different
14954                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14955
14956 2005-12-09  Robert Love  <rml@novell.com>
14957
14958         * src/NetworkManagerDevice.c: handle error better in
14959           nm_device_set_mode().
14960
14961 2005-12-08  Robert Love  <rml@novell.com>
14962
14963         * include/NetworkManager.h: add WPA capabilities constants
14964         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14965           or WPA2 and add the capabilities bits as appropriate.
14966
14967 2005-12-08  Robert Love  <rml@novell.com>
14968
14969         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14970           NetworkManagerDispatcher.
14971         * configure.in, initscript/SUSE/.cvsignore,
14972           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14973           initscript.
14974
14975 2005-12-08  Robert Love  <rml@novell.com>
14976
14977         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14978
14979 2005-12-08  Robert Love  <rml@novell.com>
14980
14981         * src/NetworkManagerDevice.c: We want to fall back on and default to
14982           IW_MODE_AUTO, not -1, which is more in line with our previous
14983           behavior.  Otherwise, we try to set the wireless mode to -1 in
14984           nm_device_set_mode().
14985
14986 2005-12-07  Robert Love  <rml@novell.com>
14987
14988         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14989           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14990           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14991           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14992           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14993           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14994           zero.
14995
14996 2005-12-07  Robert Love  <rml@novell.com>
14997
14998         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14999           supplied IP is invalid, fall back to DHCP.
15000
15001 2005-12-07  Dan Williams  <dcbw@redhat.com>
15002
15003         * Convert NETWORK_MODE_* constants to IW_MODE_*
15004         * Make all the get_mode/set_mode functions take and return 'int'
15005         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15006
15007 2005-12-07  Robert Love  <rml@novell.com>
15008
15009         * src/NetworkManagerDevice.c: strncpy() buffer check.
15010         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15011
15012 2005-12-06  Dan Williams  <dcbw@redhat.com>
15013
15014         * gnome/applet/applet-dbus.c
15015                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15016
15017         * gnome/applet/applet-dbus-vpn.c
15018                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15019                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15020                         to TRUE here if stage was ACTIVATED
15021
15022 2005-12-06  Dan Williams  <dcbw@redhat.com>
15023
15024         * Change nm_device_is_* functions to better names:
15025                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15026                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15027
15028 2005-12-06  Dan Williams  <dcbw@redhat.com>
15029
15030         * Change naming of NMDeviceType to something more sensible:
15031                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15032                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15033                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15034
15035 2005-12-06  Dan Williams  <dcbw@redhat.com>
15036
15037         * Move NetworkManager.h -> include/NetworkManager.h
15038         * Split out VPN stuff into include/NetworkManagerVPN.h
15039         * Fix up makefiles to include new location
15040         * Fix up sources to include NetworkManagerVPN.h
15041
15042 2005-12-06  Dan Williams  <dcbw@redhat.com>
15043
15044         Various changes in the applet to move VPN connection "state" -> "stage",
15045         which it actually is.  I'd like to change the signal as well when we
15046         break compat in the near future.
15047
15048 2005-12-06  Dan Williams  <dcbw@redhat.com>
15049
15050         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15051         * initscript/Slackware/rc.networkmanager
15052                 - Cosmetic fix
15053
15054         * src/backends/NetworkManagerSlackware.c
15055                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15056                         interfaces
15057
15058 2005-12-05  Robert Love  <rml@novell.com>
15059
15060         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15061           to free, particularly here as it just barfs.
15062
15063 2005-12-05  Dan Williams  <dcbw@redhat.com>
15064
15065         * gnome/applet/applet-dbus.c
15066                 - Work with dbus 0.6 too
15067
15068 2005-12-03  Dan Williams  <dcbw@redhat.com>
15069
15070         * src/NetworkManagerUtils.[ch]
15071           src/nm-ip4-config.c
15072                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15073                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15074
15075 2005-12-01  Robert Love  <rml@novell.com>
15076
15077         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15078           need a NULL for the '...' parameter, too, to fill the so-called
15079           sentinel.
15080
15081 2005-12-01  Robert Love  <rml@novell.com>
15082
15083         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15084           interface is already gone, so don't call rtnl_link_change() to down
15085           it (which will segfault, anyhow).
15086
15087 2005-11-22  Robert Love  <rml@novell.com>
15088
15089         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15090           gateway is not set, just print a little note.  Configurations without
15091           gateways are valid.
15092
15093 2005-11-22  Robert Love  <rml@novell.com>
15094
15095         * README: update
15096
15097 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15098
15099         * configure.in: Added Finnish translation to ALL_LINGUAS
15100
15101 2005-11-14  Robert Love  <rml@novell.com>
15102
15103         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15104           Niemueller <tim@niemueller.de>.
15105
15106 2005-11-08  Dan Williams  <dcbw@redhat.com>
15107
15108         Patch from Bill Moss <bmoss@clemson.edu>
15109         * src/NetworkManagerDevice.c
15110                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15111                         of nm_policy_schedule_activation_finish() to prevent a
15112                         race condition that causes the link to be dropped
15113
15114 2005-11-08  Dan Williams  <dcbw@redhat.com>
15115
15116         Patch from Bill Moss <bmoss@clemson.edu>
15117         * src/NetworkManagerAPList.c
15118           src/NetworkManagerDevice.c
15119           src/NetworkManagerDbus.c
15120                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15121                         we get more readable ether/mac addresses
15122
15123 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15124
15125         * gnome/applet/main.c: Don't set the restart command.  This fixes
15126         the issue where the restart command was getting copies of all its
15127         arguments for each time the applet was restarted.
15128
15129 2005-11-02  Robert Love  <rml@novell.com>
15130
15131         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15132           if the widget state differs from our saved state.  This ensures we
15133           do not enter an endless loop of death and destruction.  Also, this
15134           guarantees us that we enforce the widget state.
15135
15136 2005-11-02  Robert Love  <rml@novell.com>
15137
15138         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15139         * gnome/applet/applet-dbus-devices.c: invoke the new function
15140           nmwa_enable_wireless_set_active() to ensure that the state of the
15141           'Enable Wireless' checkbox matches the daemon's state.  This is a
15142           concern because the daemon remembers the state.
15143
15144 2005-11-02  Robert Love  <rml@novell.com>
15145
15146         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15147           Enabled", as checkboxes should be actions/commands not positive
15148           statements, otherwise they are confusing in the unselected case.  See
15149           examples in GNOME HIG, Chapter 6.
15150
15151 2005-11-02  Robert Love  <rml@novell.com>
15152
15153         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15154           show a list of wireless networks or the wireless devices or the
15155           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15156           a bad bug: If wireless is disabled and the user picks a wireless
15157           network, NM will switch to the network, only to immediately switch
15158           back, as wireless is disabled.  This also reassures people that NM
15159           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15160
15161 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15162
15163         * gnome/applet/applet.c:
15164         * gnome/applet/applet.h:
15165         Partial backout of Dan's timeout animation patch.
15166         Timeout IDs cannot legally be 0, so revert the code in place to handle
15167         a timeout ID of 0 to denote the timeout isn't running.
15168
15169 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15170
15171         * src/NetworkManagerPolicy.c:
15172         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15173
15174 2005-10-28  Robert Love  <rml@novell.com>
15175
15176         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15177           "Import Saved Configuration..." to make it clear that importing is
15178           not the next step, but an option.  As an aside, a nice TODO would be
15179           to move Importing out of the vpn-specific dialog and into the main
15180           property editor, as Importing goes with Adding, but that will require
15181           some rearchitecting of the VPN stuff I suspect.
15182
15183 2005-10-27  Dan Williams  <dcbw@redhat.com>
15184
15185         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15186         we should replace most of the distro-specific backend code
15187         with libnl stuff.
15188
15189         Get it here:  http://people.suug.ch/~tgr/libnl/
15190
15191         * configure.in
15192           src/Makefile.am
15193                 - Add checks for libnl pkgconfig file
15194                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15195
15196         * src/NetworkManagerSystem.c
15197           src/nm-ip4-config.[ch]
15198                 - Use libnl rather than ioctl() for most things
15199                 - Remove unused functions
15200
15201 2005-10-27  Robert Love  <rml@novell.com>
15202
15203         * src/backends/NetworkManagerSuSE.c: fix warning message text
15204
15205 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15206
15207         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15208
15209 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15210
15211         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15212         project page <http://www.gnome.org/projects/NetworkManager/>
15213
15214 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15215
15216         * gnome/applet.c: Also use translator credits if we don't have
15217         the new GtkAboutDialog (older versions of GTK+)
15218
15219 2005-10-26  Robert Love  <rml@novell.com>
15220
15221         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15222           failure; correct usage text for "--no-daemon"
15223
15224 2005-10-25  Dan Williams  <dcbw@redhat.com>
15225
15226         * src/NetworkManagerDevice.c
15227                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15228                         no scan results
15229                 - (free_process_scan_cb_data): unref the device when freeing results
15230                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15231                         so we don't unref the device underneath ourselves
15232
15233 2005-10-25  Dan Williams  <dcbw@redhat.com>
15234
15235         * Back out 2005-10-24 commit from Tor Krill.  Patch
15236                 causes nameservers never to be removed from named.
15237
15238 2005-10-24  Dan Williams  <dcbw@redhat.com>
15239
15240         Clean up wireless scanning and wireless link probing.
15241
15242         * src/NetworkManagerDevice.c
15243                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15244                         just see if there's an activation request on the device, and check the
15245                         current link against the activation request access point's ESSID.
15246                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15247                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15248                         don't call process_scan_results() on zero-length data
15249                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15250                         15 seconds (from 10)
15251
15252 2005-10-24  Dan Williams  <dcbw@redhat.com>
15253
15254         Cleanup some applet stuff:
15255
15256         - Animation timeouts.  If NM died while the applet was animating,
15257                 the applet would not hide itself.  This is now fixed.
15258
15259         - Remove some dead code
15260
15261         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15262                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15263
15264         - Track animation timeout using a gboolean rather than the timeout's
15265                 ID, since timeout IDs can legally be 0.
15266
15267 2005-10-24  Dan Williams  <dcbw@redhat.com>
15268
15269         * src/backends/interface_parser.c
15270                 - Add void to function declarations that need it
15271                         to match patch from Engin AYDOGAN
15272
15273         * src/backends/interface_parser.h
15274                 - Remove unused prototype for ifparser_interfaces()
15275
15276         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15277         * src/backends/interface_parser.h:
15278                 - Compile fixes for gcc 4.0.2 (add void)
15279
15280 2005-10-24  Dan Williams  <dcbw@redhat.com>
15281
15282         Patch from Tor Krill <tor@krill.nu>
15283         * src/named-manager/nm-named-manager.c
15284                 - Write more than just the first nameserver to /etc/resolv.conf
15285                 - Write out valid /etc/resolv.conf on exit
15286
15287 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15288
15289         * gnome/applet/applet-dbus-vpn.c:
15290         Get rid of spurious newlines in debug console output
15291
15292 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15293
15294         * src/backends/NetworkManagerGentoo.c:
15295         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15296
15297 2005-10-20  Robert Love  <rml@novell.com>
15298
15299         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15300           direct comparison of floating point values, which is never correct.
15301           Also some misc. cleanup.
15302
15303 2005-10-19  Robert Love  <rml@novell.com>
15304
15305         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15306
15307 2005-10-19  Robert Love  <rml@novell.com>
15308
15309         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15310           sensitivity of the buttons.  Specificaly, do the right thing if
15311           there are no entries.
15312
15313 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15314
15315         * configure.in: Update check for adequate wireless-tools
15316         with an AC_TRY_COMPILE for the new symbols we use.
15317
15318 2005-10-19  Dan Williams  <dcbw@redhat.com>
15319
15320         * src/NetworkManagerDevice.c
15321                 - (process_scan_results): don't drop the last (or only)
15322                         access point we see
15323
15324 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15325
15326         * src/backends/NetworkManagerSlackware.c:
15327         Patch from Nico <lordllucifer@gmail.com>
15328                 - Update the Slackware backend.
15329
15330 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15331
15332         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15333         if we've got GLib 2.8.0
15334
15335 2005-10-18  Robert Love  <rml@novell.com>
15336
15337         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15338           function nm_schedule_state_change_signal_broadcast() when we
15339           deactivate a device, too.
15340
15341 2005-10-18  Robert Love  <rml@novell.com>
15342
15343         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15344           be used uninitialized.
15345
15346 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15347
15348         * test/libnm_glib_test.c: Test unregistering, too.
15349
15350 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15351
15352         * configure.in: Bump to 0.5.0
15353
15354 2005-10-17  Dan Williams  <dcbw@redhat.com>
15355
15356         * NetworkManager.h
15357                 - Remove WPA-related constants so they aren't part of the
15358                         upcoming release.
15359
15360 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15361
15362         * gnome/applet/applet.c:
15363         * gnome/applet/applet.h:
15364         Desensitize the 'Connection Information' menu item when there is
15365         no active connection.
15366
15367 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15368
15369         * gnome/libnm_glib/libnm_glib.c:
15370         Make libnm_glib_unregister_callback () actually unregister the callback
15371
15372 2005-10-17  Robert Love  <rml@novell.com>
15373
15374         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15375           two seconds -- tries is updated every 1/10 of a second, not every
15376           second..
15377
15378 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15379
15380         * gnome/applet/applet-dbus-info.c:
15381         Let D-BUS know that we haven't handled a message when we haven't.
15382
15383 2005-10-17  Robert Love  <rml@novell.com>
15384
15385         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15386           in order to remain 64-bit clean.
15387
15388 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15389
15390         * gnome/applet/applet-dbus-info.c:
15391         Find network encryption keys asynchronously
15392
15393 2005-10-17  Robert Love  <rml@novell.com>
15394
15395         * src/backends/NetworkManagerDebian.c,
15396           src/backends/NetworkManagerRedHat,
15397           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15398           comment delimiter.
15399
15400 2005-10-17  Robert Love  <rml@novell.com>
15401
15402         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15403           "/etc"
15404
15405 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15406
15407         * src/NetworkManagerDevice.c: (process_scan_results)
15408         Fix logic that checks to see whether we have an ESSID.
15409
15410 2005-10-15  Dan Williams  <dcbw@redhat.com>
15411
15412         Move scanning code into NetworkManager rather than use iwlib's
15413         iw_scan() function, so that we can figure out AP capabilities.
15414
15415         * NetworkManager.h
15416                 - Add AP capability bits
15417
15418         * src/NetworkManagerAP.[ch]
15419                 - Add capability field to NMAccessPoint structure
15420                 - Add WPA & RSN Information Element fields and accessor
15421                         functions to NMAccessPoint
15422
15423         * src/NetworkManagerDevice.c
15424                 - Remove usage of iw_scan
15425                 - Add scanning code to NetworkManager rather than use
15426                         iw_scan() from iwlib
15427
15428         * src/NetworkManagerUtils.[ch]
15429                 - (nm_dispose_scan_results): remove, unused
15430
15431 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15432
15433         * gnome/libnm_glib/libnm_glib.c:
15434         * gnome/libnm_glib/libnm_glib.h:
15435         Use guint instead of gint for callback IDs.
15436
15437 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15438
15439         * gnome/applet/applet.c:
15440         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15441         every 1000ms.  It will unconditionally call nmwa_update_state which
15442         kills the existing animation timeout and registers a new one with a
15443         callback to draw a new frame every 100ms.  There are 11 connecting
15444         icon frames, so the last 2 frames kept getting dropped.  Only reset
15445         the animation timeout if we aren't animating.
15446
15447 2005-10-11  Dan Williams  <dcbw@redhat.com>
15448
15449         * gnome/applet/applet-dbus-devices.c
15450                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15451                         We want to grab the product & vendor from net.physical_dev
15452                         rather than info.parent.
15453
15454 2005-10-11  Dan Williams  <dcbw@redhat.com>
15455
15456         * src/NetworkManagerDevice.c
15457                 - Use the driver's WE version for scanning rather than
15458                         the WE version NM was compiled with.  Fixes random
15459                         crashes in iw_scan () in iwlib.
15460
15461 2005-10-10  Dan Williams  <dcbw@redhat.com>
15462
15463         * Remove nm_system_load_device_modules() from backend files
15464                 and from NetworkManager.c
15465
15466 2005-10-10  Dan Williams  <dcbw@redhat.com>
15467
15468         * src/NetworkManagerPolicy.c
15469                 - Fix some bugs introduced by the capabilities patch
15470
15471 2005-10-10  Dan Williams  <dcbw@redhat.com>
15472
15473         * gnome/applet/applet-dbus-info.c
15474                 - (nmi_dbus_get_network_key): hide the menu when putting up
15475                         the keyring dialog.  (not sure if the code is right...)
15476
15477 2005-10-09  Dan Williams  <dcbw@redhat.com>
15478
15479         Patch from Bill Moss <bmoss@clemson.edu>
15480         * src/NetworkManagerDevice.c
15481                 - (nm_device_set_user_key_for_network): don't try to set auth
15482                         mode on the AP from the allowed list if it's NULL
15483
15484 2005-10-09  Dan Williams  <dcbw@redhat.com>
15485
15486         * Replace the "driver support level" stuff with capabilities.  The
15487                 capability field is a bitfield that is more flexible than the
15488                 old driver support level thing.  It's mostly so we can easily
15489                 figure out what supports WPA and what doesn't, but should be
15490                 quite useful later.
15491
15492 2005-10-09  Dan Williams  <dcbw@redhat.com>
15493
15494         * test/nmtest.c
15495                 - Removed
15496
15497         * test/nm-tool.c
15498           test/Makefile.am
15499                 - Added new "nm-tool" tool that gives quite a bit more
15500                         information
15501
15502 2005-10-07  Robert Love  <rml@novell.com>
15503
15504         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15505           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15506           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15507           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15508           appropriate
15509
15510 2005-10-07  Robert Love  <rml@novell.com>
15511
15512         * configure.in: Change our compile flags for the betterment of mankind.
15513           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15514           prototype is very bad on 64-bit platforms as types default to int but
15515           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15516           "-Wmissing-declarations" to warn if we define an exported function
15517           but fail to put it in a header.
15518
15519 2005-10-07  Robert Love  <rml@novell.com>
15520
15521         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15522           by the name nm_update_device_wireless_timeouts() and once tried,
15523           without success, to steal my pet turtle.
15524
15525 2005-10-07  Robert Love  <rml@novell.com>
15526
15527         * Cleanup prototypes: put some functions in header files and mark
15528           others as 'static' -- feel free to invert
15529         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15530           nm_vpn_manager_vpn_connection_list_copy()
15531         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15532           nm_vpn_service_get_dbus_connection()
15533         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15534           nm_vpn_manager_vpn_connection_list_copy()
15535         * src/vpn-manager/nm-vpn-service.c: make
15536           nm_vpn_service_act_request_failed() and
15537           nm_vpn_service_stage2_daemon_wait() static
15538         * src/vpn-manager/nm-vpn-service.h: add prototype for
15539           nm_vpn_service_get_dbus_connection()
15540
15541 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15542
15543         * gnome/applet/applet.c:
15544         * gnome/applet/applet.h:
15545         * gnome/applet/icons/Makefile.am:
15546         Convey information about the current connection stage in the
15547         icons themselves instead of creating a separate progress bar.
15548
15549 2005-10-04  Robert Love  <rml@novell.com>
15550
15551         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15552           convert an ether_addr structure's MAC into a string, because the
15553           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15554           versus 07:3B:04, while the former will not.
15555
15556 2005-10-04  Robert Love  <rml@novell.com>
15557
15558         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15559           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15560           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15561           default route in the 'Connection Information' dialog, send primary
15562           and secondary name servers in in "getProperties" DBUS method, add
15563           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15564           secondary domain name servers are crucial pieces of information
15565           that a user might need in debugging a network problem.
15566
15567 2005-10-04  Robert Love  <rml@novell.com>
15568
15569         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15570           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15571           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15572           default route in the 'Connection Information' dialog, send default
15573           route in "getProperties" DBUS method, add network_device_set_route(),
15574           and network_device_get_route().  The Gateway is a crucial piece of
15575           connection-related information that a user might need in debugging a
15576           network problem.
15577
15578 2005-10-03  Robert Love  <rml@novell.com>
15579
15580         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15581           NULL.
15582
15583 2005-10-02  Dan Williams  <dcbw@redhat.com>
15584
15585         * Shorten time taken to sleep by fastpathing bits of device deactivation
15586                 necessary for sleep.
15587
15588         * Fix issue where deactivating a device might deactivate the active
15589                 VPN connection, even if the VPN was not using the device.
15590
15591 2005-10-02  Dan Williams  <dcbw@redhat.com>
15592
15593         * gnome/applet/applet.c
15594                 - Adjust signal strength -> icon mapping values slightly
15595                         (so that 51% signal doesn't show a 75% icon) by adding
15596                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15597                         shows 50% icon, etc.
15598
15599 2005-09-29  Robert Love  <rml@novell.com>
15600
15601         * src/NetworkManager.c: removed unused variable.
15602
15603 2005-09-28  Dan Williams  <dcbw@redhat.com>
15604
15605         Support for named + DBus, using Red Hat DBus patches for named.  You
15606         can find those patches here, with "dbus" in the patch's filename:
15607
15608                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15609
15610         Don't forget the named dbus service file either.
15611
15612         Instead of writing a config file and spawing a named process, NM will
15613         use an already-running dbus-enabled named if it finds one.  NM will
15614         update named's forwarder configuration on the fly using dbus.
15615
15616         If there is no dbus-enabled named running, NM will automatically fall
15617         back to writing the most-recent DNS server information to /etc/resolv.conf
15618         and calling nm_system_update_dns() to kick the system's resolver.
15619
15620         Accordingly, all named-related configure-time options have been removed.
15621
15622 2005-09-26  Robert Love  <rml@novell.com>
15623
15624         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15625           ISDN support!
15626         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15627           bug in error path if "ASKPASSWORD" is "no".
15628
15629 2005-09-26  Robert Love  <rml@novell.com>
15630
15631         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15632           comment in /etc/resolv.conf -- ';' is not.
15633
15634 2005-09-19  Dan Williams  <dcbw@redhat.com>
15635
15636         * src/backends/NetworkManagerRedHat.c:
15637         * src/backends/NetworkManagerDebian.c:
15638         * src/backends/NetworkManagerSlackware.c:
15639         * src/backends/NetworkManagerGentoo.c:
15640         * src/backends/NetworkManagerSUSE.c:
15641         Fix invocations of "/sbin/ip address" to use short form instead
15642
15643 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15644
15645         * src/nm-dbus-device.c: Don't assert when getting
15646         addresses of a not yet connected interface.
15647
15648         * gnome/applet/applet.c: Free icons if loading fails.
15649         Use translator-credits so translators can make themselves known.
15650
15651 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15652
15653         * src/NetworkManagerAP.c:
15654         * src/NetworkManagerAP.h:
15655         * src/NetworkManagerDevice.c:
15656         Set a blacklist for certain common manufacturer default ESSIDs:
15657         APs with these ESSIDs are extremely likely to be completely
15658         different networks: connecting to one should not make NM
15659         auto-connect to every other AP with the same default ESSID.
15660
15661 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15662
15663         * gnome/applet/wireless-applet.glade:
15664         The passphrase entry should also activate the default
15665
15666         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15667
15668         * gnome/applet/applet-dbus-devices.c:
15669         * gnome/applet/applet.c:
15670         * gnome/applet/nm-device.c:
15671         * gnome/applet/nm-device.h:
15672         * src/NetworkManagerUtils.c:
15673         * src/NetworkManagerUtils.h:
15674         * src/nm-dbus-device.c:
15675         I've got a fever, and the only cure for it is less ioctl.
15676         Make NM push IP data rather than make the applet open a socket
15677         to the device.
15678
15679 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15680
15681         * gnome/applet/applet.c:
15682         * gnome/applet/applet-dbus-devices.c:
15683         * gnome/applet/applet-dbus-info.c:
15684         * gnome/applet/passphrase-dialog.c:
15685         * gnome/libnm_glib/libnm_glib.c:
15686         * gnome/vpn-properties/nm-vpn-properties.c:
15687         * src/autoip.c:
15688         * src/backends/NetworkManagerRedHat.c:
15689         * src/named-manager/nm-named-manager.c:
15690         * src/NetworkManagerAPList.c:
15691         * src/NetworkManager.c:
15692         * src/NetworkManagerDbus.c:
15693         * src/NetworkManagerDevice.c:
15694         * src/NetworkManagerPolicy.c:
15695         * src/NetworkManagerSystem.c:
15696         * src/nm-dbus-device.c:
15697         * src/nm-dbus-nm.c:
15698         * src/vpn-manager/nm-vpn-manager.c:
15699         * src/vpn-manager/nm-vpn-service.c:
15700         * test/libnm_glib_test.c:
15701         * test/nminfotest.c:
15702         * test/nmtestdevices.c:
15703         Fix a bunch of 'unused variable' compiler warnings
15704
15705         * NetworkManager.h:
15706         * gnome/applet/applet-dbus-info.c:
15707         * gnome/applet/applet-dbus-info.h:
15708         * gnome/applet/applet.c:
15709         * gnome/applet/applet.h:
15710         * src/NetworkManager.c:
15711         * src/NetworkManagerDbus.c:
15712         * src/NetworkManagerDbus.h:
15713         * src/NetworkManagerDevice.c:
15714         * src/NetworkManagerDevice.h:
15715         * src/NetworkManagerMain.h:
15716         * src/NetworkManagerWireless.c:
15717         * src/NetworkManagerWireless.h:
15718         * src/nm-dbus-nm.c:
15719         Make NetworkManager be smart about how frequently to scan
15720         based on its current state.  Remove the UI for choosing when
15721         to scan.  Scanning still may disabled completely by the user
15722         via the "Wireless Enabled" menu item.
15723
15724 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15725
15726         * gnome/applet/applet.c:
15727         Also overlay the vpn connecting icons onto the wired icon,
15728         when appropriate.
15729
15730         * gnome/vpn-properties/nm-vpn-properties.glade:
15731         Clean up a few strings to use better grammar and proper casing.
15732
15733 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15734
15735         * gnome/applet/vpn-connection.c:
15736         * gnome/applet/vpn-connection.h:
15737         Add nmwa_vpn_connection_is_activating ()
15738
15739         * gnome/applet/applet.c:
15740         * gnome/applet/applet.h:
15741         * gnome/applet/icons/nm-vpn-connecting*.png:
15742         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15743         the user know something's happening between clicking the VPN item and it
15744         actually being connected.
15745
15746 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15747
15748         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15749         failure case as well.
15750
15751 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15752
15753         * gnome/panel/eggtrayicon.[ch]:
15754         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15755
15756 2005-09-07  Dan Williams  <dcbw@redhat.com>
15757
15758         Patch from Bill Moss <bmoss@clemson.edu>
15759         * src/applet-dbus.c
15760                 - (nmwa_dbus_filter): strip whitespace from beginning
15761                         and end of VPN login banner
15762
15763 2005-09-07  Dan Williams  <dcbw@redhat.com>
15764
15765         * The great VPN Manager rewrite of 2005
15766
15767 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15768
15769         * gnome/applet/menu-items.c:
15770         * gnome/applet/nm-device.c:
15771         * gnome/applet/wireless-network.c:
15772         * gnome/libnm_glib/libnm_glib.c:
15773         * src/NetworkManagerDbusUtils.c:
15774         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15775         g_malloc0 doesn't return NULL
15776
15777 2005-09-06  Dan Williams  <dcbw@redhat.com>
15778
15779         Patch from Tomislav Vujec <tvujec@redhat.com>
15780         * src/NetworkManagerDevice.c
15781                 - (nm_get_device_by_udi): don't return a device when we
15782                         actually didn't find what we were looking for
15783
15784 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15785
15786         * gnome/applet/applet-dbus-devices.c:
15787         * gnome/applet/applet-dbus-devices.h:
15788         * gnome/applet/applet-dbus.c:
15789         * src/NetworkManagerDbus.c:
15790         * src/NetworkManagerDbus.h:
15791         * src/NetworkManagerDevice.c:
15792         * src/nm-dbus-device.c:
15793         Make NM push updates about active device strength when it changes,
15794         rather than having the applet poll every 2s.
15795
15796 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15797
15798         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15799         network_device_set_strength
15800
15801 2005-09-04  Dan Williams  <dcbw@redhat.com>
15802
15803         Patch from Bill Nottingham <notting@redhat.com>
15804         * src/NetworkManagerDevice.c
15805                 - (nm_device_activation_cancel): reset the quit_activation flag
15806
15807 2005-09-04  Dan Williams  <dcbw@redhat.com>
15808
15809         * src/nm-activation-request.c
15810                 - (nm_act_request_unref): actually free the structure,
15811                         which we didn't seem to be doing before
15812
15813 2005-09-04  Dan Williams  <dcbw@redhat.com>
15814
15815         Patch from John Palmieri <johnp@redhat.com>
15816         * gnome/applet/applet-dbus-devices.c
15817                 - Fix up unreffing of DBusMessage objects
15818
15819 2005-09-04  Dan Williams  <dcbw@redhat.com>
15820
15821         Patch from John Palmieri <johnp@redhat.com>
15822         * gnome/applet/nm-device.c
15823                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15824
15825 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15826
15827         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15828
15829 2005-09-02  Bill Nottingham  <notting@redhat.com>
15830
15831         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15832
15833 2005-09-01  Dan Williams  <dcbw@redhat.com>
15834
15835         * src/NetworkManager.c
15836                 - (nm_remove_device_from_list): rename to nm_remove_device
15837                 - (nm_hal_device_removed): call nm_remove_device()
15838
15839         * src/NetworkManagerDevice.c
15840                 - Change the NMWirelessScanCB member 'reschedule' which
15841                         wasn't used to 'force' to indicate that we need to
15842                         force a scan when adding a device
15843
15844         * src/nm-dbus-nm.c
15845                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15846                         from the device list
15847                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15848
15849 2005-09-01  Robert Love  <rml@novell.com>
15850
15851         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15852           and the check "!iface" in the error case is probably never true.
15853
15854 2005-09-01  Dan Williams  <dcbw@redhat.com>
15855
15856         Patch from Bill Nottingham <notting@redhat.com>
15857         * src/backends/NetworkManagerRedHat.c
15858                 - Add initial dialup support to Red Hat/Fedora backend
15859
15860 2005-09-01  Dan Williams  <dcbw@redhat.com>
15861
15862         * gnome/applet/applet-dbus-devices.c
15863                 - Sort both wireless networks and devices again, which got
15864                         broken when removing threading
15865
15866 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15867
15868         * gnome/applet/applet.c:
15869         Only show the "Stop/Start All Wireless Devices" menuitem
15870         if we actually have wireless devices.
15871
15872         * gnome/applet/applet-dbus-info.c:
15873         * gnome/applet/applet.c:
15874         * gnome/applet/other-network-dialog.c:
15875         * gnome/applet/vpn-password-dialog.c:
15876         Drop the gtk_dialog_run () calls in favor of connecting to
15877         "response" signals, needed now that the applet is not threaded.
15878
15879 2005-08-31  Dan Williams  <dcbw@redhat.com>
15880
15881         Patch from Bill Moss <bmoss@clemson.edu>
15882         * src/NetworkManagerDevice.c
15883                 - (nm_device_wireless_scan): fix scan timeout values
15884
15885 2005-08-30  Dan Williams  <dcbw@redhat.com>
15886
15887         * gnome/applet/wireless-applet.glade
15888                 - HIG-ify the Other Wireless Networks dialog a bit more
15889                 - Fix some potential segfaults in the info dialog
15890
15891 2005-08-30  Dan Williams  <dcbw@redhat.com>
15892
15893         * gnome/applet/applet-dbus-devices.c
15894                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15895
15896 2005-08-30  Dan Williams  <dcbw@redhat.com>
15897
15898         * gnome/applet/applet-dbus.[ch]
15899                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15900                         they weren't being used anyway
15901
15902 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15903
15904         * test/nmtestdevices.c: (print_usage), (main):
15905         Check the number of arguments, and fix a typo
15906
15907 2005-08-29  Dan Williams  <dcbw@redhat.com>
15908
15909         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15910         * gnome/applet/applet.c
15911                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15912
15913 2005-08-29  Dan Williams  <dcbw@redhat.com>
15914
15915         * gnome/applet/*
15916                 - Don't use threads any more.  Anything that blocks
15917                         (like gtk_dialog_run()) will  have to get fixed up which
15918                         should happen quickly.  We really only had threads to make
15919                         the animation smooth, and when everything got converted over
15920                         to DBus Pending Calls, the need for threads kind of went away
15921
15922 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15923
15924         * gnome/applet/applet.c: Draw VPN connections as radio items
15925         since we don't yet support multiple VPNs.
15926         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15927         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15928
15929 2005-08-29  Dan Williams  <dcbw@redhat.com>
15930
15931         Patch from j@bootlab.org
15932         - Make --without-named work
15933         - Make --with-dhcdbd work correctly
15934
15935 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15936
15937         * configure.in: Added "ca" to ALL_LINGUAS.
15938
15939 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15940
15941         * Fix up VPN state handling between the applet and NetworkManager,
15942                 so that the applet doesn't show a VPN as connected when one
15943                 really is not
15944                         - The applet no longer has a pointer to the active VPN's
15945                                 name, but tracks each VPNs state individually
15946                         - NM no longer has a "getActiveVPNConnection" method
15947                         - NM no longer broadcasts the "VPNConnectionChange" signal
15948                         - NM now broadcasts a "VPNConnectionStateChange" signal
15949                                 whenever the state of a VPN changes
15950
15951 2005-08-26  Dan Williams <dcbw@redhat.com>
15952
15953         * gnome/applet/applet-dbus-devices.c
15954           gnome/applet/applet-dbus-vpn.c
15955                 - Remove calls to dbus_pending_call_ref() because we already
15956                         "own" the pending call
15957                 - Remove calls to dbus_pending_call_get_completed() because
15958                         when we are in the callback, the pending call is completed
15959                         by definition
15960
15961 2005-08-22  Dan Williams <dcbw@redhat.com>
15962
15963         Patch by Bill Moss <bmoss@clemson.edu>
15964         * src/dhcp-manager/nm-dhcp-manager.c
15965                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15966                         some time to send out a RELEASE if they like
15967
15968 2005-08-22  Dan Williams <dcbw@redhat.com>
15969
15970         Noticed by Bill Moss <bmoss@clemson.edu>
15971         * src/NetworkManagerDbus.c
15972                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15973                         instead of just cancelling its activation
15974
15975         * src/NetworkManagerDevice.c
15976                 - (nm_device_deactivate): some small cleanups
15977                 - (nm_device_set_user_key_for_network): deactivate the device
15978                         instead of just cancelling its activation
15979
15980 2005-08-22  Dan Williams <dcbw@redhat.com>
15981
15982         Noticed by Bill Moss <bmoss@clemson.edu>
15983         * src/NetworkManagerDevice.c
15984                 - (nm_device_wireless_scan): fix scan timeout, we were
15985                         waiting way too long for scans to complete
15986
15987 2005-08-22  Dan Williams <dcbw@redhat.com>
15988
15989         Patch from j@bootlab.org:
15990         * src/backends/NetworkManagerDebian.c
15991                 - Make the Debian backend work for static IP again
15992
15993 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15994
15995         * gnome/applet/other-network-dialog.c:
15996         The "Create New Network" and "Connect to Other Network"
15997         dialogs share alot of code, but shouldn't share a window
15998         title.  Give them different ones.
15999
16000         * gnome/applet/wireless-applet.glade:
16001         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16002         Some more minor UI tweaks.
16003
16004 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16005
16006         * gnome/applet/other-network-dialog.c:
16007         * gnome/applet/wireless-applet.glade:
16008         Also need mnemonic widgets, and underline enabled.
16009
16010 2005-08-19  Dan Williams <dcbw@redhat.com>
16011
16012         * vpn-daemons/vpnc/nm-vpnc-service.c
16013                 - (vpnc_watch_cb): remove no-longer-relevant comment
16014                 - (write_config_option): new function, helper to write
16015                         config options to vpnc's stdin
16016                 - (nm_vpnc_config_write): use the new helper, make the
16017                         code shorter
16018
16019 2005-08-19  Christopher Aillon <caillon@redhat.com>
16020
16021         * gnome/applet/passphrase-dialog.c:
16022         * gnome/applet/wireless-applet.glade:
16023         Make the passphrase dialog response based, and treat
16024         responses other than OK (such as Esc, [X]) as a cancel.
16025
16026 2005-08-18  Christopher Aillon <caillon@redhat.com>
16027
16028         * initscript/Gentoo/NetworkManager:
16029         * initscript/RedHat/NetworkManager:
16030         * initscript/RedHat/NetworkManagerDispatcher:
16031         * initscript/SUSE/networkmanager:
16032         CVS remove these in place of .in replacements
16033
16034         * configure.in:
16035         * initscript/Gentoo/NetworkManager.in:
16036         * initscript/RedHat/NetworkManager.in:
16037         * initscript/RedHat/NetworkManagerDispatcher.in:
16038         * initscript/SUSE/networkmanager.in:
16039         These scripts now are generated so they work still when
16040         NM is built using a bindir other than /usr/bin
16041
16042 2005-08-18  Dan Williams <dcbw@redhat.com>
16043
16044         * gnome/applet/main.c
16045                 - Revert previous change for --no-session since
16046                         --sm-disable does the same thing
16047
16048 2005-08-18  Dan Williams <dcbw@redhat.com>
16049
16050         * gnome/applet/applet-dbus-info.c
16051                 - (nmi_dbus_create_error_message): new function
16052                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16053                         functions.  Also don't check for both device _and_ network before
16054                         asking for a user's key, because we may not have gotten all our
16055                         networks back from NM quite yet (due to the dbus pending calls
16056                         coming in later).  Fixes a hang in NM/nm-applet.
16057
16058         * src/NetworkManagerDbus.c
16059                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16060                         slightly more sane manner, even though we are still broken for
16061                         certain other error conditions.
16062                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16063                         to the info-daemon too
16064
16065         * src/NetworkManagerDevice.c
16066                 - Fix some debug messages to be info messages instead
16067
16068 2005-08-18  Dan Williams <dcbw@redhat.com>
16069
16070         * gnome/applet/main.c
16071                 - Add new "--no-session" parameter that disables applet
16072                         session management, ie for testing
16073
16074 2005-08-18  Christopher Aillon <caillon@redhat.com>
16075
16076         * gnome/applet/other-network-dialog.c:
16077         * gnome/applet/wireless-applet.glade: More mnemonics
16078
16079 2005-08-17  Robert Love  <rml@novell.com>
16080
16081         * initscript/SUSE/networkmanager: update
16082
16083 2005-08-17  Dan Williams  <dcbw@redhat.com>
16084
16085         * Tag NM_0_4_1_RELEASE
16086
16087 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16088
16089         * gnome/applet/applet.c: More translatable string cleanup
16090
16091
16092 2005-08-17  Dan Williams  <dcbw@redhat.com>
16093
16094         * gnome/applet/applet-dbus-info.c
16095                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16096                         from the dbus message, which tells us to unconditionally
16097                         ask the user for a new key.  Otherwise, we pull the key from
16098                         the keyring and return it.  If we fail to get the key from the
16099                         keyring, we ask the user for a new key.
16100                 - (nmi_dbus_get_network_key): new function to grab the key for
16101                         an essid from the keyring.
16102                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16103                         Also, don't return any key in the dbus message.
16104
16105         * src/NetworkManagerDbus.[ch]
16106                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16107                         indicate that we unconditionally want a new key.  This function
16108                         is now also used to get keys from the info-daemon which are
16109                         pre-stored, not just for asking the user for a new key.  The
16110                         "new_key" parameter indicates whether or not we wish to ask the
16111                         user for a new key.
16112                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16113                         info-daemon in the return message, so use NULL instead.  The
16114                         key will be filled in at connect time by calling
16115                         nm_dbus_get_user_key_for_network()
16116
16117         * src/NetworkManagerDevice.c
16118                 - (nm_device_wireless_configure): update for "new_key" param to
16119                         nm_dbus_get_user_key_for_network().  We initially set new_key
16120                         to FALSE to see if we have a stored key in the info-daemon, but
16121                         if the connection is unsuccessful at this stage we request a
16122                         new one
16123
16124 2005-08-17  Dan Williams  <dcbw@redhat.com>
16125
16126         * gnome/applet/icons/nm-no-connection.png
16127           gnome/applet/icons/nm-device-wired.png
16128                 - Use Diana's new RJ45 connector icons
16129
16130 2005-08-17  Dan Williams  <dcbw@redhat.com>
16131
16132         * src/NetworkManagerPolicy.c
16133                 - (nm_policy_device_change_check): clarify switching rules if
16134                         both new and old devices are valid; mainly, don't switch
16135                         away from user-requested wireless connection back to a wired
16136                         one
16137
16138 2005-08-17  Dan Williams  <dcbw@redhat.com>
16139
16140         * gnome/applet/Makefile.am
16141                 - Relocate the applet to /usr/bin since it is no longer
16142                         executed by anything, but directly by the user
16143
16144 2005-08-17  Dan Williams  <dcbw@redhat.com>
16145
16146         Patch from Bill Moss <bmoss@clemson.edu>
16147
16148         * gnome/applet/applet-dbus-info.[ch]
16149                 - (nmi_save_network_info): save timestamp for network if it
16150                         was a change requested by the user
16151                 - (nmi_dbus_update_network_info): get user_requested from dbus
16152                         message and pass to nmi_save_network_info()
16153
16154         * gnome/applet/applet.c
16155                 - (nmwa_update_network_timestamp): remove
16156                 - (nmwa_menu_item_activate): don't set timestamp on networks
16157                         here, only after a successful connect in nmi_save_network_info()
16158
16159         * src/NetworkManagerDbus.[ch]
16160                 - (nm_dbus_update_network_info): pass user_requested into the 
16161                         dbus message
16162
16163         * src/NetworkManagerPolicy.c
16164                 - (nm_policy_activation_finish): pass user_requested to
16165                         nm_dbus_update_network_info()
16166
16167 2005-08-16  Robert Love  <rml@novell.com>
16168
16169         * gnome/applet/applet.c: Better "Dial Up" menu item.
16170
16171 2005-08-16  Robert Love  <rml@novell.com>
16172
16173         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16174           "Connection Information" menu item.
16175
16176 2005-08-16  Dan Williams  <dcbw@redhat.com>
16177
16178         Patch from j@bootlab.org
16179         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16180
16181         * configure.in: allow specifying the path to dhcdbd
16182
16183 2005-08-16  Robert Love  <rml@novell.com>
16184
16185         Patch from j@bootlab.org
16186         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16187           src/backends/interface_parser.h: Debian dialup support.
16188
16189 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16190
16191         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16192         * gnome/applet/applet.c: Add some mnemonics for VPNC
16193
16194         * vpn-daemons/.cvsignore: fix this up a little bit
16195
16196 2005-08-16  Robert Love  <rml@novell.com>
16197
16198         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16199           support.
16200
16201 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16202
16203         * gnome/applet/applet.c: Split markup out of translatable strings
16204         and clean up logic a little bit.  (fixes #309012)
16205
16206 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16207
16208         * gnome/vpn-properties/nm-vpn-properties.c:
16209         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16210         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16211         Makeshift fix to remove newlines from translatable strings.
16212         Note that we now return an allocated string, so callers of
16213         get_confirmation_details () must now call g_free () on the
16214         result. (fixes #309033).
16215
16216 2005-08-12  Robert Love  <rml@novell.com>
16217
16218         * gnome/applet/applet-dbus.c: remove newlines from translatable
16219           strings--not needed here anyway. (fix b.g.o #309011)
16220         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16221
16222 2005-08-11  Robert Love  <rml@novell.com>
16223
16224         * gnome/applet/applet.c: mark string as translatable.
16225
16226 2005-08-11  Robert Love  <rml@novell.com>
16227
16228         * initscript/SUSE/networkmanager: update.
16229
16230 2005-08-11  Dan Williams  <dcbw@redhat.com>
16231
16232         * src/nm-dhcp-manager.c
16233                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16234                         an gateway returned from DHCP, try to use the address of the DHCP
16235                         server as the gateway instead.  Found by Ralf Ertzinger.
16236
16237 2005-08-10  Robert Love  <rml@novell.com>
16238
16239         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16240           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16241
16242 2005-08-10  Dan Williams  <dcbw@redhat.com>
16243
16244         Patch from Bill Moss <bmoss@clemson.edu>
16245         * Consolidate writes of access point information updates to the info daemon
16246                 so that we only do it when the connection to the access point was
16247                 successful.  Also consolidates updates to GConf in the Gnome applet.
16248
16249         * src/nm-netlink-monitor.c
16250                 - Silence compile warning when calling g_object_new()
16251
16252 2005-08-08  Dan Williams  <dcbw@redhat.com>
16253
16254         Patch from Steev <steev@steev.net>:
16255         * src/backends/NetworkManagerGentoo.c
16256                 - Stub new dialup backend functions
16257
16258 2005-08-08  Dan Williams  <dcbw@redhat.com>
16259
16260         Patch from Colin Slater:
16261         * src/backends/NetworkManagerGentoo.c
16262                 - (nm_system_update_dns): Fix exit status check for restarting
16263                         nscd
16264
16265 2005-08-05  Robert Love  <rml@novell.com>
16266
16267         * NetworkManager.h,
16268           gnome/applet/applet-dbus-devices.c,
16269           gnome/applet/applet-dbus-devices.h,
16270           gnome/applet/applet-dbus.c,
16271           gnome/applet/applet.c,
16272           gnome/applet/applet.h,
16273           src/NetworkManager.c,
16274           src/NetworkManagerMain.h,
16275           src/NetworkManagerSystem.h,
16276           src/backends/NetworkManagerRedHat.c,
16277           src/backends/NetworkManagerSuSE.c,
16278           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16279
16280 2005-08-05  Robert Love  <rml@novell.com>
16281
16282         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16283           machine's hostname to make adhoc creation idiot-proof.
16284
16285 2005-08-04  Robert Love  <rml@novell.com>
16286
16287         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16288           freed.
16289
16290 2005-08-04  Dan Williams  <dcbw@redhat.com>
16291
16292         * gnome/applet/applet-dbus-info.c
16293           gnome/applet/applet-dbus-info.h
16294                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16295                         to store key, key type, and auth method rather than just auth method
16296                 - (nmi_dbus_update_network_info): new function
16297                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16298
16299         * gnome/applet/passphrase-dialog.c
16300                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16301                         of saving the info ourselves
16302
16303         * gnome/libnm_glib/libnm_glib.c
16304                 - Remove the stupid version check for dbus
16305
16306         * src/NetworkManagerAP.c
16307           src/NetworkManagerAP.h
16308                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16309
16310         * src/NetworkManagerDbus.c
16311           src/NetworkManagerDbus.h
16312                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16313                         more than just the auth method
16314
16315         * src/NetworkManagerDevice.c
16316                 - Update network info at the appropriate times
16317
16318 2005-07-29  Ray Strode  <rstrode@redhat.com>
16319
16320         * src/NetworkManager.c (nm_info_handler): don't use input as format
16321         string (Spotted by Ian Jackson).
16322
16323 2005-07-27  Dan Williams  <dcbw@redhat.com>
16324
16325         * src/nm-dbus-nm.c
16326           src/nm-dbus-net.c
16327                 - Random cleanups of spacing
16328
16329         * gnome/applet/applet.h
16330           gnome/applet/other-network-dialog.c
16331           gnome/applet/passphrase-dialog.c
16332                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16333
16334         Patch from Bill Moss:
16335                 - Make Other Wireless Networks work again with encryption keys
16336
16337 2005-07-26  Dan Williams  <dcbw@redhat.com>
16338
16339         Patch from Steev <steev@steev.net>:
16340         * src/backends/NetworkManagerGentoo.c
16341           src/backends/Makefile.am
16342                 - Fix up Gentoo backend
16343
16344 2005-07-26  Robert Love  <rml@novell.com>
16345
16346         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16347
16348 2005-07-25  Robert Love  <rml@novell.com>
16349
16350         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16351           in the same group as the wireless networks, since they are all
16352           mutually exclusive.
16353
16354 2005-07-24  Ray Strode  <rstrode@redhat.com>
16355
16356         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16357         remove unneeded NULL arg from g_object_new().  Any
16358         warnings caused by not having the extra NULL are just a
16359         result of a bug in glib 2.7.0 - 2.7.2.
16360
16361 2005-07-22  Robert Love  <rml@novell.com>
16362
16363         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16364
16365 2005-07-22  Robert Love  <rml@novell.com>
16366
16367         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16368           parameters (gcc 4.0.2 warning fix).
16369
16370 2005-07-18  Robert Love  <rml@novell.com>
16371
16372         Suggested by Aaron Bockover (abockover@novell.com)
16373         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16374           s/Ascii/ASCII
16375         * gnome/applet/passphrase-dialog.c: ditto
16376         * gnome/applet/wireless-applet.glade: ditto
16377
16378 2005-07-13  Dan Williams  <dcbw@redhat.com>
16379
16380         Patch from Ray Strode <halfline@gmail.com>
16381         * vpn-daemons/vpnc/nm-vpnc-service.c
16382                 - Don't let vpnc daemonize, fixes some races with PID file reading
16383
16384 2005-07-13  Dan Williams  <dcbw@redhat.com>
16385
16386         Patch from Ray Strode <halfline@gmail.com>
16387         * Random cleanups for strict CFLAGS
16388
16389 2005-07-07  Dan Williams  <dcbw@redhat.com>
16390
16391         Patch from Derek Atkins <warlord@MIT.EDU>
16392         * src/nm-dbus-net.c:
16393                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16394
16395 2005-07-07  Dan Williams  <dcbw@redhat.com>
16396
16397         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16398         * src/backends/NetworkManagerGentoo.c
16399                 - Gentoo backend Static IP nameserver fixes
16400                 - General Gentoo backend goodness
16401
16402 2005-07-07  Dan Williams  <dcbw@redhat.com>
16403
16404         Patch from Bastien Nocera:
16405         * gnome/applet/applet.c
16406                 - Fix up error reporting when icons or glade files are missing
16407
16408 2005-07-07  Robert Love  <rml@novell.com>
16409
16410         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16411           are not any VPN connections above it.
16412
16413 2005-07-07  Robert Love  <rml@novell.com>
16414
16415         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16416
16417 2005-07-05  Robert Love  <rml@novell.com>
16418
16419         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16420           zero.
16421
16422 2005-07-05  Robert Love  <rml@novell.com>
16423
16424         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16425           on wired or unencrypted wireless.
16426
16427 2005-07-01  Robert Love  <rml@novell.com>
16428
16429         * src/NetworkManagerSystem.c: Print the error via strerror().
16430
16431 2005-06-30  Robert Love  <rml@novell.com>
16432
16433         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16434           then exit if the glade file is not found.  currently the application
16435           just hangs.
16436
16437 2005-06-30  Robert Love  <rml@novell.com>
16438
16439         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16440           explicitly up all interfaces on wake from sleep.
16441
16442 2005-06-30  Robert Love  <rml@novell.com>
16443
16444         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16445           with information about the currently active connection.
16446         * gnome/applet/applet.h: (ditto)
16447         * gnome/applet/wireless-applet.glade: (ditto), new file
16448
16449 2005-06-30  Robert Love  <rml@novell.com>
16450
16451         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16452         * src/nm-dbus-nm.c: print when we sleep and wake up.
16453         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16454         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16455           in /sbin unless D-BUS is, folks).
16456         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16457
16458 2005-06-27  Robert Love  <rml@novell.com>
16459
16460         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16461           case.
16462
16463 2005-06-27  Robert Love  <rml@novell.com>
16464
16465         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16466           items radios.
16467
16468 2005-06-26  Robert Love  <rml@novell.com>
16469
16470         * src/NetworkManagerDevice.c: be specific about which device in
16471           nm_info() message.
16472
16473 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16474
16475         * src/nm-netlink-monitor.c: correct spelling error.
16476
16477 2005-06-23  Robert Love  <rml@novell.com>
16478
16479         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16480         * gnome/applet/passphrase-dialog.c: more of that keyring!
16481
16482 2005-06-23  Robert Love  <rml@novell.com>
16483
16484         * configure.in: remove extraneous GNOMEKEYRING directives.
16485         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16486         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16487         * gnome/applet/passphrase-dialog.c: whitespace.
16488
16489 2005-06-23  Robert Love  <rml@novell.com>
16490
16491         * src/NetworkManagerDevice.c: division in assignment was flipped.
16492
16493 2005-06-23  David Zeuthen  <david@fubar.dk>
16494
16495         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16496         signal to the child to indicate that we got what we wanted when we
16497         see two new-lines right after each other.
16498         (nmwa_vpn_request_password): Pass a structure with several members
16499         instead of just the passwords
16500
16501 2005-06-23  Dan Williams <dcbw@redhat.com>
16502
16503         * src/NetworkManager.c
16504           src/NetworkManagerMain.h
16505                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16506                 - (nm_hal_init): new function, init libhal context then add devices
16507                 - (nm_hal_deinit): new function, clean up libhal context
16508                 - (nm_data_free): Move Hal cleanup here
16509                 - (main): check whether Hal is running, and if so, get a list of
16510                         network devices from it
16511
16512         * src/NetworkManagerDbus.c
16513                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16514                         and when it appears, get a list of network devices from it.  If
16515                         Hal goes away, clean up the libhal context
16516
16517 2005-06-22  Robert Love  <rml@novell.com>
16518
16519         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16520           permissions of scripts before executing.
16521
16522 2005-06-21  Robert Love  <rml@novell.com>
16523
16524         * initscript/SUSE/networkmanager: update.
16525         * src/backends/NetworkManagerSuSE.c: cleanup.
16526
16527 2005-06-21  Robert Love <rml@novell.com>
16528
16529         * gnome/applet/applet.c: use menu mnemonics.
16530         * gnome/applet/menu-items.c: (ditto)
16531
16532 2005-06-21  Robert Love  <rml@novell.com>
16533
16534         * applet/applet-dbus-devices.c: mark non-static functions static.
16535         * applet/applet-dbus-vpn.c: (ditto)
16536         * applet/applet.c: (ditto)
16537         * applet/nm-device.h: (ditto)
16538         * applet/other-network-dialog.c: (ditto)
16539         * applet/passphrase-dialog.c: (ditto)
16540         * NetworkManager.c: (ditto)
16541         * NetworkManagerDbus.c: (ditto)
16542         * NetworkManagerDevice.c: (ditto)
16543         * NetworkManagerPolicy.c: (ditto)
16544         * NetworkManagerUtils.c: (ditto)
16545         * NetworkManagerWireless.c: (ditto)
16546         * NetworkManagerWireless.h: (ditto)
16547         * nm-netlink-monitor.c: (ditto)
16548         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16549         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16550         * autoip.c: include autoip.h.
16551         * autoip.h: new file.  define get_autoip().
16552         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16553         * NetworkManagerDbus.h: remove duplicate definitions.
16554
16555 2005-06-20  Robert Love  <rml@novell.com>
16556
16557         * Makefile.am: Add missing intltool-foo.in generated files to
16558           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16559           with the start of stuff to cleanup on 'distclea'.
16560         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16561           stuff right and 'distcheck' works.
16562         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16563           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16564           Makefile.am for each.  And systray/Makefile needs to be redone.
16565
16566 2005-06-19  Dan Williams <dcbw@redhat.com>
16567
16568         * src/NetworkManagerDevice.c
16569         - (nm_device_wireless_process_scan_results): scan every 20s when
16570           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16571
16572 2005-06-19  Dan Williams <dcbw@redhat.com>
16573
16574         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16575
16576 2005-06-18  Ray Strode <rstrode@redhat.com>
16577
16578         * src/nm-netlink-monitor.c 
16579         (nm_netlink_monitor_event_handler): check for the presence
16580         of either error condition not both. 
16581         
16582         (nm_netlink_monitor_error_handler): emit error signal if
16583         error occurs.
16584
16585         (nm_netlink_monitor_event_handler),
16586         (nm_netlink_monitor_error_handler),
16587         (nm_netlink_monitor_disconnect_handler): if an 
16588         assertion fails disconnect the event handler to prevent 
16589         infinite loops.
16590
16591         * src/nm-netlink-monitor.h: add new error condition
16592         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16593
16594 2005-06-18  Ray Strode <rstrode@redhat.com>
16595
16596         * src/nm-netlink-monitor.c 
16597         (nm_netlink_monitor_event_handler): remove bogus < 0
16598         check on unsigned value and return early if the kernel
16599         didn't send any bytes.
16600
16601 2005-06-17  Robert Love  <rml@novell.com>
16602
16603         * initscript/SUSE/networkmanager: Change the Provides and default
16604         run levels
16605
16606 2005-06-16  Dan Williams <dcbw@redhat.com>
16607
16608         Patch from Robert Love:
16609         * gnome/applet/applet.c
16610                 - Beautify some applet menu item names
16611
16612 2005-06-17  David Zeuthen  <davidz@redhat.com>
16613
16614         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16615         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16616         Also add new methods can_export, import_file and export.
16617
16618         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16619         to the main UI
16620
16621         * gnome/vpn-properties/nm-vpn-properties.c:
16622         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16623         nm-vpn-ui-interface.h.
16624         (update_edit_del_sensitivity): Also update "Export" sensitivity
16625         (add_vpn_connection): Also add new SVC_NAME column
16626         (import_settings): New function
16627         (retrieve_data_from_selected_connection): New function
16628         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16629         this function
16630         (export_cb): New function
16631         (init_app): Also setup the "export" widget
16632         (main): Support the --import-service and --import-file commandline
16633         arguments
16634
16635         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16636         D-BUS 0.34
16637
16638 2005-06-16  Dan Williams <dcbw@redhat.com>
16639
16640         Patch from Robert Love:
16641         * gnome/applet/menu-items.c
16642                 - (network_menu_item_new): pass -1 as wireless network
16643                         menu items height size request rather than ascent / 2
16644
16645 2005-06-16  Dan Williams <dcbw@redhat.com>
16646
16647         * Clean up wording in Wireless Scan Methods menu items and constants
16648
16649 2005-06-16  Robert Love  <rml@novell.com>
16650
16651         * po/POTFILES.in
16652                 - remove gtkcell* files
16653
16654 2005-06-15  Dan Williams <dcbw@redhat.com>
16655
16656         Patch from Robert Love: make the applet stetic
16657
16658         * gnome/applet/Makefile.am
16659                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16660
16661         * gnome/applet/gtkcellview.h
16662           gnome/applet/gtkcellview.c
16663           gnome/applet/gtkcellrendererprogress.h
16664           gnome/applet/gtkcellrendererprogress.c
16665                 - Removed
16666
16667         * gnome/applet/menu-items.c
16668                 - Progress bars are 5:1 size ratio
16669                 - Use GTK progress bars rather than internal ones
16670
16671 2005-06-15  Dan Williams <dcbw@redhat.com>
16672
16673         Patch from Robert Love:
16674         * initscript/SUSE/networkmanager
16675                 - Fix typo
16676
16677 2005-06-15  Dan Williams <dcbw@redhat.com>
16678
16679         * src/backends/NetworkManagerSuSE.c
16680           src/backends/NetworkManagerRedHat.c
16681           src/backends/NetworkManagerDebian.c
16682                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16683
16684 2005-06-15  Dan Williams <dcbw@redhat.com>
16685
16686         * src/backends/NetworkManagerDebian.c
16687                 - Add nm_system_device_get_use_dhcp() to debian backend
16688
16689         Patch from Kay Sievers:
16690         * src/backends/NetworkManagerSuSE.c
16691                 - Update debian backend for static IP nameservers
16692
16693         * src/NetworkManagerDevice.c
16694                 - Actually set the device to use static IP or DHCP rather
16695                         than always DHCP
16696
16697 2005-06-15  Dan Williams <dcbw@redhat.com>
16698
16699         Patch from Thom May:
16700         * src/backends/NetworkManagerDebian.c
16701                 - Update debian backend for static IP nameservers
16702
16703 2005-06-15  Dan Williams <dcbw@redhat.com>
16704
16705         Patches from Robert Love:
16706         * gnome/applet/wireless-applet.glade
16707                 - Tighten up wording
16708
16709         * src/NetworkManagerDevice.c
16710                 - Remove misplaced ';'
16711
16712         * configure.in
16713           initscript/Makefile.am
16714           initscript/SUSE/Makefile.am
16715           initscript/SUSE/networkmanager
16716                 - Add SUSE initscript
16717
16718 2005-06-12  David Zeuthen  <davidz@redhat.com>
16719
16720         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16721
16722         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16723
16724         * gnome/vpn-properties/nm-vpn-properties.c: New file
16725
16726         * gnome/vpn-properties/Makefile.am: New file
16727
16728         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16729         array of passwords
16730
16731         * src/vpn-manager/nm-vpn-manager.c
16732         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16733         instead of just a single one
16734
16735         * src/vpn-manager/nm-dbus-vpn.c:
16736         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16737         here
16738         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16739
16740         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16741         Change the interface here to give a list of passwords. Also, don't
16742         require username, but do require service
16743
16744         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16745         the binary for the auth-dialog and use that instead of putting up a
16746         dialog asking for a single password
16747
16748         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16749         however do remember the service
16750
16751         * gnome/applet/main.c (main): Setup i18n
16752
16753         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16754         connection to '%s'" to the tooltip if we are connected using VPN
16755         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16756         key to determine whether we the auth-dialog needs to
16757         reprompt. Also cope with the fact that the auth-dialog now returns
16758         an array of passwords.
16759         (nmwa_menu_configure_vpn_item_activate): New handler for
16760         "Configure VPN..." menu item
16761         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16762         (is_vpn_available): New function to determine if we got any
16763         NM-compatible VPN software installed
16764         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16765         items only if we have NM-compatible VPN software installed
16766         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16767         logic for detecting when VPN connections are removed
16768
16769         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16770         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16771         since these are defined elsewhere
16772
16773         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16774         function used to keep track of whether the last attempt succeded
16775         (nmwa_dbus_filter): Update last_attempt according to whether the
16776         VPN connection could be established or not
16777
16778         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16779         Change prototype to take an array of passwords, not just a single
16780         password
16781
16782         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16783         update service, not user
16784         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16785         dbus_active_vpn_name is not NULL before using it
16786         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16787         string array instead of assuming a single password
16788
16789         * gnome/applet/applet-dbus-info.c:
16790         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16791         user name; don't read from gconf
16792
16793         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16794         VPN_NAME_FILES_DIR
16795
16796         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16797
16798         * configure.in: Add checks for gmodule-2.0.
16799         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16800         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16801         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16802         for details
16803
16804         * vpn-daemons/Makefile.am: Removed
16805
16806         * vpn-daemons/README: New file to describe extensions points for VPN
16807         software
16808
16809 2005-06-10  Dan Williams <dcbw@redhat.com>
16810
16811         * src/backends/NetworkManagerRedHat.c
16812                 - (get_current_profile_name): new function, grab current network profile name from
16813                         /etc/sysconfig/network
16814                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16815                         update an IP4 Config structure's settings from it
16816                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16817                         get DNS info from current network profile
16818
16819 2005-06-09  Dan Williams <dcbw@redhat.com>
16820
16821         Patch from Robert Love:
16822         * src/NetworkManagerDevice.c
16823           src/NetworkManagerUtils.c
16824                 - 64-bit build fixes
16825
16826 2005-06-09  Dan Williams <dcbw@redhat.com>
16827
16828         Patch from Kay Sievers and Robert Love:
16829         * configure.in
16830           src/backends/Makefile.am
16831           src/backends/NetworkManagerSuSE.c
16832                 - Add SuSE support
16833
16834 2005-06-09  Dan Williams <dcbw@redhat.com>
16835
16836         * NetworkManager.h
16837                 - Add NMWirelessScanMethod enum for scan methods
16838
16839         * gnome/applet/applet-dbus-devices.c
16840                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16841                 - (nmwa_dbus_update_scanning_enabled): remove
16842                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16843                         since it got removed
16844                 - (nmwa_dbus_enable_scanning): remove
16845
16846         * gnome/applet/applet-dbus-info.c
16847                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16848                         update the wireless scanning method from NMI
16849                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16850                         method value to NetworkManager
16851                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16852
16853         * gnome/applet/applet-dbus-info.h
16854                 - Add prototype for nmi_dbus_signal_update_scan_method
16855
16856         * gnome/applet/applet.c
16857                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16858                         Wireless Scanning menu based on current wireless scan method
16859                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16860                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16861                         and update our menu items to make sure the right one is checked
16862                 - (nmwa_set_scanning_enabled_cb): remove
16863                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16864                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16865                         Scanning menu item
16866                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16867                         from GConf
16868                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16869                         so we get notified of preference values too
16870                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16871
16872         * gnome/applet/applet.h
16873                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16874                 - Add wireless scan method member to applet data
16875                 - Remove pause_scanning_item, add Wireless Scanning submenu
16876
16877         * src/NetworkManager.c
16878                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16879                 - (main): grab scanning method from NMI if we can
16880
16881         * src/NetworkManagerDbus.c
16882                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16883                         nm_dbus_update_wireless_scan_method()
16884                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16885                         from NMI
16886                 - (nm_dbus_nmi_is_running): redundant function, removed
16887                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16888                         when NMI comes back
16889
16890         * src/NetworkManagerDevice.c
16891                 - (nm_device_is_activated): return TRUE if the device is activated
16892                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16893                         and we are activated
16894
16895         * src/nm-dbus-nm.c
16896                 - (nm_dbus_nm_set_scanning_enabled): removed
16897                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16898                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16899
16900 2005-06-09  Dan Williams <dcbw@redhat.com>
16901
16902         * NetworkManager.h
16903           src/vpn-manager/nm-vpn-service.c
16904                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16905
16906 2005-05-27  Dan Williams <dcbw@redhat.com>
16907
16908         * vpn-daemons/vpnc/nm-vpnc-service.c
16909                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16910                         Should fix the bug where the VPN connection terminates the first time.
16911
16912 2005-05-20  Dan Williams <dcbw@redhat.com>
16913
16914         * NetworkManager.h
16915                 - Differentiate VPN config signals between bad VPN config options
16916                         and bad IP config
16917
16918         * gnome/applet/applet-dbus-info.h
16919                 - Add prototypes for wireless network and vpn connection update functions
16920
16921         * gnome/applet/applet-dbus.c
16922                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16923
16924         * gnome/applet/applet.c
16925                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16926                         error signals
16927                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16928                         propogation to NetworkManager
16929                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16930                         notify propogation to NetworkManager
16931
16932         * src/NetworkManagerDbus.c
16933                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16934                         are updating so a network can be removed from it if necessary
16935
16936         * src/vpn-manager/nm-vpn-manager.c
16937                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16938
16939         * vpn-daemons/vpnc/nm-vpnc-service.c
16940                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16941                 - (nm_vpnc_dbus_signal_launch_failed): remove
16942                 - (nm_vpnc_dbus_signal_connect_failed): remove
16943                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16944                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16945                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16946                         for new generalized error signal function, remove config file stuff
16947                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16948                         we can write configuration options to it
16949                 - (nm_vpnc_config_file_generate): removed
16950                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16951                 - (nm_vpnc_config_options_validate): validate the config options we receive
16952                         from NetworkManager to block potential exploits
16953                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16954                         starting vpnc
16955                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16956                         to NetworkManager
16957
16958 2005-05-16  Dan Williams  <dcbw@redhat.com>
16959
16960         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16961                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16962                         is not "connect"
16963
16964 2005-05-16  Dan Williams  <dcbw@redhat.com>
16965
16966         Patch from Tomislav Vujec <tvujec@redhat.com>
16967         * gnome/applet/applet-dbus-info.c
16968                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16969                         GConf and pass them to NetworkManager.  New key is 'routes' under
16970                         the VPN connection, and should be a string list
16971
16972         * src/NetworkManagerSystem.c
16973                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16974                         set them on the device when we set the rest of the VPN config.  Ensure
16975                         they are in the correct format since they are passed directly to the
16976                         command line.
16977
16978         * src/backends/NetworkManagerRedHat.c
16979           src/backends/NetworkManagerDebian.c
16980                 - (nm_system_device_add_route_via_device_with_iface): new function
16981
16982         * src/vpn-manager/nm-dbus-vpn.c
16983                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16984
16985         * src/vpn-manager/nm-vpn-manager.c
16986                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16987                         them into the IP4 config functions
16988
16989 2005-05-15  Dan Williams  <dcbw@redhat.com>
16990
16991         From Filip Miletic:
16992         * po/sr.po
16993           po/sr@Latn.po
16994           configure.in
16995                 - Serbian translation added
16996
16997 2005-05-15  Dan Williams  <dcbw@redhat.com>
16998
16999         * dispatcher-daemon/NetworkManagerDispatcher.c
17000                 - (main): sync arguments with NetworkManager and the applet, now use
17001                         "--no-daemon" rather than "daemon=no"
17002                 - (nmd_print_usage): Fix script path in usage message
17003
17004 2005-05-15  Dan Williams  <dcbw@redhat.com>
17005
17006         * src/NetworkManagerDevice.[ch]
17007           src/NetworkManagerPolicy.c
17008           src/NetworkManager.c
17009           src/nm-dbus-nm.c
17010                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17011                         longer send the DeviceNoLongerActive signal unconditionally, but only
17012                         when the device is actually active.
17013
17014         * dispatcher-daemon/NetworkManagerDispatcher.c
17015                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17016                         and simplify the logic
17017                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17018                         we free it later on
17019
17020         * initscript/RedHat/Makefile.am
17021           initscript/RedHat/NetworkManagerDispatcher
17022                 - Add initscript for NetworkManagerDispatcher
17023
17024
17025         Patch from Bill Moss:
17026         * dispatcher-daemon/NetworkManagerDispatcher.c
17027                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17028
17029         * src/NetworkManagerDbus.c
17030                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17031                         and DeviceNowActive gets signaled, then the device has a new IP address
17032                         anyway.  There's no need for a separate signal.
17033
17034         * src/NetworkManagerDevice.c
17035                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17036
17037         * src/NetworkManagerPolicy.c
17038                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17039                         activates successfully.  This kind of went missing when I reworked the
17040                         activation code.
17041
17042 2005-05-15  Dan Williams  <dcbw@redhat.com>
17043
17044         * configure.in
17045                 - Check for dhcdbd and error if its not found
17046
17047         * src/dhcp-manager/Makefile.am
17048           src/dhcp-manager/nm-dhcp-manager.c
17049                 - Use path to dhcdbd that configure found
17050
17051 2005-05-14  Dan Williams  <dcbw@redhat.com>
17052
17053         * gnome/applet/nm-device.c
17054                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17055                         sort wireless networks alphabetically
17056
17057         * gnome/applet/applet-dbus-devices.c
17058                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17059                         before copying them over to the GUI
17060
17061 2005-05-14  Dan Williams  <dcbw@redhat.com>
17062
17063         * src/NetworkManager.c
17064                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17065                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17066                         the device list, as does nm_get_active_device() which is called from
17067                         nm_vpn_manager_deactivate_vpn_connection().
17068
17069 2005-05-14  Dan Williams  <dcbw@redhat.com>
17070
17071         * NetworkManager.h
17072                 - Add signals for VPN Launch and Connect failures
17073
17074         * gnome/applet/applet-dbus.c
17075                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17076
17077         * gnome/applet/applet.c
17078                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17079                         function to handle all VPN failure messages
17080                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17081                         function to hanlde all VPN failure  messages
17082                 - (show_warning_dialog): work around focus-stealing prevention
17083
17084         * gnome/applet/other-network-dialog.c
17085           gnome/applet/passphrase-dialog.c
17086                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17087                         problem where it never enabled for ASCII Key and Hex Key types
17088
17089         * gnome/applet/wireless-applet.glade
17090                 - Add window title to Other Wireless Network Dialog
17091
17092         * src/vpn-manager/nm-dbus-vpn.c
17093                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17094                         function to handle all VPN failure messages
17095
17096         * src/vpn-manager/nm-vpn-manager.c
17097                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17098
17099         * vpn-daemons/vpnc/nm-vpnc-service.c
17100                 - (nm_vpnc_dbus_signal_launch_failed): new function
17101                 - (nm_vpnc_dbus_signal_connect_failed): new function
17102                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17103                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17104                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17105                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17106
17107 2005-05-11  Dan Williams  <dcbw@redhat.com>
17108
17109         * vpn-daemons/vpnc/nm-vpnc-service.c
17110                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17111                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17112                         file exists before trying to write it out.
17113
17114 2005-05-10  Dan Williams  <dcbw@redhat.com>
17115
17116     * gnome/applet/applet-dbus-device.c
17117         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17118             prevented just entering ESSID and leaving key and key type up to
17119             NetworkManager (which should have them already cached)
17120
17121 2005-05-08  Dan Williams  <dcbw@redhat.com>
17122
17123         * src/NetworkManagerPolicy.c
17124                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17125                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17126                         fix a situation where NM is told to terminate and the device stops activation,
17127                         but the main thread isn't aware of that because it would never have run
17128                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17129                         had already quit.
17130
17131         * src/NetworkManagerDevice.c
17132                 - (nm_device_probe_wired_link_state): cosmetic fixes
17133                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17134                         we've failed to activate or been canceled.
17135                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17136
17137 2005-05-08  Dan Williams  <dcbw@redhat.com>
17138
17139         * src/NetworkManagerWireless.c
17140                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17141                         value of WEXT quality structures, and add a debug message when we cannot
17142                         determine any quality % at all
17143
17144 2005-05-08  Dan Williams  <dcbw@redhat.com>
17145
17146         * src/dhcp-manager/nm-dhcp-manager.c
17147                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17148                         it goes down.
17149
17150 2005-05-06  Dan Williams  <dcbw@redhat.com>
17151
17152         * gnome/applet/applet-dbus-device.c
17153           gnome/applet/applet-dbus-info.c
17154           gnome/applet/applet-dbus.c
17155           gnome/applet/applet.c
17156           gnome/applet/applet.h
17157                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17158
17159         * gnome/applet/applet-dbus.c
17160                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17161                         so we notice when wired device's carriers come back on.  Should
17162                         fix issue with wired devices being grayed out even if the cable
17163                         is in, for devices that support carrier detection.
17164
17165         * gnome/applet/applet.c
17166                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17167                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17168                         tooltip message
17169                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17170                         Fix situation where applet wouldn't respond to menu selections
17171
17172         * src/NetworkManager.c
17173           src/NetworkManagerDevice.c
17174           src/NetworkManagerDbus.c
17175           src/NetworkManagerDbus.h
17176                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17177
17178         * src/NetworkManagerDbus.c
17179                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17180                         Remove, no longer used or relevant
17181                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17182                 - (nm_dbus_schedule_device_status_change_signal): add
17183
17184         * src/NetworkManagerDevice.c
17185                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17186                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17187                         ie don't deactivate them unless explicitly told to by the user.  Also send
17188                         CARRIER_OFF / CARRIER_ON signals when link changes
17189                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17190                         Don't print error message when device is no longer around
17191                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17192                         not just during activation
17193
17194         * src/NetworkManagerPolicy.c
17195                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17196                         auto-device-selection.
17197                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17198
17199         * src/NetworkManagerSystem.c
17200                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17201                         is no longer present (Bill Moss)
17202
17203         * src/backends/shvar.c
17204                 - (svOpenFile): Open read-only to make SELinux happy
17205
17206         * src/backends/NetworkManagerRedHat.c
17207                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17208                         the path to the ifcfg-* files
17209
17210 2005-05-05  Dan Williams  <dcbw@redhat.com>
17211
17212         * Expose activation stages to NetworkManager clients, like the applet
17213         * Add Diana's progress icons to the applet, cued off NM activation stage
17214         * Use more descriptive tooltips, cued off NM activation stage
17215
17216 2005-05-05  Ray Strode  <rstrode@redhat.com>
17217
17218         * src/nm-netlink-monitor.c:
17219                 - Use clear_event_source instead of g_nullify_pointer() again.
17220
17221 2005-05-05  Dan Williams  <dcbw@redhat.com>
17222
17223         * gnome/applet/main.c
17224                 - Fix session management so the applet is actually managed now
17225
17226         * gnome/applet/passphrase-dialog.c
17227                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17228
17229 2005-05-05  Dan Williams  <dcbw@redhat.com>
17230
17231         Patch from Bill Moss:
17232         * gnome/libnm_glib/libnm_glib.c
17233                 - Fix for dbus-0.33
17234
17235 2005-05-05  Dan Williams  <dcbw@redhat.com>
17236
17237         Suggestion from Bill Moss:
17238         * src/NetworkManagerSystem.c
17239                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17240
17241
17242         * src/NetworkManager.c
17243                 - (nm_data_free): move destruction of the various managers after
17244                         release of device list, because deactivating and freeing a device
17245                         requires at least the named manager
17246                 - (nm_poll_and_update_wireless_link_state):
17247                   (nm_device_link_activated):
17248                   (nm_device_link_deactivated):
17249                         don't grab the device list lock when actually updating device
17250                         link status or strength, since nm_device_set_link_active()
17251                         needs to call nm_get_active_device(), which also locks the device list.
17252
17253         * src/NetworkManagerDevice.c
17254                 - (nm_device_set_link_active): if a device's link switches from off->on,
17255                         and it's wired, and the active device is wireless (or there is no
17256                         active device), activate the new device whose link just came on
17257                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17258                         my only calling the link to the current ap "failed" when more than 2
17259                         consecutive link checks have failed
17260
17261 2005-05-04  Dan Williams  <dcbw@redhat.com>
17262
17263         * src/NetworkManagerDevice.c
17264                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17265                         but let link_to_specific_ap() do the locking where it needs
17266
17267         Patch from Bill Moss:
17268         * src/NetworkManagerSystem.c
17269                 - Set MTU of VPN devices to 1412
17270
17271 2005-05-04  Dan Williams  <dcbw@redhat.com>
17272
17273         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17274
17275         * Fix some holes in device activation and retaining the currently connected
17276                 access point
17277
17278 2005-05-03  Dan Williams  <dcbw@redhat.com>
17279
17280         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17281           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17282           means you need dhcdbd, which you can get here (get the latest one):
17283
17284                 http://people.redhat.com/jvdias/dhcdbd/
17285
17286           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17287           interface as dhcdbd.
17288
17289         * Rewrite device activation to facilitate the new DHCP infrastructure and
17290           future improvements.  Its now "activation request" based, ie there is a single
17291           activation request composed of the device, access point, and other info which
17292           follows the entire activation process.  There are 5 stages of the activation
17293           process which correspond to:
17294
17295                 1) Device preparation
17296                 2) Device configuration (bring it up, set ESSID/Key/etc)
17297                 3) IP Config Start (fire off DHCP if we're using it)
17298                 4) IP Config Get (grab config from DHCP or static config files)
17299                 5) IP Config Commit (set device's IP address, DNS, etc)
17300
17301           Note that there is no longer a "scanning" step, since the access point must
17302           be known _before_ activation starts.  If the access point drops out or does
17303           not exist for some reason, the entire activation process fails and must be
17304           restarted for a different access point or device.
17305
17306         Patch from Bill Moss:
17307         * gnome/applet/applet.c
17308                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17309
17310 2005-04-27  Dan Williams  <dcbw@redhat.com>
17311
17312         * gnome/applet/applet-dbus-vpn.c
17313           gnome/applet/applet.c
17314           gnome/applet/applet.h
17315                 - Fix up active VPN handling so that we reliably know when a VPN
17316                         connection has been deactivated
17317
17318         * src/vpn-manager/nm-vpn-manager.c
17319                 - Remove duplicate VPNConnectionChange signal
17320
17321 2005-04-27  Dan Williams  <dcbw@redhat.com>
17322
17323         Patch from Peter Jones:
17324         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17325
17326         Patch from Bill Moss:
17327         * src/NetworkManagerSystem.c
17328                 - Fix checking of return value from ioctl()
17329
17330 2005-04-27  Dan Williams  <dcbw@redhat.com>
17331
17332         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17333         * Warn and exit if icons cannot be found
17334
17335 2005-04-27  Dan Williams  <dcbw@redhat.com>
17336
17337         Patch from Tom Parker:
17338         * Update debian backend
17339
17340 2005-04-27  Dan Williams  <dcbw@redhat.com>
17341
17342         * Merge the applet and the info-daemon, and move the converged
17343                 applet under gnome/applet
17344         * Move libnm_glib to gnome/libnm_glib
17345         * Convert most dbus calls between the applet, info-daemon, and NM
17346                 into async calls
17347         * Fix a few things valgrind noticed
17348         * Make NM broadcast state more reliably
17349
17350 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17351
17352         * configure.in: Added ne in ALL_LINGUAS
17353
17354 2005-04-15  Dan Williams  <dcbw@redhat.com>
17355
17356         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17357                 code for dbus 0.2x versions
17358
17359 2005-04-15  Dan Williams  <dcbw@redhat.com>
17360
17361         Patches from Tom Parker:
17362         - Fix memleaks
17363         - Join with worker thread rather than polling for its exit
17364
17365         Patch from Bill Moss:
17366         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17367
17368 2005-04-15  Dan Williams  <dcbw@redhat.com>
17369
17370         - Fixes to pass 'make distcheck'
17371
17372 2005-04-15  Dan Williams  <dcbw@redhat.com>
17373
17374         Initial VPN Support
17375                 - supports 'vpnc'
17376                 - reworks device IP configuration, backend files have changed and will need
17377                         to be updated for all distributions.  I will try to do what I can for
17378                         them, but I cannot test them.
17379
17380         - Move named directory to src/named-manager
17381         - Make backends directory self-contained
17382
17383 2005-04-06  Dan Williams  <dcbw@redhat.com>
17384
17385         Add debug code for socket/file descriptor leaks.  We register every socket
17386         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17387         list of sockets that we forgot to close on shutdown.  This also consolidates
17388         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17389
17390 2005-04-06  Dan Williams  <dcbw@redhat.com>
17391
17392         * dhcpcd/dhcpcd.c
17393                 - (dhcp_interface_free): fix a file descriptor leak that may have
17394                         caused network drivers to not unload due to refcounts > 0
17395
17396 2005-04-04  Dan Williams  <dcbw@redhat.com>
17397
17398         * panel-applet/NMWirelessAppletDbus.c
17399                 - (nmwa_dbus_call_nm_method): remove some commented code
17400
17401         * src/NetworkManagerAPList.[ch]
17402                 - (nm_ap_list_remove_ap_by_essid): new function
17403
17404         * src/NetworkManagerDevice.c
17405                 - (nm_device_wireless_force_use): remove access points from the ignore list
17406                         when the user forces them
17407
17408         * src/nm-dbus-device.c
17409                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17410
17411 2005-04-04  Dan Williams  <dcbw@redhat.com>
17412
17413         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17414
17415 2005-04-04  Dan Williams  <dcbw@redhat.com>
17416
17417         * src/NetworkManagerDevice.c:
17418                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17419                         of only erroring after the second consecutive scan times out.  Also
17420                         don't exit when the card requires more time than we can give it, just
17421                         log the event and continue.
17422
17423 2005-04-01  Steve Murphy  <murf@e-tools.com>
17424
17425         * configure.in: Added "rw" to ALL_LINGUAS.
17426
17427 2005-04-01  Dan Williams <dcbw@redhat.com>
17428
17429         Perform scans during device activation, if needed.  Both activation 
17430         and scans run in the same GMainContext.  Therefore, if an access point
17431         is not found by the time the device starts activation, it will not
17432         be available until after activation.  We now try to scan during
17433         activation (in nm_wa_test) every 15s so that all available access
17434         points are more likely to be found and available for the activation
17435         procedure.
17436
17437         Also change nm_wireless_link_state_handle() to only update the "best"
17438         AP if we are not forcing a device and if we are not about to change
17439         state.  This attempts to work around a race when forcing a device,
17440         where the forced AP would get cleared out too soon by the link state
17441         checking timeout in the main thread, and the activation attempt with
17442         that AP would fail.
17443
17444 2005-04-01  Dan Williams <dcbw@redhat.com>
17445
17446         * po/POTFILES.in
17447                 - Update with new translatables
17448
17449 2005-03-31  Dan Williams <dcbw@redhat.com>
17450
17451         * panel-applet/NMWirelessAppletDbus.c
17452                 - Fix device names now that hal has changed device parenting for
17453                         network devices.
17454
17455 2005-03-31  Dan Williams <dcbw@redhat.com>
17456
17457         Tighten up handling of wireless devices that don't support wireless
17458         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17459         hadn't been doing pseudo-scanning for a while either and would just
17460         spin waiting for an access point.  They are now manual devices where
17461         the user must choose the access point from the menu every time.  All
17462         "allowed" access points are listed in the applet's menu regardless
17463         of whether or not they can be seen by the card, since it can't scan
17464         anyway.
17465
17466         * src/NetworkManager.c
17467                 - (nm_wireless_link_state_handle): new function, but only update
17468                         the "best" ap for non-scanning devices when its not activating,
17469                         and when no device is being forced on the card
17470                 - (nm_link_state_monitor): split wireless link state handling out
17471                         into separate function
17472
17473         * src/NetworkManagerDevice.c
17474                 - (nm_device_copy_allowed_to_dev_list): new function
17475                 - (nm_device_new): populate non-scanning cards' AP lists with
17476                         access points from the "allowed" list
17477                 - (nm_device_new): don't start a scanning timeout for devices that
17478                         can't scan
17479                 - (nm_device_activation_schedule_finish): new parameter, should be
17480                         the AP that failed to be connected to, pass it on to the
17481                         activation finish function in NetworkManagerPolicy.c
17482                 - (nm_device_activate_wireless): don't ever try to get a new AP
17483                         for non-scanning devices, just fail.  The user must choose
17484                         a new access point manually.
17485                 - (nm_device_activate): grab the AP that failed connection and
17486                         pass it on
17487                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17488                         a link to it, user must manually choose a new one
17489                 - (nm_device_do_pseudo_scan): remove function
17490                 - (nm_device_wireless_process_scan_results): remove bits for non-
17491                         scanning cards since they never get here
17492                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17493                         and fake the scan list for test devices a bit earlier
17494
17495         * src/NetworkManagerPolicy.c
17496                 - (nm_policy_activation_finish): use the failed_ap that we get
17497                         passed rather than getting the best_ap from the card, which
17498                         may have changed since we were scheduled
17499                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17500                         update their scan list directly from the allowed list when
17501                         we get updates to the allowed list from NetworkManagerInfo
17502
17503         * src/NetworkManagerPolicy.h
17504                 - New member for failed access point in NMActivationResult
17505
17506   -------------------------------------
17507
17508         Driver Notification patch: notifies the user when their driver
17509                 sucks.  Gives them the option to ignore further insertions
17510                 of the card that has the sucky driver.
17511
17512         * NetworkManager.h
17513                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17514                         enum and replace it with NO_CARRIER_DETECT and
17515                         NO_WIRELESS_SCAN
17516
17517         * panel-applet/NMWirelessApplet.[ch]
17518                 - Merge essid.glade -> wireless-applet.glade
17519                 - Implement the "Your driver sucks" notification dialog
17520
17521         * panel-applet/NMWirelessAppletDbus.c
17522                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17523                 - Grab hardware address for each device from NM too
17524                 - Check whether the driver for each device sucks or not whenever
17525                         a new device is noticed
17526
17527         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17528                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17529
17530         * src/NetworkManager.c
17531                 - Fix a double-unref on device removal
17532
17533         * src/NetworkManagerUtils.c
17534                 - Set appropriate driver support level on a device that doesn't
17535                         support scanning or carrier detection
17536
17537         * src/nm-dbus-device.c
17538                 - New "getHWAddress" dbus method on devices
17539                 - getSupportsCarrierDetect -> getDriverSupportLevel
17540
17541 2005-03-31  Dan Williams <dcbw@redhat.com>
17542
17543         * src/NetworkManagerDevice.c
17544                 - (nm_device_wireless_scan): Fix leak of scan results in some
17545                         instances
17546
17547 2005-03-29  Dan Williams <dcbw@redhat.com>
17548
17549         * src/NetworkManager.c
17550                 - (nm_poll_and_update_wireless_link_state): make code less indented
17551
17552         Patch from Bill Moss:
17553         * src/NetworkManager.c
17554                 - (nm_device_update_link_state): Update signal strength on wireless
17555                         devices every time we update link state too.
17556
17557 2005-03-29  Dan Williams <dcbw@redhat.com>
17558
17559         * src/NetworkManagerDevice.c
17560                 - (nm_device_set_essid): Work around Orinoco cards which need
17561                         extra time after setting the ESSID
17562
17563 2005-03-29  Dan Williams <dcbw@redhat.com>
17564
17565         * src/NetworkManagerDevice.c
17566                 - Merge one more bit of Peter Jones' completion patch
17567
17568 2005-03-29  Dan Williams <dcbw@redhat.com>
17569
17570         * src/NetworkManagerDevice.c
17571                 - (nm_device_force_use): Fix possible segfault
17572
17573 2005-03-29  Dan Williams <dcbw@redhat.com>
17574
17575         * src/NetworkManagerDevice.c
17576                 - Use iw_get_ext() where we should rather than iw_set_ext()
17577
17578 2005-03-29  Dan Williams <dcbw@redhat.com>
17579
17580         * src/NetworkManagerDevice.c
17581                 - (nm_device_set_up_down): remove check for unsupported devices
17582                         that caused NM to not bring devices up when they were
17583                         added to the device list.
17584
17585 2005-03-28  Dan Williams <dcbw@redhat.com>
17586
17587         * src/NetworkManagerDevice.c
17588                 - (mdio_read): Fix two bugs that caused all devices to fail
17589                         the MII carrier detection support checks
17590
17591 2005-03-26  Dan Williams <dcbw@redhat.com>
17592
17593         * src/NetworkManagerDevice.c
17594                 - (nm_device_wireless_scan): Remove duplicated scanning code
17595
17596 2005-03-25  Dan Williams <dcbw@redhat.com>
17597
17598         * panel-applet/NMWirelessApplet.c
17599                 - (nmwa_about_cb): Add some more contributors
17600                 - (nmwa_update_state): show the applet when there's no connection
17601                 - Enable the "Stop/Resume all wireless devices" option in the
17602                         context menu
17603                 - New "no connection" icon
17604
17605         * src/NetworkManager.c
17606                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17607                         wireless is disabled or we're asleep
17608
17609         * src/NetworkManagerDHCP.c
17610                 - Remove trailing "\n" on debug messages
17611
17612         * src/NetworkManagerDbus.c
17613                 - (nm_dbus_network_status_from_data): new state "asleep"
17614
17615         * src/NetworkManagerDevice.c
17616                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17617                         latency and wait times for most operations
17618                 - (nm_device_wireless_scan): Don't scan when asleep
17619
17620         * src/NetworkManagerPolicy.c
17621                 - (nm_policy_get_best_device): return no device when asleep
17622                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17623                         for all wireless devices on update, not just active device
17624
17625         * src/NetworkManagerUtils.c
17626                 - Merge Peter Jones' "completion" patch
17627
17628         * src/nm-dbus-nm.c
17629                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17630                         we're told to disable them
17631                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17632
17633         * utils/nm-utils.h
17634                 - New variants of the warn/info/error/debug print functions that can take
17635                         variables rather than static strings
17636
17637 2005-03-24  Dan Williams <dcbw@redhat.com>
17638
17639         * src/NetworkManagerUtils.c
17640                 - (nm_get_device_driver_name): driver names are now on the parents of
17641                         "Network Interface" objects, so look for them there
17642
17643 2005-03-24  Dan Williams <dcbw@redhat.com>
17644
17645         * test/nmtest.c
17646                 - Escape some forgotten object paths before we shove them through dbus
17647
17648 2005-03-24  Dan Williams <dcbw@redhat.com>
17649
17650         * dhcpcd/dhcpcd.[ch]
17651           src/NetworkManagerDHCP.c
17652                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17653                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17654
17655         * src/NetworkManagerDbus.c
17656                 - spacing cleanups
17657
17658         * src/nm-dbus-dhcp.c
17659                 - Make the API suck less.  There is now only 1 type of each function,
17660                         ie only "getInteger" and no longer also "getIntegerv".  All types
17661                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17662                         that will never have more than 1 element.  This should simplify
17663                         things greatly.
17664
17665         * test/nm-dhcp-opt-test.c
17666                 - Make the tool not segfault
17667                 - adapt to new DHCP Options API
17668
17669 2005-03-22  Dan Williams <dcbw@redhat.com>
17670
17671         * src/NetworkManager.c
17672                 - (nm_wired_link_deactivated): actually ignore netlink events from
17673                         wireless devices.
17674
17675 2005-03-22  Dan Williams <dcbw@redhat.com>
17676
17677         * src/NetworkManager.c
17678                 - (nm_wired_link_activated): actually ignore netlink events from
17679                         wireless devices.
17680
17681 2005-03-17  Dan Williams <dcbw@redhat.com>
17682
17683         Patch from Tom Parker:
17684         * src/nm-netlink-monitor.c
17685                 - Include unistd.h
17686         * info-daemon/NetworkManagerInfoDbus.c
17687                 - (nmi_dbus_update_network_auth_method): free GConf values
17688
17689         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17690         * src/NetworkManagerDevice.c
17691                 - (nm_device_set_wireless_config): wait for successful
17692                         association longer for some cards (Atheros a/b/g)
17693
17694 2005-03-15  Ray Strode  <rstrode@redhat.com>
17695
17696         * src/NetworkManager.c:
17697         (sigterm_pipe_handler):
17698         remove bogus FIXME
17699
17700 2005-03-15  Ray Strode  <rstrode@redhat.com>
17701
17702         * src/NetworkManagerDbus.c:
17703         Fix some sign weirdness that gcc4 doesn't like,
17704         and add a header file so PPC can hopefully find
17705         SIGTRAP
17706
17707 2005-03-14  Ray Strode  <rstrode@redhat.com>
17708         
17709         Fourth (probably working) cut at porting to
17710         dbus 0.30 api and new hal. This cut adds
17711         some new logging macros to make debugging
17712         easier.
17713
17714         * dispatcher-daemon/NetworkManagerDispatcher.c:
17715         * info-daemon/NetworkmanagerInfo.c:
17716         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17717         * info-daemon/NetworkManagerInfoVPN.c:
17718         * src/NetworkManager.c:
17719         * src/NetworkManagerAP.c:
17720         * src/NetworkManagerAPList.c:
17721         * src/NetworkManagerDHCP.c:
17722         * src/NetworkManagerDbus.c:
17723         * src/NetworkManagerDevice.c:
17724         * src/NetworkManagerPolicy.c:
17725         * src/NetworkManagerSystem.c:
17726         * src/NetworkManagerUtils.c:
17727         * src/NetworkManagerWireless.c:
17728         * src/autoip.c:
17729         * src/nm-dbus-nm.c:
17730         * src/backends/NetworkManagerDebian.c:
17731         * src/backends/NetworkManagerGentoo.c:
17732         * src/backends/NetworkManagerRedHat.c:
17733         * src/backends/NetworkManagerSlackware.c:
17734         use new logging macros.
17735
17736         * dispatcher-daemon/NetworkManagerDispatcher.c:
17737         (nmd_dbus_filter): s/dbus_free/g_free/
17738
17739         * info-daemon/Makefile.am: link in utils library.
17740         * info-daemon/NetworkmanagerInfo.c: use new logging 
17741         macros.
17742         (nmi_dbus_get_network): don't assume enumerations
17743         are 32-bit.
17744         (nmi_dbus_nmi_message_handler): don't free what 
17745         doesn't belong to us.
17746
17747         * libnm_glib/libnm_glib.c:
17748         (libnm_glib_get_nm_status): 
17749         (libnm_glib_init): don't free what doesn't
17750         belong to us.
17751         (libnm_glib_dbus): strdup result, so it doesn't get
17752         lost when message is unref'd.
17753
17754         * panel-applet/NMWirelessAppletDbus.c:
17755         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17756
17757         * src/NetworkManager.c:
17758         (nm_monitor_wired_link_state): request initial status 
17759         dump of all cards when we start up, instead of relying
17760         on /sys/.../carrier.
17761         (nm_info_handler), (nm_set_up_log_handlers): 
17762         log handlers to specify what syslog priorites 
17763         the logging macros default to.
17764
17765         * src/NetworkManagerAPList.c: 
17766         (nm_ap_list_populate_from_nmi):
17767         s/dbus_free_string_array/g_strfreev/
17768
17769         * src/NetworkManagerDbus.c:
17770         (nm_dbus_get_network_object):
17771         validate d-bus message argument types.
17772         Advance message iterator after reading argument,
17773         prepend instead of append to GSList.
17774
17775         * src/NetworkManagerDevice.c:
17776         (nm_device_probe_wired_link_status):
17777         remove redundant /sys in /sys path. remove wrong
17778         contents == NULL means has carrier assumption.
17779
17780         * src/nm-netlink-monitor.c 
17781         (nm_netlink_monitor_request_status): implement
17782         function to ask kernel to dump interface link
17783         status over netlink socket.
17784
17785         * test/*.c: s/dbus_free/g_free/
17786
17787         * utils/nm-utils.h:
17788         (nm_print_backtrace): new macro to print backtrace.
17789         (nm_get_timestamp): new macro to get sub-second precise
17790         unix timestamp.
17791         (nm_info), (nm_debug), (nm_warning), (nm_error):
17792         new logging functions. nm_info just prints,
17793         nm_debug includes timestamp and function,
17794         nm_warning includes function, nm_error includes
17795         backtrace and sigtrap.
17796
17797 2005-03-11  Ray Strode  <rstrode@redhat.com>
17798
17799         Third (unfinished, partially working) cut at porting to 
17800         dbus 0.30 api and new hal.
17801
17802         * info-daemon/NetworkManagerInfoDbus.c:
17803                 don't free null arrays.
17804
17805         * panel-applet/NMWirelessAppletDbus.c: 
17806         * src/nm-dbus-device.c:
17807         * src/nm-dbus-net.c: 
17808         * src/NetworkManagerDbus.c: more 
17809         STRING -> OBJECT_PATH fun
17810         * src/NetworkManagerDevice.c:
17811         * src/NetworkManagerDevice.h:
17812         (rename nm_device_get_link_active): rename to 
17813         nm_device_has_active_link
17814         (nm_device_wireless_link_active): rename to
17815         nm_device_probe_wireless_link_state
17816         (nm_device_wired_link_active): rename to
17817         nm_device_probe_wired_link_state.  Rewrite to
17818         use carrier file since hal doesn't maintain
17819         link state anymore.
17820         (nm_device_update_link_active): rename to
17821         nm_device_update_link_state
17822         * src/NetworkManagerPolicy.c 
17823           (nm_policy_activation_finish): check for NULL
17824           MAC address.
17825
17826         * src/Makefile.am:
17827         * src/NetworkManagerMain.h: 
17828         * src/NetworkManager.c:
17829         * src/nm-netlink-monitor.c:
17830         * src/nm-netlink-monitor.h: New class to support
17831         monitoring wired ethernet link status, since HAL
17832         doesn't export that information anymore.
17833
17834 2005-03-09  Ray Strode  <rstrode@redhat.com>
17835
17836         Second (unfinished, unworking) cut at porting to 
17837         dbus 0.30 api.
17838
17839         * dispatcher-daemon/NetworkManagerDispatcher.c:
17840         * info-daemon/NetworkManagerInfoDbus.c:
17841         * panel-applet/NMWirelessAppletDbus.c:
17842         * src/NetworkManagerDbusUtils.c:
17843         * src/NetworkManagerDbusUtils.h:
17844         * src/nm-dbus-device.c:
17845         * src/nm-dbus-nm.c:
17846         * test/nmtest.c: support dbus "object path" type
17847
17848         * configure.in: 
17849         * Makefile.am:
17850         * info-daemon/Makefile.am:
17851         * libnm_glib/Makefile.am:
17852         * panel-applet/Makefile.am:
17853         * dispatcher-daemon/Makefile.am
17854         * src/Makefile.am:
17855         * test/Makefile.am:
17856         * utils/Makefile.am: 
17857         * utils/nm-utils.c: 
17858         * utils/nm-utils.h: new utils static lib
17859
17860 2005-03-07  Ray Strode  <rstrode@redhat.com>
17861
17862         * info-daemon/NetworkManagerInfoDbus.c:
17863         * libnm_glib/libnm_glib.c:
17864         * panel-applet/NMWirelessAppletDbus.c:
17865         * src/NetworkManager.c:
17866         * src/NetworkManagerDbus.c:
17867         * src/NetworkManagerDevice.c:
17868         * src/NetworkManagerUtils.c:
17869         * src/nm-dbus-device.c:
17870         * src/nm-dbus-dhcp.c:
17871         * src/nm-dbus-net.c:
17872         * src/nm-dbus-nm.c:
17873         * test/nminfotest.c:
17874         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17875
17876 2005-03-04  Dan Williams  <dcbw@redhat.com>
17877
17878         * configure.in
17879                 - Mark HEAD as 0.4
17880
17881 2005-03-04  Dan Williams  <dcbw@redhat.com>
17882
17883         Patch from Peter Jones:
17884         - Make stuff work with gcc 4.0
17885
17886 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17887
17888         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17889
17890 2005-02-27  Jim Huang  <jserv@kaffe.org>
17891
17892         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17893
17894 2005-02-27  Dan Williams  <dcbw@redhat.com>
17895
17896         Patch from Bill Moss:
17897         * panel-applet/NMWirelessAppletDbus.c
17898                 - Make sure strength for current access point is up-to-date when we
17899                         update the gui data model
17900
17901 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17902
17903         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17904
17905 2005-02-27  Dan Williams  <dcbw@redhat.com>
17906
17907         * src/backends/NetworkManagerRedHat.c
17908                 - (nm_system_init): Kill any dhclient processes lying around as well
17909                         as stopping 'nifd' if its already been started.  NetworkManager
17910                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17911
17912 2005-02-27  Dan Williams  <dcbw@redhat.com>
17913
17914         * panel-applet/NMWirelessApplet.c
17915                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17916                         dbus data model, not the GUI data model twice.
17917
17918 2005-02-27  Dan Williams  <dcbw@redhat.com>
17919
17920         * panel-applet/NMWirelessApplet.[ch]
17921           panel-applet/NMWirelessAppletDbus.[ch]
17922                 - Move to incremental network updates.  Instead of blowing away our list
17923                         of devices every time we get a signal from NetworkManager, we now
17924                         incrementally add/remove networks when NetworkManager notifies us that
17925                         a new network has appeared or disappered.  Strength updates now happen
17926                         on-the-fly for each access point as well.  There are now two copies of
17927                         data from NetworkManager: one for the dbus side, and one for the gui side.
17928                         When the dbus side data is modified, it is copied over to the gui side
17929                         so we don't have to hold the data_mutex for long periods of time (and
17930                         therefore block animation of the applet's icon).
17931                 - Clean up some memleaks too
17932
17933         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17934                 - Minor code beautification
17935
17936         * src/NetworkManagerAPList.c
17937                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17938                         completely new and whether or not an existing one's strength was updated.
17939                         Try to fix multiple access points and signal strength by using the highest
17940                         signal strength in each scan for any given ESSID.
17941
17942         * src/NetworkManagerDbus.[ch]
17943                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17944                         wireless networks; now we have only WirelessNetworkUpdate which includes
17945                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17946                 - Kill usage of DbusMessageIter
17947
17948         * src/NetworkManagerDevice.c
17949                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17950                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17951                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17952                         currently associated with from the network list.
17953                 - Update for new signals during scan, send out Appeared, Disappeared, or
17954                         StrengthChanged when necessary.
17955
17956 2005-02-25  Dan Williams  <dcbw@redhat.com>
17957
17958         * README
17959                 - Line break the README
17960
17961 2005-02-25  Dan Williams  <dcbw@redhat.com>
17962
17963         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17964                 - Remove usage of gtk_window_set_default_size()
17965
17966         * panel-applet/essid.glade
17967                 - Stick default size here
17968                 - Add in random crap that current glade wants to add in now
17969
17970 2005-02-25  Dan Williams  <dcbw@redhat.com>
17971
17972         * src/backends/NetworkManagerRedHat.c
17973                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17974                         and that we actually tell nscd to reload the hosts cache when it changes
17975
17976 2005-02-25  Dan Williams  <dcbw@redhat.com>
17977
17978         * info-daemon/NetworkManagerInfoDbus.c
17979                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17980
17981         * test/nminfotest.c
17982                 - Whack usage of DbusMessageIter
17983                 - Clean up DbusError and DbusMessage handling and freeing
17984                 - Remove unused unregister handler
17985
17986         * test/nmtest.c
17987                 - Whack usage of DbusMessageIter
17988
17989         * test/nmtestdevices.c
17990                 - Whack usage of DbusMessageIter
17991
17992 2005-02-25  Dan Williams  <dcbw@redhat.com>
17993
17994         * NetworkManager.h
17995                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17996                         signal
17997
17998 2005-02-25  Dan Williams  <dcbw@redhat.com>
17999
18000         * named/nm-named-manager.c
18001                 - Ensure that pid and watch variables for child named process get cleared out
18002                         when the child goes away.
18003
18004 2005-02-22  Dan Williams  <dcbw@redhat.com>
18005
18006         * src/NetworkManagerPolicy.c
18007                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18008                         and NULL out data->active_device so that we have to choose another one.
18009                         This may make NetworkManager keep attempting to connect to a wired network
18010                         if it fails, but if it keeps failing the wired network has more problems than
18011                         just NetworkManager.
18012
18013         * src/backends/NetworkManagerRedHat.c
18014                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18015                         is already running
18016
18017         * named/nm-named-manager.c
18018                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18019                         named so that the distro can flush whatever name service caching
18020                         daemon it uses
18021
18022 2005-02-21  Dan Williams  <dcbw@redhat.com>
18023
18024         * src/NetworkManagerDHCP.[ch]
18025                 - (nm_device_dhcp_remove_timeouts): new function
18026
18027         * src/NetworkManagerDevice.c
18028                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18029                         remove the DHCP timeouts.
18030
18031 2005-02-21  Dan Williams  <dcbw@redhat.com>
18032
18033         * panel-applet/NMWirelessApplet.[ch]
18034           panel-applet/menu-info.[ch]
18035                 - Give the panel applet some major love: menu items are no longer
18036                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18037                         This allows the applet to actually reflect theme changes correctly,
18038                         since themeing of subclassed items in GTK _sucks_.
18039
18040 2005-02-18  Dan Williams  <dcbw@redhat.com>
18041
18042         * libnm_glib/libnm_glib.[ch]
18043           test/libnm_glib_test.c
18044                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18045                         and its data, and doesn't have to free the callback data anymore
18046
18047 2005-02-18  Dan Williams  <dcbw@redhat.com>
18048
18049         * panel-applet/NMWirelessApplet.c
18050                 - Revert 2005-02-18 William Jon McCann fix for standard
18051                         copyright string until it passes 'make distcheck'.
18052                         With standard copyright string, xgettext complains
18053                         about "Non-ASCII string at ...".
18054
18055 2005-02-18  Dan Williams  <dcbw@redhat.com>
18056
18057         * panel-applet/essid.glade
18058           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18059                 - Correct spelling of "adaptor"->"adapter"
18060
18061 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18062
18063         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18064         (nmwa_about_cb): Use standard copyright string.  Update comment
18065         text to reflect that it is a notification area applet.  Remove
18066         leading newline in authors list.
18067         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18068         instead of on parent menu item activation.  Fixes #167550.
18069
18070 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18071
18072         * panel-applet/essid.glade: Capitalize items as per HIG.
18073           Fixes #167632
18074
18075 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18076
18077         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18078         files for GTK 2.4 or lower, since now public in GTK 2.6.
18079
18080         * panel-applet/essid.glade: Don't specify window size.
18081         
18082 2005-02-17  Dan Williams  <dcbw@redhat.com>
18083
18084         Caught by Bill Moss:
18085         * dhcpcd/client.c
18086                 - Time remaining for DHCP transaction calculation was incorrectly
18087                         inside a #ifdef DEBUG
18088
18089 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18090
18091         * configure.in: Added fr (French) to ALL_LINGUAS.
18092
18093 2005-02-14  Dan Williams  <dcbw@redhat.com>
18094
18095         * src/NetworkManagerDHCP.c
18096                 - (set_domain_searches): Fix free of invalid pointer
18097
18098 2005-02-14  Dan Williams  <dcbw@redhat.com>
18099
18100         Patch from Peter Jones:
18101         * dhcpcd/client.c
18102                 - Ensure we return RET_DHCP_CEASED everywhere we should
18103         * dhcpcd/udpipgen.c
18104                 - Use faster TOS for IP packets
18105                 - Don't set ip_id since we're UDP
18106
18107         Patch from Tomislav Vujec:
18108         * src/nm-dbus-dhcp.c
18109           test/nm-dhcp-opt-test.c
18110                 - Clean up warnings to enable cvs tree compilation.
18111
18112 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18113
18114         * configure.in
18115           po/hr.po
18116                 - Add the Croatian locale.
18117
18118 2005-02-14  Colin Walters  <walters@verbum.org>
18119
18120         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18121         list of domains to search.
18122         
18123         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18124
18125 2005-02-13  Dan Williams  <dcbw@redhat.com>
18126
18127         * dhcpcd/client.c
18128                 - Debug output cleanups of DHCP option printing and parsing.
18129
18130 2005-02-13  Dan Williams  <dcbw@redhat.com>
18131
18132         Patch from Dan Reed:  DHCP options D-BUS API
18133                 Exposes the DHCP options that a device receives to clients over D-BUS.
18134
18135         * configure.in
18136                 - A few cleanups
18137
18138         * dhcpcd/client.h
18139                 - Correct names, option length, and types for DHCP options
18140
18141         * dhcpcd/dhcpcd.[ch]
18142                 - Clarify function names that access DHCP options & data
18143
18144         * src/NetworkManagerDHCP.c
18145                 - Use new DHCP data access functions
18146
18147         * src/NetworkManagerDbus.c
18148                 - Message handler for DHCP functions
18149
18150         * src/nm-dbus-dhcp.[ch] (new)
18151                 - DHCP dbus methods
18152
18153         * test/nm-dhcp-opt-test.c
18154                 - Test DHCP D-BUS API and return all present DHCP options
18155
18156 2005-02-12  Dan Williams  <dcbw@redhat.com>
18157
18158         * test/Makefile.am
18159           test/nmclienttest.c
18160           test/nmtest.c
18161                 - Move nmclienttest.c -> nmtest.c
18162
18163 2005-02-12  Dan Williams  <dcbw@redhat.com>
18164
18165         * dhcpcd/buildmsg.c
18166                 - Pad DHCP packets until they are at least 300 bytes in size.
18167
18168 2005-02-11  Dan Williams  <dcbw@redhat.com>
18169
18170         * dhcpcd/client.c
18171                 - (dhcp_init): only print out client ID and class ID if they are specified
18172
18173         * src/NetworkManagerDbus.[ch]
18174           src/nm-dbus-nm.[ch]
18175           src/nm-dbus-device.[ch]
18176           src/nm-dbus-net.[ch]
18177                 - Move NM, Device, and Net functions to separate files and use the
18178                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18179                         method dispatching
18180
18181         * src/NetworkManagerDbusUtils.c
18182                 - Add new validate_method called before each dispatch (if present)
18183                         that can validate the method call
18184
18185         * src/NetworkManagerWireless.c
18186                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18187                         levels never to be evaluated
18188
18189         Patch from j@bootlab.org
18190         * src/NetworkManagerDevice.c
18191                 - Add typedef for "u64"
18192
18193         * src/backends/NetworkManagerDebian.c
18194                 - Copy in Dave Woodhouse's fixes for IPv6
18195
18196 2005-02-11  Dan Williams  <dcbw@redhat.com>
18197
18198         Patch from Dave Woodhouse for IPv6:
18199         * src/NetworkManagerUtils.c
18200                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18201                         and multicast addresses
18202
18203         * src/NetworkManagerDevice.c
18204                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18205                         after bringing up a card.
18206
18207 2005-02-10  Dan Williams  <dcbw@redhat.com>
18208
18209         Patch from Dave Woodhouse:
18210         * src/NetworkManagerSystem.h
18211           src/backends/NetworkManagerDebian.c
18212           src/backends/NetworkManagerGentoo.c
18213           src/backends/NetworkManagerSlackware.c
18214                 - New nm_system_device_add_ip6_link_address() function to add link-local
18215                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18216
18217         * src/backends/NetworkManagerRedHat.c
18218                 - (nm_system_device_add_ip6_link_address): implement
18219                 - (nm_system_device_flush_addresses): revert to previous behavior of
18220                         flushing all addresses
18221
18222 2005-02-10  Dan Williams  <dcbw@redhat.com>
18223
18224         Patch from Tom Parker:
18225         * src/NetworkManagerDevice.c
18226                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18227                         mii.h headers are broken, and instead use our own typedefs
18228
18229 2005-02-10  Dan Williams  <dcbw@redhat.com>
18230
18231         * dhcpcd/buildmsg.c
18232                 - (fill_host_and_class_id): only fill in client and class IDs if
18233                         they are set by callers.
18234
18235         * dhcpcd/client.c
18236                 - (class_id_setup): don't autogenerate a class ID, only use one
18237                         we're given, if any.
18238                 - (client_id_setup): don't autogenerate a client ID, only use one
18239                         we're given, if any.
18240
18241         * dhcpcd/dhcpcd.c
18242                 - (dhcp_interface_init): ensure that client options are correctly
18243                         NULL terminated
18244
18245         * src/NetworkManagerDHCP.c
18246                 - (nm_device_dhcp_request): pass hostname to dhcp library
18247
18248 2005-02-10  Dan Williams  <dcbw@redhat.com>
18249
18250         * dhcpcd/client.c
18251                 - #rh147661# Don't send kernel version in DHCP requests
18252
18253         * src/NetworkManagerSystem.h
18254           src/backends/NetworkManagerDebian.c
18255           src/backends/NetworkManagerGentoo.c
18256           src/backends/NetworkManagerRedHat.c
18257           src/backends/NetworkManagerSlackware.c
18258                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18259                         functions, they are no longer used anyway
18260
18261         * src/backends/NetworkManagerRedHat.c
18262                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18263                         addresses in an attempt to keep IPv6 local-scope addresses around
18264
18265 2005-02-10  Dan Williams  <dcbw@redhat.com>
18266
18267         * src/NetworkManager.c
18268                 - (nm_create_device_and_add_to_list): change the add message slightly
18269
18270         * src/NetworkManagerUtils.c
18271                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18272                         Return driver name to calling function
18273                 - (nm_get_driver_support_level): print out the driver a device is using
18274                         during the support check
18275
18276         Patch from Dave Woodhouse:
18277         * dhcpcd/udpipgen.c
18278                 - (in_cksum): copy last byte of odd-sized packets into a
18279                         'u_short' rather than a 'u_char', should fix wrong checksums
18280                         on big-endian platforms
18281
18282 2005-02-09  Dan Williams  <dcbw@redhat.com>
18283
18284         * Clean up usage of GSList objects and looping through their members
18285         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18286                 now.
18287         * Fix problem where even if scanning was turned off, card would still
18288                 cycle through frequencies.
18289
18290 2005-02-08  Dan Williams  <dcbw@redhat.com>
18291
18292         * panel-applet/NMWirelessApplet.c
18293                 - Fix for gtk 2.4
18294
18295 2005-02-08  Dan Williams  <dcbw@redhat.com>
18296
18297         Patch from Bill Moss
18298         * panel-applet/NMWirelessApplet.c
18299                 - Restore correct ESSID in tooltips
18300
18301 2005-02-07  Dan Williams  <dcbw@redhat.com>
18302
18303         * panel-applet/NMWirelessApplet.[ch]
18304                 - Add a context menu that contains:
18305                         Pause/Resume Wireless Scanning
18306                         Stop/Start All Wireless Devices
18307                         About...
18308                 - Grab active device strength off active device,
18309                         not its network
18310
18311         * panel-applet/NMWirelessAppletDbus.[ch]
18312                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18313                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18314                 - Update active device strength every 2 seconds, not every 1 second
18315
18316         * panel-applet/menu-info.c
18317                 - Only disable wired devices in the menu when they support carrier detection,
18318                         and don't currently have a link.  Non-carrier-detect devices will always
18319                         remain choosable
18320
18321         * src/Makefile.am
18322           src/NetworkManagerDbusUtils.[ch]
18323                 - Add new new dbus utils sources
18324
18325         * src/NetworkManager.c
18326                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18327                         with the boolean parameter
18328                 - Set scanning_enabled & wireless_enabled to TRUE
18329
18330         * src/NetworkManagerDbus.c
18331                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18332                 - Implement scanning & wireless enable/disable calls
18333                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18334
18335         * src/NetworkManagerDevice.c
18336                 - New link detection stuff again...
18337                         o  Create device's mainloop earlier (but don't run it earlier)
18338                         o  Hook up new carrier-detect support stuff
18339                         o  Add in the ethtool & mii support detection code
18340                 - Don't scan if scanning is disabled
18341
18342         * src/NetworkManagerPolicy.c
18343                 - Never automatically choose a device that doesn't support carrier detection
18344                 - Don't automatically choose a wireless device if wireless is disabled
18345
18346 2005-02-07  Dan Williams  <dcbw@redhat.com>
18347
18348         * libnm_glib/libnm_glib.c
18349                 - Small cleanup in element list iteration
18350
18351 2005-02-07  Dan Williams  <dcbw@redhat.com>
18352
18353         * src/NetworkManagerWireless.c
18354                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18355                         to be in line with the WEXT quality specification
18356
18357 2005-02-02  Dan Williams  <dcbw@redhat.com>
18358
18359         Patch from Nathan Fredrickson <nathan@silverorange.com>
18360         * Fix up compile for deprecation of libgnomeui
18361                 - Switch to <glib/gi18n.h> from <libintl.h>
18362                 - Remove <libgnomeui/libgnomeui.h> includes
18363                 - Use gtk_window_set_default_icon_from_file() rather than
18364                         gnome_window_set_default_icon_from_file()
18365
18366         * named/nm-named-manager.c
18367                 - (generate_named_conf): Fix return-nothing in non-void
18368                         function
18369
18370 2005-02-02  Dan Williams  <dcbw@redhat.com>
18371
18372         * Clean up unused variables and the like
18373
18374 2005-02-02  Dan Williams  <dcbw@redhat.com>
18375
18376         * src/NetworkManagerAPList.c
18377                 - (nm_ap_list_merge_scanned_ap): merge strength too
18378
18379         * src/NetworkManagerUtils.c
18380                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18381                         of locking issues by printing out prettier information than g_mutex_lock
18382                 - Print out names of mutexes registered with nm_register_mutex_desc()
18383                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18384                         us to seemingly block here for too long
18385
18386         * src/NetworkManager.c
18387           src/NetworkManagerAPList.c
18388           src/NetworkManagerDevice.c
18389                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18390                         so we get better debug information printed
18391
18392         * src/NetworkManagerDbus.c
18393                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18394                         since it sometimes has locking side effects
18395                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18396                         from 10s
18397                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18398                         we don't need a switch.  This gets called often enough that we can't block
18399                         until the scan mutex is acquired, because we'll block on device activation
18400                         and a few other things, which hangs main thread for too long.
18401
18402         * src/NetworkManagerPolicy.c
18403                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18404                         nm_device_need_ap_switch() will be called               
18405
18406 2005-02-02  Dan Williams  <dcbw@redhat.com>
18407
18408         * panel-applet/NMWirelessApplet.c
18409                 - Display name of wireless network we are connecting to or connected to
18410                         in the tooltip of the applet
18411
18412 2005-02-02  Dan Williams  <dcbw@redhat.com>
18413
18414         * src/NetworkManagerDHCP.c
18415                 - Hopefully fix double-default-route problem by cleaning up the default
18416                         route added by DHCP code right before the DHCP transaction begins
18417
18418 2005-02-02  Dan Williams  <dcbw@redhat.com>
18419
18420         * named/nm-named-manager.c
18421                 - Write out valid resolv.conf when we exit
18422
18423 2005-02-01  Dan Williams  <dcbw@redhat.com>
18424
18425         Patch from Colin Walters:
18426         * named/nm-named-manager.c
18427                 - Make multi-domain search options work
18428
18429 2005-01-31  Dan Williams  <dcbw@redhat.com>
18430
18431         * info-daemon/NetworkManagerInfoDbus.c
18432                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18433
18434         * src/NetworkManagerDevice.c
18435                 - (nm_device_new): Don't store the entire range struct, use only what we need
18436                         (which is currently avg_quality, max_quality, and frequencies).  Also
18437                         zero device structure when we've free'd it to maybe expose errors down
18438                         the line.
18439                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18440                         quality data from the card since quality will be useless during a scan.
18441                         Call updated wireless qual-to-percent function with values stored in
18442                         nm_device_new() earlier.
18443                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18444                         nm_device_get_bad_crypt_packets())
18445                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18446                         nm_device_new()
18447                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18448                         list if available.  Problem was this: when the WEP key is wrong, NM will
18449                         try OS then SK modes, and then get stuck in SK mode after that.  This
18450                         should reset it.
18451                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18452                         function
18453
18454         * src/NetworkManagerWireless.c
18455                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18456                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18457                         if that's all present, otherwise fall back to signal-to-noise ratios.
18458
18459 2005-01-29  Dan Williams  <dcbw@redhat.com>
18460
18461         * initscript/RedHat/NetworkManager
18462                 - Don't spit out sysctl stuff to console
18463
18464         * libnm_glib/libnm_glib.c
18465                 - (libnm_glib_init): call dbus_g_thread_init()
18466
18467         * panel-applet/NMWirelessAppletDbus.c
18468                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18469
18470         * src/NetworkManager.c
18471                 - (main): call dbus_g_thread_init()
18472
18473         * src/NetworkManagerAPList.c
18474                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18475                         so we can actually see what's there in a normal syslog
18476
18477         * src/NetworkManagerDevice.c
18478                 - (nm_device_activate_wireless): print out the "waiting for access point"
18479                         message only once, then say what access point we actually got after
18480                         the wait.
18481                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18482                         function, wait until the scan is done.  Scans may change the ESSID of
18483                         the card, making this function think we need to switch access points
18484                 - (nm_device_wireless_process_scan_results): for artificial access points
18485                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18486                         prevents collisions with the scanning code, which may change the card's
18487                         ESSID and cause the access point to get dropped from the device's AP
18488                         list.  Also increase the keep-around time to 2m from 60s since the max
18489                         scan interval could be 60s in some cases.
18490
18491         * src/NetworkManagerPolicy.c
18492                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18493                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18494                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18495                         between NM and NMI.
18496
18497 2005-01-27  Dan Williams  <dcbw@redhat.com>
18498
18499         * info-daemon/NetworkManagerInfoDbus.c
18500                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18501                         GConf, make a minimal entry for it (essid & timestamp)
18502
18503         * src/NetworkManagerAPList.c
18504                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18505                         NetworkManagerInfo isn't running
18506
18507         * src/NetworkManagerDbus.[ch]
18508                 - (nm_dbus_nmi_is_running): new function
18509
18510         * src/NetworkManagerDevice.c
18511                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18512                         address to garbage.
18513
18514         * src/NetworkManagerPolicy.c
18515                 - (nm_policy_activation_finish): On successful activation, make sure
18516                         the "best" AP has a MAC address, and don't tell NMI to add the
18517                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18518                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18519                         access point after refreshing our allowed list if it doesn't already
18520                         have a "best" access point.
18521
18522 2005-01-25  Dan Williams  <dcbw@redhat.com>
18523
18524         * panel-applet/NMWirelessAppletDbus.c
18525                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18526                         so we check for NM_DBUS_SERVICE rather than not for it
18527
18528         * libnm_glib/libnm_glib.c
18529                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18530                         ServiceOwnerChanged signal
18531
18532 2005-01-25  Dan Williams  <dcbw@redhat.com>
18533
18534         * configure.in
18535                 - Check DBUS version in configure, and set the C macros
18536                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18537
18538         * info-daemon/NetworkManagerInfoDbus.c
18539                 - Remove #if 0-d section of code that quit NMI if NM went away.
18540
18541         * panel-applet/NMWirelessAppletDbus.c
18542                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18543
18544         * src/NetworkManager.c
18545           src/NetworkManagerMain.h
18546           src/NetworkManagerDbus.c
18547                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18548                 - Make updating of our Allowed Wireless Network lists from NMI
18549                         an idle function in the main thread now, with a high priority.
18550
18551 2005-01-24  Dan Williams  <dcbw@redhat.com>
18552
18553         * panel-applet/gtkcellview.[ch]
18554           panel-applet/menu-info.c
18555                 - Fix GTK version checks to be <= rather than <
18556
18557         * test/Makefile.am
18558                 - Include the libtool archive of libnm_glib rather than
18559                         trying to pull in the .so
18560
18561 2005-01-24  Dan Williams  <dcbw@redhat.com>
18562
18563         * src/NetworkManagerDevice.c
18564           src/NetworkManagerDevicePrivate.h
18565                 - Block nm_device_new() until our device's worker thread has had a
18566                         chance to start up.  Fixes a race between main thread and worker
18567                         thread starting that caused activation requests to get lost.
18568
18569 2005-01-24  Dan Williams  <dcbw@redhat.com>
18570
18571         * initscript/RedHat/NetworkManager
18572                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18573                         to add the NM startup script at priority 50, which was
18574                         way too early
18575
18576 2005-01-24  Colin Walters  <walters@redhat.com>
18577
18578         * named/named.conf: Use any port for query source instead of
18579         restricting to port 53.
18580
18581 2005-01-24  Dan Williams  <dcbw@redhat.com>
18582
18583         * initscript/RedHat/NetworkManager
18584                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18585                         to add the NM startup script at priority 50, which was
18586                         way too early
18587
18588 2005-01-24  Dan Williams  <dcbw@redhat.com>
18589
18590         Patch from Tom Parker <palfrey@tevp.net>
18591         * Fix up compile warnings & errors in the wireless applet
18592
18593 2005-01-24  Dan Williams  <dcbw@redhat.com>
18594
18595         * panel-applet/NMWirelessApplet.c
18596                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18597
18598 2005-01-24  Dan Williams  <dcbw@redhat.com>
18599
18600         * panel-applet/gtkcellview.[ch]
18601                 - Only compile these files for GTK 2.4 or lower, since 
18602                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18603                         when choosing "Other Wireless Networks" from the panel
18604                         applet menu
18605
18606 2005-01-21  Dan Williams  <dcbw@redhat.com>
18607
18608         * src/NetworkManager.c
18609                 - Daemonize earlier so that glib doesn't get confused (?)
18610
18611 2005-01-21  Dan Williams  <dcbw@redhat.com>
18612
18613         * panel-applet/NMWirelessApplet.[ch]
18614           panel-applet/NMWirelessAppletDbus.c
18615           panel-applet/menu-info.c
18616           src/NetworkManagerDevice.c
18617                 - Disable wired devices in the menu when they have no link.
18618
18619 2005-01-21  Dan Williams  <dcbw@redhat.com>
18620
18621         * Cache last-known-good wireless authentication method in
18622                 NetworkManagerInfo, and use that method first during
18623                 wireless device activation.  Should speed up devices that
18624                 need Shared Key authentication method since Open System is
18625                 now the default.
18626
18627         * Remove the hack to not do full activation on wired connections
18628                 that are active when we launch, it causes too many problems
18629                 with name resolution and was a hack in the first place.
18630
18631         * Re-work wireless device activation again somewhat to have a
18632                 clearer chain of events and to use last-known-good
18633                 authentication method of the access point.  Also provide
18634                 better status throughout activation to ensure the applet
18635                 can tell the user exactly what's going on.
18636
18637         * Remove the "find wireless network" code and now simply attempt
18638                 to activate with that access point.  This reduces the delay
18639                 between selecting "Other wireless Network" and actually
18640                 connecting to that network.
18641
18642         * Correctly stop the device's worker thread when its removed.
18643
18644 2005-01-21  Dan Williams  <dcbw@redhat.com>
18645
18646         * dhcpcd/client.c
18647                 - Clean up some of the debug messages
18648
18649 2005-01-21  Dan Williams  <dcbw@redhat.com>
18650
18651         * Add new icons, more frames of animation
18652         * Remove some hacks to get the panel applet to display correct
18653                 status, an NM update will soon follow that will fix the
18654                 real issue.
18655
18656 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18657
18658         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18659         the first include for working i18n. Also, don't include it in .h files
18660         * panel-applet/NMWirelessApplet.h: Same
18661         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18662         * panel-applet/menu-info.c: Same
18663
18664 2005-01-18  Dan Williams <dcbw@redhat.com>
18665
18666         * dhcpcd/client.c
18667                 - Remove some debug messages
18668                 - Wrap others in #ifdef DEBUG/#endif
18669
18670         * src/NetworkManager.c
18671                 - Remove some debug messages
18672                 - Clarify some debug messages
18673                 - Remove code related to old single-thread wireless scanning
18674
18675         * src/NetworkManagerAP.[ch]
18676                 - New AP property "last_seen" to track how recently an AP was
18677                         found in a scan
18678                 - Start using 'const' more in function arguments
18679
18680         * src/NetworkManagerAPList.[ch]
18681                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18682                         of an AP found in an AP list from a source AP, or if not found
18683                         in the list add the source AP
18684                 - (nm_ap_list_combine): remove, no longer needed
18685
18686         * src/NetworkManagerDevice.c
18687                 - Each device now has a "worker" thread from start to end of its life.
18688                         Scanning for wireless devices now happens in that thread,
18689                         not in a single "wireless scanning thread" for all devices as
18690                         previously.  Activation consists of adding an idle handler to the
18691                         thread's main loop/context, which gets run at the next available
18692                         opportunity.
18693                 - Wireless scanning is also simplified, there is now only one list of
18694                         access points per wireless device, and APs older than 60s are
18695                         removed from the list.  Previously, we kept results for the last
18696                         3 scans and merged whole lists, which was complicated.
18697                 - Cleaned up activation debug messages.
18698                 - Wireless activation and access-point search routines now use Open System
18699                         authentication before trying Shared Key.
18700                 - Removed some code in nm_device_update_best_ap() that could cause cards
18701                         to loose their link to the access point.
18702                 - Scanning now uses a backoff algorithm, where the inverval becomes
18703                         progressively longer between scans when the list of scanned access
18704                         points doesn't change.  A change will revert to the shortest scan
18705                         interval (20s).
18706
18707         * src/NetworkManagerWireless.[ch]
18708                 - Remove code related to old single-thread wireless scanning
18709
18710 2005-01-18  Colin Walters  <walters@redhat.com>
18711
18712         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18713         of older nameservers.
18714
18715 2005-01-18  Colin Walters  <walters@redhat.com>
18716
18717         * named/nm-named-manager.c (generate_named_conf): Many fixes
18718         to config file generation.
18719         (safer_kill): Remove, was too much trouble for little gain.
18720         (nm_named_manager_start): Run named as NM_NAMED_USER.
18721
18722         * configure.in: Add option --with-named-user.
18723
18724 2005-01-14  Colin Walters  <walters@redhat.com>
18725
18726         Patch from ed@catmur.co.uk (Ed Catmur)
18727
18728         * named/nm-named-manager.c: Add "context" property.
18729         Use it to add child watch source in specific GMainContext.
18730
18731         * src/NetworkManager.c (nm_data_new): Initialize
18732         named with correct main context.  Start named only
18733         after forking.
18734
18735 2005-01-14  Colin Walters  <walters@redhat.com>
18736
18737         * named/nm-named-manager.c (generate_named_conf): Write config
18738         and pid files into NM_NAMED_DATA_DIR; this allows things to
18739         work better with FC3 named SELinux policy.  Also fix up silly
18740         format error.
18741
18742         * configure.in: Add --with-named-dir option.
18743
18744 2005-01-14  Colin Walters  <walters@redhat.com>
18745
18746         * configure.in: Make named support require passing --with-named.
18747
18748         * named/nm-named-manager.c: Support writing resolv.conf directly
18749         without running named.
18750
18751 2005-01-13  Dan Williams <dcbw@redhat.com>
18752
18753         * named/nm-named-manager.c
18754                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18755
18756         * src/NetworkManagerDevice.c
18757                 - Rework wireless link detection code to be more reliable
18758
18759 2005-01-12  Dan Williams <dcbw@redhat.com>
18760
18761         * initscripts/RedHat/NetworkManager
18762                 - Change initial level to "-" rather than "345" so that
18763                         we don't activate ourselves by default on install
18764
18765 2005-01-12  Dan Williams <dcbw@redhat.com>
18766
18767         * libnm_glib/
18768                 - Client library for applications using glib
18769
18770         * configure.in
18771           various Makefiles
18772                 - Split NM_CFLAGS and NM_LIBS into separate variables
18773                         like DBUS_*, HAL_* and GLIB_*
18774
18775         * src/NetworkManager.c
18776           src/NetworkManagerMain.h
18777                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18778                         broadcast a status changed signal over DBUS from the main thread.
18779                         Still unused anywhere for the moment.
18780
18781         Patch from j@bootlab.org
18782         * panel_applet/NMWirelessAppletDbus.c
18783           src/NetworkManagerDbus.c
18784                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18785                         for the "getMode" method call
18786
18787 2005-01-10  Dan Williams <dcbw@redhat.com>
18788
18789         * src/NetworkManagerDevice.c
18790                 - Minor fixups & corrections to "auto" frequency mode, make it
18791                         less chatty with syslog
18792
18793 2005-01-10  Dan Williams <dcbw@redhat.com>
18794
18795         * src/NetworkManagerDevice.c
18796                 - Implement "auto" frequency/channel support, since cards like Atheros
18797                         can't use other frequencies at all when you've told it to use a
18798                         specific one, even for scanning.
18799                 - Grab the scan mutex around places where we can't tolerate wireless
18800                         settings changing underneath us, like nm_device_wireless_network_exists()
18801                         and nm_device_activate_wireless()
18802
18803         * src/NetworkManagerWireless.c
18804                 - Back scan interval off to 20s instead of 14s
18805
18806 2005-01-09  Dan Williams <dcbw@redhat.com>
18807
18808         * src/NetworkManagerDevice.c
18809                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18810                         already set.  Stops some drivers like Atmel from continually
18811                         reloading the firmware, which they do upon every configuration
18812                         change.
18813
18814 2005-01-09  Dan Williams <dcbw@redhat.com>
18815
18816         * dhcpcd/client.c
18817                 - Use correct timeout value
18818
18819         * info-daemon/NetworkManagerInfoDbus.c
18820           src/NetworkManagerDbus.c
18821                 - Consolidate communication between NM and NMI by doing only 1 dbus
18822                         method call to get Wireless Network info from NMI instead of 6
18823
18824         * src/NetworkManager.c
18825                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18826                         when we didn't have an AP to use, we'd wait for one forever without
18827                         quitting
18828
18829         * src/NetworkManagerDevice.c
18830                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18831                         activation, dhcp might not have started yet but we don't quit activation
18832                         before starting it, so the quit signal gets lost
18833
18834 2005-01-07  Dan Williams <dcbw@redhat.com>
18835
18836         * dhcpcd/client.c
18837                 - Rework the DHCP client code to be much less chatty when
18838                         it receives non-DHCP UDP packets during the DHCP run
18839                         (reported by and preliminary patches from Bill Moss)
18840
18841         * Move wireless scanning to a separate thread.  This thread forwards the
18842                 results to the main thread when done where they are integrated into
18843                 the device's access point lists.  This keeps the main thread (which
18844                 does all the DBUS communication) from being blocked for long periods
18845                 of time by wireless scanning.
18846
18847         * Make state modification an idle routine in the main loop, and trigger
18848                 state changes rather than polling for them.
18849
18850         * src/backends/NetworkManagerGentoo.c
18851                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18852
18853         * src/NetworkManagerDevice.c
18854                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18855                         router advertisements, causing problems and infinite loop
18856                         during "best" device determination due to link going up/down
18857                         (reported by Bill Moss)
18858
18859         Apply patch from Peter Jones
18860         * src/NetworkManagerDevice.c
18861                 - Shortcut for link-checking for ipw2x00 cards
18862                 - Split out association check into separate routine
18863
18864 2004-01-05  Colin Walters  <walters@redhat.com>
18865
18866         * named/named.conf: Add PID_FILE.
18867
18868         * named/nm-named-manager.c: Always generate a pid
18869         file, since older BIND versions don't support
18870         "pid-file none".
18871
18872 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18873
18874         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18875
18876 2004-12-22  Dan Williams <dcbw@redhat.com>
18877
18878         * src/NetworkManagerDevice.c
18879                 - Silently fail when setting bitrate doesn't work
18880
18881
18882         Patches from j@bootlab.org:
18883         * src/backends/NetworkManagerDebian
18884                 - Update backend to match functionality in RedHat backend
18885         * src/NetworkManagerDevice.c
18886                 - Take down then bring up wired devices after connection so
18887                 they send out ipv6 router advertisements
18888
18889 2004-12-21  Colin Walters  <walters@verbum.org>
18890
18891         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18892         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18893
18894 2004-12-21  Colin Walters  <walters@redhat.com>
18895
18896         * configure.in: Correct named detection.
18897
18898 2004-12-21  Colin Walters  <walters@redhat.com>
18899
18900         * src/NetworkManager.c (nm_data_new): Initialize named.
18901         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18902         the mainloop when these signals are received.
18903         (nm_data_free): Unref named.
18904         (sigterm_handler, sigterm_pipe_handler): New functions for
18905         exiting mainloop.
18906         
18907         * src/NetworkManagerMain.h (NMData): Add signal handling and
18908         nameserver bits.
18909
18910         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18911         unref.
18912
18913         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18914         set nameservers from DHCP response data.
18915         (set_domain_search): Set domain search from DHCP response.
18916         (nm_device_dhcp_configure): Invoke them.
18917
18918         * src/NetworkManagerSystem.c
18919         (nm_system_device_update_resolv_conf): Delete.  Deleting
18920         code is totally sweet.
18921
18922         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18923
18924         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18925         implements an object which controls a nameserver.  Currently
18926         uses bind 9.
18927
18928         * configure.in: Check for named.
18929
18930         * Makefile.am (SUBDIRS): Add named dir.
18931
18932         * named/named.conf: New template config file.
18933
18934 2004-12-20  Colin Walters  <walters@redhat.com>
18935
18936         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18937         instead of '='.
18938
18939 2004-12-17  Dan Williams  <dcbw@redhat.com>
18940
18941         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18942                 link-local addresses instead of doing DHCP.
18943
18944         * In the panel applet, there's a new "Create new Wireless Network..." item
18945
18946         * The panel applet also sticks around now even if NetworkManager dies, but
18947                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18948                 a bug, I'll fix that later.
18949
18950         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18951                 lookups after a switch rather than actually doing them.
18952
18953         * Clean up some of those warnings in nm_ap_list_* functions
18954
18955         * Delay between scans changed to 15s instead of 10s
18956
18957 2004-12-15  Dan Williams  <dcbw@redhat.com>
18958
18959         Patch from Tom Parker
18960         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18961                 address
18962
18963         * Longer pause after setting ESSID on cards that support a larger number
18964                 of channels to give the card time to find the right channel
18965
18966         * Add system hook to restart mDNSResponder (or whatever the local implementation
18967                 of Multicast DNS is) when we activate interfaces
18968
18969 2004-12-15  Dan Williams  <dcbw@redhat.com>
18970
18971         * Rework the DHCP code again to revert to sending full ethernet frames
18972                 rather then relying on the kernel to do the right thing with our
18973                 packets.
18974
18975 2004-12-06  Dan Williams  <dcbw@redhat.com>
18976
18977         * dhcpcd/client.c
18978                 - Fix some minor errors in dhcp_handle_transaction() that caused
18979                         unexpected early timeouts of DHCP transactions
18980
18981         * dhcpcd/client.h
18982                 - DHCP retransmit time from 4s -> 5s
18983
18984 2004-12-05  Dan Williams  <dcbw@redhat.com>
18985
18986         * Major rework of the DHCP code, taking some cues from pump.  We don't
18987                 write raw Ethernet packets anymore, which simplifies the code quite
18988                 a bit.  The new code should be more robust, not hang in recvfrom()
18989                 as much, and generally work better.  This also means that we need
18990                 to force HAL/dbus to use a created GMainContext rather than the
18991                 default context, since having the DHCP renew/rebind thread using
18992                 its own GMainContext seemed to give dbus a fit.  There is also more
18993                 debugging information printed from the DHCP loop to help with future
18994                 problems.
18995
18996         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18997                 assume that the default gateway should be the DHCP server.
18998
18999         Patch from Matthew Schick <matt oss-institute org>
19000         * src/backends/NetworkManagerGentoo.c
19001                 - Fix compilation error due to missing "ip4_broadcast"
19002
19003 2004-12-03  Dan Williams  <dcbw@redhat.com>
19004
19005         * initscript/Makefile.am
19006         * initscript/Debian/NetworkManager
19007         * initscript/Gentoo/NetworkManager
19008         * initscript/RedHat/NetworkManager
19009         * initscript/NMLaunchHelper.c
19010                 - Remove NMLaunchHelper, if you need to wait until the network
19011                         comes up, use the dead code from CVS.
19012
19013 2004-12-01  Colin Walters  <walters@redhat.com>
19014         
19015         * configure.in: Suck in gcc warnings code from Rhythmbox,
19016         but use fewer default flags, and in particular add -Wno-unused,
19017         since the codebase has a lot of unused variables.
19018
19019         * test/nmtestdevices.c (create_device): 
19020         * test/nminfotest.c (get_network_string_property) 
19021         (get_networks_of_type): 
19022         * test/nmclienttest.c (main): 
19023         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19024         * initscript/NMLaunchHelper.c (get_nm_status): 
19025         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19026         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19027         Fix declarations after statements.
19028
19029 2004-12-01  Colin Walters  <walters@redhat.com>
19030
19031         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19032         (nmi_dbus_get_vpn_userpass): New method.
19033         (nmi_dbus_nmi_message_handler): Invoke it.
19034
19035         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19036
19037         * info-daemon/NetworkManagerInfoVPN.h,
19038         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19039         to requests for VPN passwords.
19040
19041         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19042
19043 2004-12-01  Colin Walters  <walters@redhat.com>
19044
19045         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19046         includes.
19047
19048 2004-12-01  Colin Walters  <walters@redhat.com>
19049
19050         * panel-applet/NMWirelessAppletDbus.c
19051         (nmwa_dbus_update_active_device_strength): Fix missing
19052         return value.
19053
19054 2004-12-01  Colin Walters  <walters@redhat.com>
19055
19056         * panel-applet/NMWirelessApplet.c: Add missing include.
19057
19058 2004-12-01  Colin Walters  <walters@redhat.com>
19059
19060         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19061         Remove useless CLAMP (); the value is unsigned, and the case tests
19062         qual->qual < 100, so the value must always be between 0 and 100.
19063
19064 2004-12-01  Colin Walters  <walters@redhat.com>
19065
19066         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19067
19068 2004-11-22  Colin Walters  <walters@verbum.org>
19069
19070         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19071         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19072         which is essentially a noop since nscd caches hosts on disk too.
19073         
19074 2004-11-22  Colin Walters  <walters@redhat.com>
19075
19076         * src/Makefile.am (NetworkManager_SOURCES): Add
19077         NetworkManagerDevicePrivate.h.
19078
19079 2004-11-22  Dan Williams <dcbw@redhat.com>
19080
19081         * src/NetworkManagerDevicePrivate.h
19082                 - Split out the NMDevice struct to a different file so that stuff like
19083                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19084
19085         * dhcpcd/client.c
19086                 - fprintf->syslog
19087                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19088                         need to cancel the dhcp request during the send and recv
19089
19090         * dhcpcd/client.h
19091                 - Move the DHCP option enum to dhcpcd.h
19092
19093         * src/NetworkManagerDHCP.c
19094                 - Split out the actual IP/netmask/etc setting code
19095                 - New Renew/Rebind functions
19096                 - New timer setup function for renew/rebind operations
19097
19098         * src/NetworkManagerDevice.c
19099                 - For device activation, if we are using DHCP then keep the activation thread
19100                         alive until device deactivation.  We need to renew/rebind the DHCP address
19101                         after the T1 (renew) and T2 (rebind) times have expired.
19102                 - Increase some timeouts after bringing wireless cards up/down
19103
19104 2004-11-17  Dan Williams <dcbw@redhat.com>
19105
19106         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19107                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19108                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19109                 show known access points that don't broadcast their ESSID in the menus without
19110                 any user intervention whatsoever.
19111
19112         * info-daemon/NetworkManagerInfoDbus.c
19113                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19114                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19115
19116         * src/NetworkManagerAP.[ch]
19117                 - Add a "user_addresses" data member to the NMAccessPoint structure
19118                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19119                         the user_addresses data member
19120
19121         * src/NetworkManagerAPList.c
19122                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19123                         the AP's reported address
19124                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19125
19126         * src/NetworkManagerDHCP.c
19127                 - Increase DHCP timeout from 25s -> 30s
19128
19129         * src/NetworkManagerDbus.[ch]
19130                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19131                         user addresses
19132
19133         * src/NetworkManagerDevice.c
19134                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19135                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19136                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19137                         So, we take the card down to clear it out.
19138                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19139                         too, since that's where the user_addresses are
19140
19141         * src/NetworkManagerPolicy.c
19142                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19143                         that wireless networks' user_addresses list upon successful activation
19144
19145 2004-11-16  Dan Williams <dcbw@redhat.com>
19146
19147         * src/NetworkManagerDevice.[ch]
19148                 - (nm_device_clear_activation_fail): new function
19149
19150         * src/NetworkManagerPolicy.c
19151                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19152                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19153
19154 2004-11-16  Dan Williams <dcbw@redhat.com>
19155
19156         * src/NetworkManagerDevice.c
19157                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19158                         leak the structure, better updating of now_scanning status
19159                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19160
19161 2004-11-15  Dan Williams <dcbw@redhat.com>
19162
19163         Major rework of link detection code.  We now use DHCP
19164         as part of the link detection which proves to be much more robust,
19165         and also supports Open System authentication for wireless networks.
19166
19167         We no longer use external DHCP client programs.  Instead, we use 
19168         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19169         which was written by:
19170                 Yoichi Hariguchi <yoichi@fore.com>
19171                 Sergei Viznyuk <sv@phystech.com>
19172                 http://www.phystech.com/download/
19173         It resides in the "dhcpcd" directory and was refactored into a general
19174         purpose DHCP client library by me.
19175
19176         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19177         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19178
19179 2004-11-15  Dan Williams <dcbw@redhat.com>
19180
19181         Patch from Tom Parker <palfrey@tevp.net>:
19182
19183         * src/NetworkManagerDevice.c
19184                 - Less output to console when no access
19185                         points are found during a scan
19186
19187 2004-11-15  Dan Williams <dcbw@redhat.com>
19188
19189         Patch from Tom Parker <palfrey@tevp.net>:
19190
19191         * src/backends/interface_parser.c
19192                 - Use g_strdup ()
19193                 - Check for inp == NULL
19194                 - use syslog ()
19195
19196 2004-11-13  Colin Walters  <walters@redhat.com>
19197
19198         Patch from Tom Parker <palfrey@tevp.net>:
19199
19200         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19201         
19202         * src/backends/NetworkManagerRedHat.c: Switch to
19203         including shvar.h instead of shvar.c.
19204
19205         * src/backends/NetworkManagerDebian.c: Don't include
19206         interface_parser.c in source file.
19207
19208         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19209         and interface_parser.[ch].
19210         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19211         Include shvar.c and shvar.h here.
19212         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19213         interface_parser.c and interface_parser.h here.
19214
19215 2004-11-12  Colin Walters  <walters@redhat.com>
19216
19217         * configure.in: Strip out TARGET_DISTRO and
19218         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19219         conditionals.
19220
19221         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19222         (libnmbackend_la_SOURCES): Use Automake conditionals
19223         to add distro-specific files.
19224
19225         * initscript/Makefile.am (SUBDIRS): Update to
19226         use conditionals.
19227
19228 2004-11-12  Colin Walters  <walters@redhat.com>
19229
19230         Patches from j bootlab org
19231
19232         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19233         Add interface_parser.[ch].
19234
19235         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19236         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19237
19238 2004-11-12  Colin Walters  <walters@redhat.com>
19239
19240         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19241         call to nmi_dbus_is_running too, not necessary anymore.
19242         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19243         pick up exit().
19244
19245 2004-11-11  Colin Walters  <walters@verbum.org>
19246
19247         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19248         Delete.
19249         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19250         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19251         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19252         This avoids a race condition that made it pretty easily
19253         possible to get two NetworkManagerInfo daemons running.
19254
19255 2004-11-11  Colin Walters  <walters@verbum.org>
19256         
19257         * src/NetworkManager.c (main): Use daemon(3).
19258
19259         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19260
19261         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19262
19263 2004-11-10 Dan Williams <dcbw@redhat.com>
19264
19265         Patches from j bootlab org
19266         * src/NetworkManagerDevice.c
19267                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19268                         whether the card has a link or not, some cards are slow
19269                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19270
19271         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19272                 - Disable the "Login" button on the passphrase dialog until the user
19273                         enters a valid passphrase or key
19274
19275         Patches from Tom Parker <palfrey tevp net>
19276         * src/backends/NetworkManagerDebian.c
19277                 - Add static IP support to the debian backend
19278
19279         * src/backends/interface_parser.[ch]
19280                 - Parse debian interface config files
19281
19282 2004-11-08 Dan Williams <dcbw@redhat.com>
19283
19284         * src/NetworkManagerDevice.c
19285                 - Some random fprintf->syslog conversions
19286                 - (nm_device_wireless_network_exists): double-check for network
19287                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19288
19289         * src/NetworkManagerWireless.[ch]
19290                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19291                         so that the binary->ascii conversion works (if unsigned, the bitshift
19292                         will fill with zeros, which is what's required).  Also mask bitshift
19293                         result with 0xF for futher assurance.
19294
19295 2004-11-06 Dan Williams <dcbw@redhat.com>
19296
19297         * src/NetworkManagerUtils.c
19298                 - (nm_get_wireless_driver_support_level): default to
19299                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19300                         flip this when changing from whitelist->blacklist of
19301                         wireless drivers
19302
19303 2004-11-05 Dan Williams <dcbw@redhat.com>
19304
19305         Patch from Robert Paskowitz:
19306         * src/backends/NetworkManagerGentoo.c
19307                 - Update static IP config code
19308
19309 2004-11-05 Dan Williams <dcbw@redhat.com>
19310
19311         * info-daemon/NetworkManagerInfoDbus.c
19312           src/NetworkManagerDbus.[ch]
19313           src/NetworkManagerDevice.c
19314                 - Keep track of the # of attempts to get the WEP key
19315                         from the user and pass that along to the info daemon
19316
19317 2004-11-05 Dan Williams <dcbw@redhat.com>
19318
19319         * src/NetworkManagerUtils.c
19320                 - Blacklist wireless cards rather than whitelisting them.
19321                 - Grab driver name from HAL rather than trying to find it
19322                         ourselves.
19323
19324 2004-11-03 Dan Williams <dcbw@redhat.com>
19325
19326         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19327                 - Disable OK button until valid data is entered
19328                         for encryption stuff too
19329
19330         * panel-applet/NMWirelessApplet.c
19331                 - Report card strength for current AP if the card
19332                         doesn't report strength data for scanned access
19333                         points
19334
19335         * src/NetworkManagerDevice.c
19336                 - Smooth out cards reported quality, Atmel card was
19337                         intermittently reporting no quality data but soon
19338                         recovers
19339
19340         * src/NetworkManagerWireless.c
19341                 - Better quality data percentage calculation.  Atmel
19342                         cards (mine at least) seem to report the quality
19343                         in percentage format already, so honor that
19344
19345         Patch from <j@bootlab.org>
19346         * NetworkManager.h
19347           info-daemon/NetworkManagerInfoPassphraseDialog.c
19348           info-daemon/passphrase.glade
19349           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19350           panel-applet/essid.glade
19351           src/NetworkManagerAP.c
19352           src/NetworkManagerDevice.c
19353           src/NetworkManagerWireless.[ch]
19354                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19355
19356 2004-11-03 Dan Williams <dcbw@redhat.com>
19357
19358         * src/NetworkManagerDevice.[ch]
19359                 - (nm_device_set_enc_key): Add parameter to set Authentication
19360                         Mode (Open System, Shared Key, or None).  We're still using
19361                         Shared Key for now though.
19362
19363 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19364
19365         * panel-applet/menu-info.c: change from bold text to light
19366         colored, may cause problems with some themes, i've tested a lot
19367         and they seem fine. 
19368
19369         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19370
19371 2004-11-01  Colin Walters  <walters@verbum.org>
19372
19373         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19374         (nm_wireless_128bit_key_from_passphrase): Add const.
19375
19376         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19377         (nm_ap_set_enc_key_source): Add const.
19378         
19379 2004-11-01  Colin Walters  <walters@verbum.org>
19380
19381         * .cvsignore: Update.
19382
19383 2004-10-29 Dan Williams <dcbw@redhat.com>
19384
19385         * src/NetworkManagerDevice.c
19386                 - (nm_device_wireless_network_exists): Actually use the encryption
19387                         key we got from the applet when attempting to find a wireless network
19388                 - Don't bring devices down so much since on some cards it triggers
19389                         firmware hotplugs each time
19390
19391         * src/NetworkManagerDbus.c
19392                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19393                         from the caller
19394
19395 2004-10-29 Dan Williams <dcbw@redhat.com>
19396
19397         * src/NetworkManager.c
19398                 - (nm_hal_device_property_modified): unlock a locked active
19399                         wireless device when a wired connection gets a link.
19400                         (Means you'll switch to wired whenever you plug in no
19401                         matter what).
19402
19403 2004-10-29 Dan Williams <dcbw@redhat.com>
19404
19405         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19406                 - New files, implement the "Other wireless network" dialog
19407
19408         * panel-applet/NMWirelessApplet.c
19409                 - Move "other wireless network" dialog to separate file
19410
19411         * panel-applet/NMWirelessAppletDbus.[ch]
19412                 - Take key and key_type paramaters for the set_device function
19413
19414         * panel-applet/essid.glade
19415                 - Add UI bits for encryption settings
19416
19417         * src/NetworkManagerDbus.c
19418                 - Retrieve key and key_type params for "setActiveDevice" method call
19419                         and pass them on
19420                 - unref AP returned from nm_device_get_best_ap() when needed
19421
19422         * src/NetworkManagerDevice.c
19423                 - (nm_device_get_best_ap): ref the ap before returning it
19424                 - unref AP returned from nm_device_get_best_ap() when needed
19425                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19426                         need to call nm_device_get_best_ap() here, it was pretty much
19427                         redundant anyway
19428                 - (AP_NEED_KEY): break second link check condition out into separate
19429                         function, and fix segfault when ap->enc_key_source was NULL
19430                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19431                         pass them along to nm_device_wireless_network_exists().  If the
19432                         network does exist, set the passed-in key+key_type on the AP
19433
19434         * src/NetworkManagerPolicy.c
19435                 - unref AP returned from nm_device_get_best_ap() when needed
19436
19437 2004-10-28 Dan Williams <dcbw@redhat.com>
19438
19439         * src/NetworkManagerUtils.c
19440                 - (nm_spawn_process): Fix a potential dereference of NULL
19441
19442         Patches from Peter Jones:
19443
19444         * src/NetworkManagerDevice.c
19445                 - (nm_device_test_wireless_extensions): Better check for
19446                         wireless devices
19447
19448         * src/NetworkManagerUtils.c
19449                 - (nm_spawn_process): Pass in valid stdout and stderr so
19450                         executed programs don't randomly SIGPIPE and fail
19451                 - (nm_get_wired_driver_support_level): quash hal warning
19452                         when checking for USB ethernet device
19453
19454 2004-10-27 Dan Williams <dcbw@redhat.com>
19455
19456         * info-daemon/NetworkManagerInfo.c
19457           info-daemon/NetworkManagerInfoDbus.c
19458           info-daemon/NetworkManagerInfoPassphraseDialog.c
19459           panel-applet/NMWirelessApplet.c
19460                 - Properly escape gconf keys
19461
19462         * src/NetworkManager.c
19463                 - remove unused variables
19464
19465         * src/NetworkManagerAP.c
19466                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19467                         refcount since it got set in nm_ap_new()
19468
19469         * src/NetworkManagerAPList.c
19470                 - (nm_ap_list_combine): Give up ownership of newly created
19471                         access points to the ap list, fixes memleak
19472
19473         * src/NetworkManagerDevice.c
19474                 - Remove cached_ap_list4 member since its not really needed
19475                 - (nm_device_wireless_network_exists): Try to get correct
19476                         encryption status of a found AP if its already in our
19477                         device list
19478                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19479                         memory allocs/deallocs a bit clearer and shorter-lived
19480
19481 2004-10-26 Ray Strode <rstrode@redhat.com>
19482
19483         * panel-applet/NMWirelessApplet.c:
19484           (custom_essid_item_selected):  kill some compiler
19485         warnings 
19486
19487 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19488
19489         * info-daemon/NetworkManagerInfoDbus.c
19490                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19491                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19492
19493 2004-10-23 Dan Williams <dcbw@redhat.com>
19494
19495         * info-daemon/NetworkManagerInfoDbus.c
19496                 - Trap the "DeviceActivationFailed" signal
19497
19498         * docs/NetworkManager DBUS API.txt
19499                 - Add "DeviceActivationFailed" signal
19500
19501         * panel-applet/NMWirelessAppletDbus.c
19502                 - Quash the "NetworkManager service not available" message
19503
19504         * src/NetworkManagerDbus.[ch]
19505                 - Add the "DeviceActivationFailed" signal
19506
19507         * src/NetworkManagerDevice.c
19508                 - Add support for activation_failed flag
19509                 - Fix deadlock where activation thread didn't clean itself up, making
19510                         main thread still believe it was alive forever (didn't reset activation
19511                         flags like activating, just_activated, etc when IP configuration
19512                         failed)
19513
19514         * src/NetworkManagerPolicy.c
19515                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19516                         for wireless networks, try to fall back to some other access point
19517
19518 2004-10-23 Dan Williams <dcbw@redhat.com>
19519
19520         * panel-applet/NMWirelessApplet.[ch]
19521                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19522                         to the applet object, so we can get tooltips
19523                 - Add tooltips (RH #136866)
19524
19525         * src/NetworkManagerDevice.c
19526                 - When trying to find a wireless network, try to connect with encryption
19527                         turned on first, so that we can more accurately detect whether or not
19528                         we need to use encryption for the actual association later on
19529
19530 2004-10-21 Dan Williams <dcbw@redhat.com>
19531
19532         * Add some support for telling NetworkManagerInfo to tell the user
19533                 that they are using a device that's not fully supported
19534
19535         * Fix some assertions in debug messages due to null access point args
19536
19537 2004-10-21 Dan Williams <dcbw@redhat.com>
19538
19539         * src/NetworkManagerDevice.c
19540                 - Don't try to activate/bring up/down unsupported
19541                         devices
19542
19543         * src/NetworkManagerUtils.c
19544                 - Fix case of PCI ID checks for driver support levels
19545
19546 2004-10-21 Dan Williams <dcbw@redhat.com>
19547
19548         * NetworkManager.h
19549                 - New file, now contains commonly used structures and bits
19550                         for the dbus API of NetworkManager
19551
19552         * Makefile.am
19553                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19554
19555         * src/NetworkManager.h
19556                 - Rename -> src/NetworkManagerMain.c
19557
19558         * Various fixups all around to use NetworkManager.h and new
19559                 src/NetworkManagerMain.h, remove redundant bits that got
19560                 moved into NetworkManager.h
19561
19562         * src/NetworkManagerDevice.[ch]
19563           src/NetworkManagerUtils.[ch]
19564           src/NetworkManagerPolicy.c
19565           src/NetworkManagerDbus.c
19566                 - Whitelist wireless drivers, and blacklist some wired
19567                         drivers.  Also blacklist cipsec and ethernet-over-usb
19568                         devices at this time (RH #135722, RH #135648)
19569                 - Don't leak unsupported devices out over dbus, or allow
19570                         them to be set as the active device.  Skip over them
19571                         during automatic device picking
19572
19573         * test/nmclienttest.c
19574                 - Clean up the dbus code a lot
19575
19576 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19577
19578         * configure.in: post release bump.
19579
19580 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19581
19582         * configure.in:
19583         * NEWS: Released NetworkManager-0.3.1
19584
19585 2004-10-18 Dan Williams <dcbw@redhat.com>
19586
19587         Patches from Thom May:
19588         * test/nmtestdevices.c
19589                 - Include <string.h>
19590         * src/backends/NetworkManagerDebian.c:
19591                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19592                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19593                         Move to using g_strdup_printf rather than arbitrary buffers
19594                 - (nm_system_device_setup_static_ip4_config) Implement function.
19595                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19596
19597 2004-10-17 Dan Williams <dcbw@redhat.com>
19598
19599         * info-daemon/NetworkManagerInfoDbus.c
19600                 - Display name of network in the "network not found" dialog
19601
19602         * panel-applet/NMWirelessAppletDbus.c
19603                 - (nmwa_dbus_call_nm_method): new function replaces all other
19604                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19605                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19606                         consolidated into nmwa_dbus_get_object_name()
19607
19608 2004-10-15 Dan Williams <dcbw@redhat.com>
19609
19610         * src/NetworkManagerDbus.c
19611           info-daemon/NetworkManagerInfoDbus.c
19612                 - Display an error dialog when the user tries to use an
19613                         "Other wireless network" that's not found.
19614
19615 2004-10-15 Dan Williams <dcbw@redhat.com>
19616
19617         * panel-applet/NMWirelessApplet.[ch]
19618                 - Fix up corner cases in applet state, making it
19619                         look more responsive.  Change state to "connecting" when
19620                         the user is forcing a device too.
19621
19622 2004-10-15 Dan Williams <dcbw@redhat.com>
19623
19624         * src/NetworkManagerAPList.c
19625                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19626
19627         * src/NetworkManagerDbus.c
19628                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19629
19630         * src/NetworkManagerDevice.c
19631                 - Disown APs after the device's AP list takes ownership
19632
19633 2004-10-15 Dan Williams <dcbw@redhat.com>
19634
19635         * panel-applet/NMWirelessApplet.c
19636                 - Update our applet state from the GUI thread
19637
19638         * panel-applet/NMWirelessAppletDbus.c
19639                 - Greatly simplify the locking to make the GUI thread
19640                         smoother.  Update a private copy of the device list
19641                         and active device and only when done talking to
19642                         NetworkManager turn it over to the GUI thread.
19643
19644 2004-10-15 Dan Williams <dcbw@redhat.com>
19645
19646         * src/NetworkManagerAP.[ch]
19647                 - Add "artificial" get/set functions, set for APs that
19648                         aren't discovered as part of a scan but instead
19649                         discovered by force-setting the ESSID
19650
19651         * src/NetworkManagerDevice.[ch]
19652                 - (nm_device_wireless_network_exists): pass back whether
19653                         or not the discovered AP was encrypted.  Also, try
19654                         falling back to encrypted mode on the card if unencrypted
19655                         association doesn't work
19656                 - (nm_device_find_and_use_essid): If the network requested
19657                         did in fact exists, but it wasn't in our scan list, add
19658                         an "artificial" entry for it.  Some Cisco cards don't
19659                         see non-ESSID-broadcasting APs in their scan but can still
19660                         associate with them if you know the ESSID, this works around
19661                         that behavior
19662                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19663                         to scan if the card is currently associated with that AP
19664
19665 2004-10-15 Dan Williams <dcbw@redhat.com>
19666
19667         ---- We have a website ----
19668         http://people.redhat.com/dcbw/NetworkManager
19669
19670         Patch from Robert Paskowitz:
19671         * src/NetworkManager.c
19672                 - (main): Make sure we are run as root
19673         * src/NetworkManagerDevice.c
19674                 - Fix type in ad-hoc setting function
19675
19676         Patch from Thom May:
19677         * src/backends/NetworkManagerDebian.c
19678                 - Make Debian backend compile again
19679
19680 2004-10-14 Dan Williams <dcbw@redhat.com>
19681
19682         * Tagged NetworkManager-0_3
19683
19684 2004-10-14 Dan Williams <dcbw@redhat.com>
19685
19686         Patch from Robert Paskowitz:
19687         * NEWS
19688           src/NetworkManagerDevice.[ch]
19689           src/backends/NetworkManagerDebian.c
19690           src/backends/NetworkManagerGentoo.c
19691           src/backends/NetworkManagerRedHat.c
19692           src/backends/NetworkManagerSlackware.c
19693                 - Add support for grabbing and using a broadcast address
19694                         from system config files
19695                 - Some Gentoo backend fixes for grabbing network config
19696                 - Fix LOG_WARN->LOG_WARNING
19697
19698 2004-10-14 Dan Williams <dcbw@redhat.com>
19699
19700         * NEWS: a few small fixes in the credits
19701
19702 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19703
19704         * NEWS: prep for release.
19705
19706 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19707
19708         * panel-applet/NMWirelessAppletDbus.c
19709         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19710
19711 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19712
19713         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19714         applet->state == APPLET_STATE_NO_NM animation.
19715
19716         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19717         set the text correctly.
19718
19719 2004-10-14 Dan Williams <dcbw@redhat.com>
19720
19721         * src/NetworkManager.c
19722                 - Only accept and manager 802.3 and 802.11 devices
19723
19724         * src/NetworkManagerDbus.[ch]
19725                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19726                         logic into NetworkManagerDevice.c
19727                 - (nm_dbus_network_status_from_data): new function
19728                 - (nm_dbus_signal_network_status_change): new function, unused for now
19729                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19730
19731         * src/NetworkManagerDevice.[ch]
19732                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19733                         a random ESSID.
19734
19735 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19736
19737         * info-daemon/NetworkManagerInfo.c 
19738                 - (main): Added session management
19739
19740 2004-10-14 Dan Williams <dcbw@redhat.com>
19741
19742         * panel-applet/NMWirelessAppletDbus.[ch]
19743                 - Expose network_device_[un]ref()
19744                 - Expose wireless_network_[un]ref()
19745                 - (wireless_network_new_with_essid): new function, create and return
19746                         a wireless network with a particular essid
19747
19748         * panel-applet/NMWirelessApplet.c
19749                 - Hook up the "other network" dialog to do something
19750
19751 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19752
19753         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19754         doesn't work yet, but it looks okay.
19755
19756         * panel-applet/icons/*png: Resize to 22x22 and install in the
19757         right place.
19758
19759 2004-10-13 Dan Williams <dcbw@redhat.com>
19760
19761         * panel-applet/NMWirelessApplet.c
19762                 - Add function to print out applet_state in a readable
19763                         manner
19764
19765         * src/NetworkManager.c
19766                 - (main): Don't segfault when nm_dbus_init() fails, we had
19767                         a left-over call to hal_shutdown() into which we passed NULL
19768
19769         * src/NetworkManagerAP.c
19770                 - (nm_ap_set_essid): Allow NULL essids
19771
19772         * src/NetworkManagerAPList.[ch]
19773                 - More use of nm_ap_list_[un]lock ()
19774                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19775                         network/essid, just return nothing.  Also skip over NULL
19776                         essid access points in the list when searching
19777                 - (nm_ap_list_get_ap_by_address): new function
19778                 - (nm_ap_list_update_network): set the access point's key source to
19779                         NULL when the key returned from NetworkManagerInfo is NULL or
19780                         of 0 length
19781                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19782                         copy timestamp over too
19783                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19784                         find the correct ESSID for a blank-essid access point by searching
19785                         through another list and matching access point MAC addresses
19786                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19787
19788         * src/NetworkManagerDbus.c
19789                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19790                         may specify.  This is mainly for access points that don't
19791                         broadcast their essid.  So if the user tells us to associate with
19792                         some random ESSID that's not in our access point list, we find
19793                         out if the access point does in fact exist (by attempting association
19794                         and then matching that access point's MAC address with the essid the
19795                         user gave us) and then we switch to it.
19796                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19797                         to the returned list of networks for the "getNetworks" method
19798
19799         * src/NetworkManagerDevice.[ch]
19800                 - Extra debugging info for link detection
19801                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19802                         based on MAC address
19803                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19804                 - (nm_device_wireless_network_exists): new function, find out whether
19805                         a random ESSID exists by attempting to associate with it
19806                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19807                         device list as long as they have an AP MAC address we can use.
19808                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19809                         devices too.  Lets the applet update more frequently.
19810
19811         * src/backends/NetworkManagerGentoo.c
19812                 - Patch from: Robert Paskowitz
19813                         - Update backend code for Gentoo
19814                         - Implement nm_system_device_update_config_info ()
19815
19816         * test/nmclienttest.c
19817                 - (set_network_device): new function, takes a command-line argument
19818                         and tells NetworkManager to use that wireless network
19819
19820 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19821
19822         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19823         if the notification icon crashes 5 times within 5 seconds of each respawn 
19824
19825 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19826
19827         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19828         g_print.
19829
19830 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19831
19832         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19833
19834         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19835         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19836         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19837         Change the name of the icons.
19838
19839         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19840         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19841         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19842         (nm_menu_wireless_expose_event): Really bad hack to get the style
19843         to draw in the right color.
19844
19845 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19846
19847         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19848         Notification if it crashes
19849
19850 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19851
19852         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19853         (nmwa_dbus_get_string): remove unused functions
19854
19855         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19856         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19857         remove unused functions
19858
19859         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19860
19861 2004-10-12 Dan Williams <dcbw@redhat.com>
19862
19863         * panel-applet/NMWirelessAppletDbus.c
19864                 - New functions:
19865                         wireless_network_new
19866                         wireless_network_copy
19867                         network_device_new
19868                         network_device_copy
19869
19870         * src/NetworkManagerDevice.[ch]
19871                 - New functions:
19872                         nm_device_set_mode_managed
19873                         nm_device_set_mode_adhoc
19874                 - Use these functions where appropriate
19875                 - When creating a new wireless device, force the card
19876                         to managed/Infrastructure mode as soon as possible
19877
19878 2004-10-12 Dan Williams <dcbw@redhat.com>
19879
19880         * src/NetworkManagerDevice.c
19881                 - Force wireless cards into Infrastructure mode before we use them
19882
19883 2004-10-12 Dan Williams <dcbw@redhat.com>
19884
19885         * TODO
19886                 - Remove bit about static IP address support
19887
19888         * src/NetworkManagerUtils.c
19889                 - (nm_spawn_process): Add some error reporting
19890
19891         * src/NetworkManagerDevice.c
19892                 - (nm_device_activation_configure_ip): hook up to the static config
19893                         routines in the backends
19894
19895         * src/backends/NetworkManagerRedHat.c
19896                 - (nm_system_device_update_config_info): use shvar.c routines to
19897                         parse the config file iformation, not our own
19898                 - (nm_system_device_setup_static_ip4_config): new function, based
19899                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19900                         with a static IP address and gateway
19901
19902         * src/backends/shvar.[ch]
19903                 - Parser (filched from initscripts package) for ifcfg-* files
19904
19905         * src/backends/NetworkManagerSystem.h
19906           src/backends/NetworkManagerGentoo.c
19907           src/backends/NetworkManagerDebian.c
19908           src/backends/NetworkManagerSlackware.c
19909                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19910
19911 2004-10-11 Dan Williams <dcbw@redhat.com>
19912
19913         * TODO
19914                 - Remove bit about more robust AP diffing since I just implemented it
19915
19916 2004-10-11 Dan Williams <dcbw@redhat.com>
19917
19918         * src/NetworkManagerAP.c
19919                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19920                         enough RAM to allocate new AP structures, but return NULL instead
19921
19922         * src/NetworkManagerAPList.[ch]
19923                 - (nm_ap_list_is_empty): new function
19924                 - (nm_ap_list_combine): new function, combine two access point lists
19925                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19926                         into another
19927
19928         * src/NetworkManagerDevice.[ch]
19929                 - Rename some functions to be clearer:
19930                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19931                         nm_device_just_activated     -> nm_device_is_just_activated
19932                         nm_device_activating         -> nm_device_is_activating
19933                         nm_device_now_scanning       -> nm_device_is_scanning
19934                 - Cache the last 4 scans so that the access point list is more stable.
19935                         We combine the lastest two scans and use that as the AP list,
19936                         and diff that combined list against the combination of the earliest
19937                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19938
19939 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19940
19941         * info-daemon/NWManagerInfo.h
19942                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19943
19944         * info-daemon/NWManagerInfoDbus.c
19945                 - (shutdown_callback): new function
19946                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19947                         if NetworkManager goes away.  Kill the timeout
19948                         if NetworkManager restarts before the 30 seconds
19949                         are up.
19950                 - (nmi_dbus_service_init): 
19951                         - call gtk_main_quit if NetworkManager is not running
19952                         - add filters to monitor dbus service creations and
19953                                 deletions
19954         
19955 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19956
19957         * panel-applet/NMWirelessApplet.c
19958                 - (nmwa_update_state): Hide notification icon if we are only
19959                         showing one wired card and no wireless interfaces 
19960                         (Red Hat Bug #134895)
19961
19962         * panel-applet/NMWirelessAppletDbus.c
19963                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19964
19965         * info-daemon/NWManagerInfo.c
19966                 - (main): Terminated the notification_icon_cmd array with a NULL
19967
19968 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19969
19970         * configure.in (ALL_LINGUAS): Added de (German).
19971
19972 2004-10-08 Dan Williams <dcbw@redaht.com>
19973
19974         * src/NetworkManagerDevice.c
19975                 - Be a bit more robust about link checking, ie make sure that
19976                         the WEP key we were given actually has some data in it
19977
19978 2004-10-08 Dan Williams <dcbw@redhat.com>
19979
19980         * info-daemon/NetworkManagerInfo.c (main):
19981                 - Initialize GError object to NULL
19982
19983 2004-10-08 Dan Williams <dcbw@redhat.com>
19984
19985         * panel-applet/NMWirelessAppletDbus.c
19986                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19987
19988 2004-10-08 Dan Williams <dcbw@redhat.com>
19989
19990         * info-daemon/NetworkManagerInfo.[ch]
19991           info-dameon/NetworkManagerInfoDbus.[ch]
19992           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19993                 - Preserve original label text in the passphrase dialog so that
19994                         it actually gets updated with the new network name the next
19995                         time around.  Previously, we were overwriting it so you'd get
19996                         the wrong network name to enter a key for
19997                 - Add a "Key Type" combo to the passphrase dialog, user selects
19998                         encryption key type now, type is stored in GConf too
19999                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20000
20001         * src/NetworkManagerAP.[ch]
20002                 - Remove all the encyption method magic.  It's now set by the user
20003                         and NetworkManager retrieves the type of encryption key from
20004                         NetworkManagerInfo
20005
20006         * src/NetworkManagerAPList.[ch]
20007           src/NetworkManagerDbus.[ch]
20008                 - Adjust to new way of setting encryption key and method
20009                 - Pull encryption method down from NMI along with key
20010
20011         * src/NetworkManagerDevice.[ch]
20012                 - Removed encryption method fallback magic as the method is now
20013                         determined by the user.  This greatly simplifies the connection
20014                         logic.
20015                 - More robust connection/link logic.  Besides removing the encryption
20016                         method fallback magic, check whether or not the card is receiving
20017                         invalidly encrypted packets, which usually indicates that we have
20018                         a bad WEP key set.
20019                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20020
20021         * test/nminfotest.c
20022                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20023
20024 2004-10-07 Dan Williams <dcbw@redhat.com>
20025
20026         * info-daemon/NetworkManagerInfo.conf
20027                 - Allow root user to run NMI too
20028
20029 2004-10-06 Dan Williams <dcbw@redhat.com>
20030
20031         * src/NetworkManagerDevice.[ch]
20032           src/NetworkManagerDbus.c
20033           doc/NetworkManager DBUS API.txt
20034                 - Add a new status tag "scanning", which is set when there
20035                         is no active network connection, but NetworkManager is
20036                         looking for an access point to associate with
20037
20038         * panel-applet/main.c
20039                 - Cast the applet appropriately for gtk_widget_show_all ()
20040
20041 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20042
20043         * panel-applet/eggtrayicon.[ch]:
20044         * panel-applet/main.c: Add missing file
20045
20046 2004-10-04 Dan Williams <dcbw@redhat.com>
20047
20048         * src/NetworkManagerDevice.[ch]
20049                 - Add a slightly more robust method of determining if the WEP key
20050                         is correct or not, by checking the WEP-discarded packet count
20051                         on the card
20052
20053         * info-daemon/NetworkManagerInfo.c
20054                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20055                         un-escape values we pull out rather than escaping them
20056
20057 2004-10-03  Marcel Telka  <marcel@telka.sk>
20058
20059         * configure.in (ALL_LINGUAS): Added sk.
20060
20061 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20062
20063         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20064         and feel.  We should be back to working, and have a good, clean
20065         look.
20066
20067 2004-09-30 Dan Williams <dcbw@redhat.com>
20068
20069         * info-daemon/NetworkManagerInfo.c
20070           info-daemon/NetworkManagerInfoDbus.c
20071           test/nminfotest.c
20072                 - Escape ESSIDs in gconf
20073
20074         * src/NetworkManagerDevice.c
20075                 - Fix pseudo-scanning to use netowrk list from info daemon
20076
20077 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20078
20079         * configure.in: Add a temporary --enable-notification-icon.  This
20080         will prolly go away.
20081
20082         * info-daemon/Makefile.am:
20083         * info-daemon/NetworkManagerInfo.c:
20084         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20085
20086         * panel-applet/Makefile.am:
20087         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20088         * panel-applet/NMWirelessApplet.h:
20089
20090 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20091
20092         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20093         before 'select custom ESSID'.
20094
20095         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20096         fully complete, but syncing in prep for merge.
20097
20098         * panel-applet/icons/*png: New images
20099
20100 2004-09-28 Dan Williams <dcbw@redhat.com>
20101
20102         * src/NetworkManager.c
20103           src/NetworkManagerDevice.c
20104           src/NetworkManagerPolicy.c
20105                 - Don't blow away an active wired connection on startup
20106
20107 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20108
20109         Changes from J5
20110         
20111         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20112
20113         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20114         syslog output
20115
20116 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20117
20118         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20119         have a wireless card.
20120
20121 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20122
20123         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20124         Also, get the right device strings.
20125
20126 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20127
20128         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20129         the logic to make this right.
20130
20131         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20132         devices so that wired networks are always first.
20133
20134 2004-09-22    <clarkbw@cvs.gnome.org>
20135
20136         * initscript/Debian/.cvsignore:
20137         * initscript/Slackware/.cvsignore:
20138         Added new cvsignores for Makefile, Makefile.in
20139         
20140         * test/.cvsignore:
20141         Added nmtestdevices
20142         
20143         * src/NetworkManagerDevice.c: 
20144         * src/NetworkManager.c: 
20145         Updated the wireless/wired HAL device strings from net.ethernet to
20146         net.80203 or net.80211 depending on wired or wireless respectively
20147         
20148         * examples/python/NetworkManager.py: 
20149         s/Quality/Strength/
20150
20151         * examples/python/systray/network_tray.py:
20152         Lots of little changes and fixes.  been rotting for a while so I
20153         figured I'd finally sync them all with CVS
20154
20155 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20156
20157         * configure.in: Add graphics
20158
20159         * panel-applet/Makefile.am: Add graphics
20160
20161         * panel-applet/icons/*: Add graphics
20162
20163         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20164         the icons fully lined up.
20165
20166         * panel-applet/menu-info.c: 
20167         * panel-applet/menu-info.h: Add another menu type.
20168
20169 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20170
20171         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20172
20173         * panel-applet/menu-item.[ch]: Wireless menu item.
20174
20175 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20176
20177         * info-daemon/NetworkManagerInfo.conf
20178                 - Created a more robust security policy for the DBus service
20179                         - everything is denied by default
20180                         - root can own and send to the service
20181                         - users logged in at the console can send to the service
20182
20183 2004-09-13  Dan Williams <dcbw@redhat.com>
20184
20185         * src/NetworkManagerDevice.c
20186                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20187                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20188                         the latter
20189
20190 2004-09-13  Dan Williams <dcbw@redhat.com>
20191
20192         * TODO: fix typo
20193
20194         * docs/NetworkManager DBUS API.txt
20195                 - Update for new signal strength changes
20196
20197         * panel-applet/NMWirelessApplet.c
20198                 - Make panel icon show strength of the current connection
20199                 - Cleanups and memleak fixes
20200
20201         * panel-applet/NMWirelessApplet.h
20202                 - Add data members for signal strength on devices and networks
20203
20204         * panel-applet/NMWirelessAppletDbus.c
20205                 - Free more DBusErrors
20206                 - Update for new signal strength changes
20207                 - Make devices and networks more like real objects, use ref/unref methods
20208                 - Actually unlock the mutex when updating the active device
20209
20210         * src/NetworkManagerAP.c
20211                 - Change AP functions and data members from "quality"->"strength"
20212
20213         * src/NetworkManagerDbus.c
20214                 - Kill "getMaxQuality" and "getQuality" methods
20215                 - Add "getStrength" methods for Networks and Devices
20216
20217         * src/NetworkManagerDevice.[ch]
20218                 - Add accessors for device strength
20219                 - Add functions to update strength for a device.  Note that not all drivers
20220                         actually support signal strength for scanned access points (Atmel drivers
20221                         being one)
20222                 - Calculate signal strength for each AP during scan
20223
20224         * src/NetworkManagerWireless.[ch]
20225                 - Add function to return signal strength % from a device and a raw quality struct
20226
20227         * test/nmclienttest.c
20228                 - Update for new signal strength changes
20229
20230 2004-09-11  Dan Williams <dcbw@redhat.com>
20231
20232         * src/NetworkManager.c
20233                 - Fix race condition between initscripts and NM on card insertion
20234                         which could cause a card to keep an IP address and routes around
20235                         even when it was not the active device
20236
20237         * src/NetworkManagerDbus.c
20238                 - Fix compile errors, free more DBusErrors
20239
20240 2004-09-11  Dan Williams <dcbw@redhat.com>
20241
20242         * docs/NetworkManager DBUS API.txt
20243                 - Add an explanation of NM's API
20244
20245         * src/NetworkManagerDbus.c
20246                 - Free some more DBusErrors if needed
20247
20248 2004-09-11  Dan Williams <dcbw@redhat.com>
20249
20250         * panel-applet/NMWirelessApplet.c
20251           panel-applet/NMWirelessAppletDbus.c
20252                 - Start using NetworkDevice/WirelessNetwork structures in more places
20253                 - Update for unified device/network forcing in NetworkManager
20254
20255         * src/NetworkManager.c
20256                 - some code consolidation
20257
20258         * src/NetworkManagerDbus.c
20259                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20260                         or two arguments:  the first is the NM ID of the device to switch to,
20261                         and the second (optional) argument is the ESSID of a wireless network
20262                         to use as well.
20263                 - Get rid of "setNetwork" method due to above change
20264
20265         * src/NetworkManagerDevice.c
20266                 - (nm_device_new): perform scan and update best AP on device creation
20267                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20268                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20269                         spin waiting for cancellation to finish before returning
20270
20271         * src/NetworkManagerPolicy.c
20272                 - Changes here clarify the situations in which a device switch occurs, and 
20273                         make sure to keep using a forced device and network if the user gives
20274                         us one
20275                 - Remove old unused code
20276
20277 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20278
20279         * configure.in: Added Danish (da) to ALL_LINGUAS.
20280
20281 2004-09-09  Dan Williams <dcbw@redhat.com>
20282
20283         * panel-applet/NMWirelessAppletDbus.c
20284                 - Pull fresh devices and networks from NM when wireless networks
20285                         change.  Provides faster feedback of a forced wireless network
20286
20287         * src/NetworkManagerDbus.c
20288                 - Return error when "getMaxQuality" is called on a wired device
20289                 - Make best_ap freezing actually work again, and signal cancellation
20290                         of activation if there's already a device activation when the user
20291                         freezes the best_ap
20292
20293         * src/NetworkManagerDevice.c
20294                 - Don't clear out the best_ap for wireless devices when the link goes
20295                         down, that's done elsewhere
20296                 - Kill any dhcp daemons when cancelling device activation since they
20297                         may be stuck waiting for a DHCP address, and since we're cancelling
20298                         activation we don't care about that anymore
20299
20300         * src/NetworkManagerPolicy.c
20301                 - Make sure to unref the device we ref earlier (we refed it to make sure
20302                         it stuck around during device activation and such)
20303                 - If we were going to change the best device, but its activating currently
20304                         (and therefore the change didn't occur due to the check earlier)
20305                         we mark the state changed to we come back to it later when device
20306                         activation has canceled and its no longer activating
20307
20308         * src/backends/NetworkManagerRedHat.c
20309                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20310
20311 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20312
20313         * info-daemon/passphrase.glade: 
20314         set passphrase input to activates_default : True
20315
20316         * examples/python/systray/network_tray.py
20317         (network_tray.sort_networks):
20318
20319         Added support for having wireless always scanning
20320
20321 2004-09-09  Dan Williams <dcbw@redhat.com>
20322
20323         NOTE: this commit changes the behavior of wireless devices in
20324         NetworkManager.  They are now up all the time, scanning all
20325         the time.  Only the active device has an IP address and routing
20326         information set up however.  Also, NetworkManager will no longer
20327         opportunistically switch wireless networks when a better one
20328         comes in range, it will remain associated with one wireless network
20329         until that one drops out.
20330
20331         * panel-applet/NMWirelessApplet.c
20332           panel-applet/NMWirelessAppletDbus.c
20333                 - List all wireless cards and their respective networks
20334
20335         * src/NMLoadModules
20336                 - Use full path to /sbin/ip
20337
20338         * src/NetworkManager.c
20339                 - Keep wireless devices up all the time so they can scan
20340
20341         * src/NetworkManagerDbus.c
20342                 - On a WirelessNetworkUpdate signal from NMI, don't update
20343                         the "best" AP
20344
20345         * src/NetworkManagerDevice.c
20346                 - (nm_device_set_link_active): clear out the best ap for
20347                         wireless devices when the link is set to FALSE
20348                 - Scan on all wireless cards, all the time
20349                 - (nm_device_activation_worker): split out the wireless card
20350                         link-waiting code to a separate function
20351                 - Keep wireless cards up even if device activation fails
20352                 - Don't update the "best" ap as much
20353
20354         * src/NetworkManagerPolicy.c
20355                 - Don't update the best ap when checking if its frozen,
20356                         let link checking clear out a frozen best ap for us
20357
20358         * src/NetworkManagerWireless.c
20359                 - Scan on all wireless cards, all the time
20360
20361 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20362
20363         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20364
20365 2004-09-09  Ankit Patel <ankit@redhat.com>
20366
20367         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20368
20369 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20370
20371         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20372
20373 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20374
20375         * examples/python/NetworkManager.py: 
20376         added CONNECTED, CONNECTING, and DISCONNECTED states
20377         added methods to return number of devices of a single type
20378
20379         * examples/python/systray/network_tray.py: 
20380         did some tweaks to get the menu looking near what it is supposed
20381         to look like.  Also did a Airo card hack to make it show the
20382         correct AP quality
20383
20384 2004-09-08  Dan Williams <dcbw@redhat.com>
20385
20386         * panel-applet/no-networkmanager.png
20387           panel-applet/Makefile.am
20388           panel-applet/NMWirelessApplet.c
20389                 - Add a "NetworkManager not running" icon and use it
20390                 - Use new consolidated GConf keys rather than Preferred/Trusted
20391
20392         * TODO: update
20393
20394         * info-daemon/NetworkManagerInfo.c
20395           info-daemon/NetworkManagerInfoDbus.[ch]
20396           info-daemon/NetworkManagerInfoPassphraseDialog.c
20397                 - There are now no longer two separate lists of wireless networks,
20398                         but one list where each network is "trusted" or not trusted
20399                 - Add a "getNetworkTrusted" dbus method
20400                 - "WirelessNetworkUpdate" signal now sent rather than
20401                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20402                 - Start freeing some dbus errors (not completed yet)
20403
20404         * info-daemon/passphrase.glade
20405                 - Remove the "don't show" hints for pager and taskbar
20406                 - Add a title since its going to be in the taskbar
20407
20408         * src/NetworkManager.[ch]
20409           src/NetworkManagerAPList.[ch]
20410                 - There are now no longer two separate lists of wireless networks,
20411                         but one list where each network is "trusted" or not trusted
20412
20413         * src/NetworkManagerAP.[ch]
20414                 - Add get/set "trusted" accessors and data bit
20415
20416         * src/NetworkManagerDbus.[ch]
20417                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20418                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20419
20420         * src/NetworkManagerDevice.[ch]
20421                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20422                 - (nm_device_new): Get device config from backend when initializing devices
20423                 - (nm_device_activation_worker): Split out device configuration on
20424                         activation to deal with static/dynamic IP differences, and try encryption
20425                         fallbacks on a device if the encryption method for the best AP is not good
20426                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20427                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20428
20429         * src/NetworkManagerWireless.c
20430                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20431
20432         * src/backends/NetworkManagerRedHat.c
20433           src/backends/NetworkManagerSystem.h
20434                 - (nm_system_device_update_config_info): Add function to get device configuration
20435                         from system data in ifcfg-* files
20436
20437         * src/backends/NetworkManagerDebian.c
20438           src/backends/NetworkManagerGentoo.c
20439           src/backends/NetworkManagerSlackware.c
20440                 - Add stub functions for getting device configuration
20441
20442 2004-09-07  Dan Williams <dcbw@redhat.com>
20443
20444         * src/backends/NetworkManagerRedhat.c
20445           src/backends/NetworkManagerSlackware.c
20446                 - Use full path to /sbin/ip everywhere
20447
20448 2004-09-07  Dan Williams <dcbw@redhat.com>
20449
20450         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20451
20452         * configure.in
20453           initscript/Makefile.am
20454           initscript/Slackware/Makfile.am
20455           initscript/Slackware/rc.networkmanager
20456           src/Makefile.am
20457           src/backends/NetworkManagerSlackware.c
20458                 - Add Slackware support
20459
20460 2004-09-07  Dan Williams <dcbw@redhat.com>
20461
20462         Patches below from:
20463                 <j@bootlab.org>
20464                 Mark Roach <mrroach@okmaybe.com>
20465                 Thom May <thom@debian.org>
20466
20467         * configure.in
20468           initscript/Debian/NetworkManager
20469           initscript/Debian/Makefile.am
20470                 - Initscript for Debian
20471
20472         * src/backends/NetworkManagerDebian.c
20473                 - Add missing system init function to allow compilation
20474                         on Debian
20475
20476 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20477
20478         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20479
20480 2004-09-03  Akagic Amila <bono@linux.org.ba>
20481
20482         * configure.in: Added 'bs' to ALL_LINGUAS.
20483
20484 2004-09-02  Colin Walters  <walters@verbum.org>
20485
20486         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20487         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20488         g_strdup_printf instead of arbitrarily sized buffers.
20489
20490 2004-09-01  Colin Walters  <walters@verbum.org>
20491
20492         * NetworkManager.pc.in: New file.
20493
20494         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20495
20496 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20497         
20498         * configure.in: Punjabi(pa) is added to po/.
20499
20500 2004-08-31  Dan Williams <dcbw@redhat.com>
20501
20502         * Remove 'debug' extern global from all files since we now
20503                 use syslog()
20504
20505         * src/NetworkManager.[ch]
20506                 - Break out routine that get the net.interface property from HAL,
20507                         removing that logic from nm_create_device_and_add_to_list()
20508                 - (nm_create_device_and_add_to_list): make this a bit more general so
20509                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20510                         the create of test devices.
20511                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20512                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20513                         which makes NetworkManager listen for dbus commands to create test
20514                         devices, which have no backing hardware.  Use when you're on a plane
20515                         for example, and/or forgot your wireless card at home.  Test devices
20516                         _cannot_ be created unless NM is started with --enable-test-devices.
20517
20518         * src/NetworkManagerDbus.[ch]
20519                 - New "getLinkActive" method for devices
20520                 - New "setLinkActive" method for devices (only works on test devices)
20521                 - New "createTestDevice" method on NetworkManager object to create a test
20522                         device of a specified type (ie wired, wireless).  UDI is created from
20523                         scratch, as is the interface name.  Only works when NM is started with
20524                         --enable-test-devices switch.
20525                 - New "removeTestDevice" method on NetworkManager object which removes a
20526                         test device.  Only works when NM is started with --enable-test-devices
20527
20528         * src/NetworkManagerDevice.[ch]
20529                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20530                         whether a device is a test device or not, and what its link status is.
20531                 - Deal with test devices in most functions.  For those that work directly on hardware
20532                         special-case test devices.
20533                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20534                         command-line.
20535                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20536                         checking to separate functions to facilitate test device link checking.
20537                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20538                         don't make a distinction between System Authentication and Encryption
20539                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20540                         on the card.  We don't deal with Shared Key auth yet.
20541                 - (nm_device_activation_worker): split the activation cancel check logic out into
20542                         a separate routine nm_device_activation_cancel_if_needed()
20543                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20544                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20545                         a list of fake access points that they can "see"
20546                 - (nm_device_is_test_device): return whether or not a device is a test device
20547
20548         * src/NetworkManagerPolicy.c
20549                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20550                         previously if you "locked"/forced NM to use a wireless device but then
20551                         selected a wireless network for NM to use, it would switch to a wired device.
20552                         So, if the active device is wireless and it has a "forced" best AP, use it
20553                         if the "forced" best AP is still valid
20554                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20555                         there were no usable network devices, or the last one was removed
20556
20557         * src/backends/NetworkManager*.c
20558                 - Deal with test devices, mostly just return success for operations like getting
20559                         a DHCP address
20560
20561         * test/nmtestdevices.c
20562                 - Test tool to create/remove/link-switch test devices
20563
20564 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20565
20566         * examples/python/NetworkManager.py: 
20567         added convience functions has_wired_device and has_wireless_device
20568
20569         * examples/python/systray/network_tray.py: 
20570         cleaned up a bunch of cruft, added support for listing wireless
20571         networks just like the real applet.  This is probably all I'm
20572         going to work on this applet from now on.
20573         TODO: add support for actually changing networks and devices
20574
20575         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20576         changed "nm.networks" into a dict from a list so I can store all
20577         the cool information about networks in there
20578
20579         * examples/python/systray/network_tray.py: 
20580         Added nice message when you try to run without running make first
20581
20582         * examples/python/NetworkManager.py: 
20583         Bug fixes to the code so we get all the device information
20584         that we need in get_device()
20585         
20586         * examples/python/NMTester.py: 
20587         Fixed _print_device_list to print_device_list
20588
20589 2004-08-29  Seth Nickell  <seth@gnome.org>
20590
20591         * configure.in:
20592
20593         Actually properly setup the Debian backend in configure.
20594         
20595 2004-08-29  Colin Walters  <walters@verbum.org>
20596
20597         * test/nminfotest.c: Include string.h and stdlib.h.
20598         (get_network_string_property, get_networks_of_type): Return NULL.
20599
20600         * test/nmclienttest.c (get_device_name, get_active_device): Return
20601         NULL.
20602
20603         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20604         use strlen, fgets always NULL-terminates the string.
20605
20606         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20607         dbus_message_get_member): Remove /* in comment.
20608
20609         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20610
20611         * src/NetworkManager.c (quit): Unused, delete.
20612         (nm_data_free): Cast arg to GFunc.
20613
20614         * panel-applet/NMWirelessAppletDbus.c: Need to include
20615         string.h, and dbus-glib-lowlevel.h (the latter is needed
20616         for dbus_connection_setup_with_g_main at present).
20617         (nmwa_dbus_update_wireless_network_list): Parenthesize
20618         assignment in conditional.
20619         (nmwa_dbus_worker): Return NULL.
20620
20621         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20622         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20623         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20624         (nmwa_populate_menu): Return NULL on failure, instead of just
20625         return;
20626
20627         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20628
20629         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20630         variables.
20631
20632         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20633         delete.
20634         
20635 2004-08-29  Colin Walters  <walters@verbum.org>
20636
20637         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20638         a GTimeVal instead of time_t.  This is easier to work with,
20639         since time_t may be a long or double, we don't know.
20640
20641         * src/NetworkManagerDbus.h: Update prototype.
20642         
20643         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20644         instead of time_t.
20645         (nm_ap_get_timestamp): Update to return GTimeVal.
20646         (nm_ap_set_timestamp): Update to take GTimeVal.
20647         
20648         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20649         to handle GTimeVal.
20650
20651         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20652         GTimeVal change.
20653         (nm_ap_list_print_members): Fix warnings in printf format.
20654
20655 2004-08-29  Colin Walters  <walters@verbum.org>
20656         
20657         * panel-applet/NMWirelessApplet.c: Include config.h.
20658
20659 2004-08-29  Colin Walters  <walters@verbum.org>
20660
20661         * configure.in: Generate config.h.
20662
20663         * configure.in: Dump dependency on OpenSSL; we can't
20664         use it since this package is GPL:
20665         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20666         Instead, check for libgcrypt, use it if available,
20667         otherwise use included MD5 code.
20668
20669         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20670         Suck in from gnome-keyring, munge a bit.
20671         
20672         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20673         gnome-keyring-md5.h gnome-keyring-md5.c.
20674         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20675
20676         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20677         libgcrypt or included gnome-keyring md5 bits.
20678         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20679
20680 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20681
20682         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20683
20684 2004-08-27  Bryan Clark  <bclark@redhat.com>
20685
20686         * examples/python/systray/Makefile: 
20687
20688         Updated the clean section
20689         
20690         * examples/python/systray/trayiconmodule.c: 
20691         * examples/python/systray/trayicon.override: 
20692         * examples/python/systray/network_tray.py: 
20693         * examples/python/systray/eggtrayicon.h: 
20694         * examples/python/systray/eggtrayicon.c: 
20695         * examples/python/systray/Makefile: 
20696         * examples/python/README: 
20697         * examples/python/NetworkManager.py: 
20698         * examples/python/NMTester.py: 
20699
20700         Initial commit of these python example files
20701
20702 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20703
20704         * panel-applet/NMWirelessApplet.c
20705                 - Make current device bold
20706                 - Show more user-friendly device name if we got one from hal
20707
20708         * panel-applet/NMWirelessAppletDbus.c
20709                 - Grab "info.product" key from hal for network devices
20710                 - Cache the current active device
20711
20712 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20713
20714         * configure.in: Added en_CA to ALL_LINGUAS.
20715
20716 2004-08-27  Christian Rose  <menthos@menthos.com>
20717
20718         * configure.in: Added "sv" to ALL_LINGUAS.
20719
20720 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20721
20722         * Tag NetworkManager-0.2
20723
20724 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20725
20726         * initscripts/Makefile.am
20727         * configure.in: Make pass distcheck
20728
20729         * po/ChangeLog: added
20730
20731 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20732
20733         * panel-applet/NMWirelessApplet.c
20734                 - Remove debugging code
20735                 - Enable device switching from menus
20736
20737         * panel-applet/NMWirelessAppletDbus.[ch]
20738                 - Method for asking NM to switch devices
20739
20740         * src/NetworkManagerDevice.c
20741                 - Set dev->activating earlier, avoids race between
20742                         the dbus signal of "DeviceActivating" and setting
20743                         dev->activating (which is what NM's "status" method call
20744                         looks at)
20745
20746 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20747
20748         * panel-applet/NMWirelessApplet.[ch]
20749                 - Rework menu code to add devices to menu, and to show
20750                         signal strength for each access point.  Code cleanups
20751                         too.
20752
20753         * panel-applet/NMWirelessAppletDbus.c
20754                 - Grab network devices from NetworkManager too
20755                 - Grab quality information from NM for wireless networks
20756
20757         * src/NetworkManagerDbus.[ch]
20758                 - Add dbus methods for getting the HAL UDI from a device and
20759                         for getting its base quality, if its wireless
20760                 - Consolidate some functions (wireless network notifications,
20761                         device notifications)
20762                 - Add method for requesting NM to use a particular device
20763
20764         * src/NetworkManager.c
20765                 - Change for function consolidations from NetworkManagerDbus.c
20766                 - Implement active device locking and user-requested devices
20767                         (ie, tell NM to use a particular device instead of the one
20768                         it autochose)
20769
20770         * src/NetworkManagerDevice.c
20771                 - Add method for getting the base quality of a device, if its
20772                         wireless
20773                 - Grab device base quailty info from iwlib during scans
20774
20775         * src/NetworkManagerPolicy.c
20776                 - Use a user-requested device rather than the auto-chosen device
20777                         if we are told to
20778
20779 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20780
20781         * Makefile.am: add po as a supdir
20782
20783         * autogen.sh: use gnome-autogen.sh
20784
20785         * initscript/Gentoo/.cvsignore:
20786         * initscript/RedHat/.cvsignore: Shut up cvs
20787
20788         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20789
20790         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20791         (nmwa_fill): Use gettext.
20792
20793         * configure.in: add gettext support
20794         * po/.cvsignore:
20795         * po/NetworkManager.pot:
20796         * po/POTFILES.in:
20797
20798 2004-08-26  Seth Nickell  <seth@gnome.org>
20799
20800         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20801         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20802         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20803         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20804         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20805         * panel-applet/NMWirelessApplet.h:
20806
20807         Use a menu bar instead of a button for the main clickable
20808         thingy.
20809         
20810 2004-08-25  Dan Williams <dcbw@redhat.com>
20811
20812         * src/NetworkManagerDevice.c
20813                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20814                         turning encryption off, because the Cisco driver doesn't associate
20815                         with WEP-enabled access points unless we are in "open"
20816
20817 2004-08-25  Dan Williams <dcbw@redhat.com>
20818
20819         * src/NetworkManagerWireless.c
20820                 - Don't try to defererence blank passphrases
20821
20822 2004-08-25  Dan Williams <dcbw@redhat.com>
20823
20824         * panel-applet/NMWirelessApplet.c
20825                 - Rebuild the menu whenever a user clicks
20826
20827 2004-08-25  Dan Williams <dcbw@redhat.com>
20828
20829         * panel-applet/NMWirelessApplet.c
20830                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20831                         when NM isn't around or when its not connected
20832
20833         * src/NetworkManagerDevice.c
20834                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20835                         canceled.
20836
20837 2004-08-25  Dan Williams <dcbw@redhat.com>
20838
20839         * panel-applet/NMWirelessAppletDbus.c
20840                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20841                         for getting encryption, and don't stop on "val" once we've gotten it
20842                         from NetworkManager.  Short form:  encryption should now show up.
20843
20844 2004-08-25  Dan Williams <dcbw@redhat.com>
20845
20846         * panel-applet/NMWirelessApplet.c
20847                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20848                         network to associate with
20849
20850 2004-08-25  Dan Williams <dcbw@redhat.com>
20851
20852         * panel-applet/*
20853                 - Rework the panel applet to do all DBUS communication in a separate
20854                         thread
20855
20856 2004-08-25  Dan Williams <dcbw@redhat.com>
20857
20858         * info-daemon/NetworkManagerInfo.[ch]
20859                 - Remove "get_next_priority" function
20860
20861         * info-daemon/NetworkManagerInfoDbus.[ch]
20862                 - Convert "priority" functions to "timestamp"
20863
20864 2004-08-25  Dan Williams <dcbw@redhat.com>
20865
20866         * src/NetworkManagerAP.[ch]
20867                 - Add a "enc_method_good" member and accessors to an Access Point
20868                         to signal when we've found the correct encryption method
20869                         for an access point
20870                 - Add a "timestamp" member and accessors, remove "priority" member
20871                         and accessors (use timestamps instead)
20872                 - Rename "wep_key"->"enc_key"
20873                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20874                         for a specified encryption method using the access points
20875                         source encryption key/passphrase
20876
20877         * src/NetworkManagerAPList.c
20878                 - When updating a network with dbus, grab timestamp now instead of
20879                         priority
20880
20881         * src/NetworkManagerDBus.[ch]
20882                 - Add signal for "DeviceActivating"
20883                 - Switch priority->timestamp
20884
20885         * src/NetworkManagerDevice.c
20886                 - Change references of "wep_key" -> "enc_key" or "key"
20887                 - Signal DeviceActivating when starting activation
20888                 - When activating a wireless device, if the access point we are connecting
20889                         to is encrypted, and we have a source key, try to generate a mangled
20890                         key and use that (ie, generate real WEP key from a passphrase)
20891                 - Rework device activation to fallback to other encryption methods if
20892                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20893                         first, then if that doesn't work fall back to direct hex key).
20894                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20895                         priority.  We now prefer the latest access point used, rather than using
20896                         a priority scheme
20897                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20898                         points we've just discovered, and merge in correct info from the global
20899                         access point lists
20900
20901 2004-08-25  Seth Nickell  <seth@gnome.org>
20902
20903         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20904         Debian support.
20905         
20906         * src/Makefile.am:
20907         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20908         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20909         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20910         (nm_system_delete_default_route),
20911         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20912         (nm_system_load_device_modules):
20913
20914 2004-08-24  Dan Willemsen <dan@willemsen.us>
20915
20916         * src/NetworkManager.c
20917           src/backends/NetworkManagerGentoo.c
20918           src/backends/NetworkManagerRedHat.c
20919           src/backends/NetworkManagerSystem.h
20920                 - Implement preliminary Gentoo support, adding a
20921                         nm_system_init function to the backend specification
20922
20923         * configure.in
20924                 - Distribution auto-detection, lowercase any user-fed
20925                         distribution names
20926
20927         * initscript/.cvsignore
20928           initscript/Makefile.am
20929           initscript/RedHat/Makefile.am
20930           initscript/RedHat/NetworkManager
20931           initscript/Gentoo/Makefile.am
20932           initscript/Gentoo/NetworkManager
20933                 - Refactored initscript code separately for each
20934                         distribution
20935
20936 2004-08-23  Dan Williams <dcbw@redhat.com>
20937
20938         * configure.in
20939           src/Makefile.am
20940           src/NetworkManagerDevice.c
20941           src/NetworkManager.c
20942           src/NetworkManagerUtils.[ch]
20943           src/backends/NetworkManagerSystem.h
20944           src/backends/NetworkManagerRedHat.c
20945           src/backends/NetworkManagerGentoo.c
20946                 - Refactor system-specific code into separate backends for
20947                         each distribution
20948
20949 2004-08-23  Dan Willemsen <dan@willemsen.us>
20950
20951         * dispatcher-daemon/NetworkManagerDispatcher.c
20952           info-daemon/NetworkManagerInfo.[ch]
20953           info-daemon/NetworkManagerInfoDbus.c
20954           info-daemon/NetworkManagerInfoPassphraseDialog.c
20955           src/NetworkManager.c
20956           src/NetworkManagerAP.c
20957           src/NetworkManagerAPList.c
20958           src/NetworkManagerDbus.c
20959           src/NetworkManagerDevice.c
20960           src/NetworkManagerPolicy.c
20961           src/NetworkManagerUtils.[ch]
20962           src/NetworkManagerWireless.c
20963                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20964
20965         * src/NetworkManager.c
20966                 - Fixed usage wording for --no-daemon
20967
20968 2004-08-23  Dan Williams <dcbw@redhat.com>
20969
20970         * panel-applet/NMWirelessApplet.c
20971                 - Update our state every second to get more responsive panel icon
20972                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20973                         was causing our marching ants status blips to never move when
20974                         looking for a wireless network
20975
20976         * src/NetworkManagerDevice.c
20977                 - (nm_device_activation_begin): return if activation has already begun
20978                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20979                         trusted/preferred network into the device's access point when the
20980                         scan list is processed
20981
20982 2004-08-23  Dan Williams <dcbw@redhat.com>
20983
20984         * initscript/NetworkManager
20985                 - Use NMLaunchHelper rather than sleeping
20986
20987         * initscript/NMLaunchHelper.c
20988           Makefile.am
20989                 - Add helper program that exits only when NM activates a device,
20990                         or 10 seconds have passed, whichever happens first.  This
20991                         stops the boot processes until we have a network connection,
20992                         which NM can't do because it daemonizes and brings the connection
20993                         up in the background.  Allows stuff like NFS to not die.
20994
20995 2004-08-20  Dan Williams <dcbw@redhat.com>
20996
20997         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20998                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20999                         for a network, set the essid as well since it may not exist yet
21000                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21001                         since WEP keys/passphrases are long and prone to entry-error
21002
21003         * panel-applet/Makefile.am
21004           panel-applet/wired.png
21005                 - Add (pulled from system-config-network temporarily)
21006
21007         * panel-applet/NMWirelessApplet.[ch]
21008                 - Show wired picture when a wired connection is used
21009                 - Rename wireless icon enums, adding WIRELESS
21010
21011         * src/NetworkManagerDevice.c
21012                 - (nm_device_activate_wireless): unset encryption before bringing
21013                         down the card and setting the essid
21014                 - (nm_device_activatin_worker): request a key from the user if the
21015                         AP we are connecting to is encrypted but we don't have a key
21016                         for it yet
21017                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21018                         strcmp() that prevented a user-entered key from actually getting
21019                         used
21020
21021 2004-08-16  Dan Williams <dcbw@redhat.com>
21022
21023         * initscript/NetworkManager
21024                 - Check for /sbin/ip
21025                 - Do sysctl magic that network service does
21026                 - sleep 4s after start to allow network time to come up [hack]
21027
21028         * src/Makefile.am
21029           src/NMLoadModules
21030                 - Load all network device kernel modules (hal doesn't know devices
21031                         are ethernet until the module is loaded, and therefore we don't know)
21032
21033         * src/NetworkManager.c
21034                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21035                         network devices, and bring up the loopback device explicitly
21036
21037         * src/NetworkManagerUtils.[ch]
21038                 - (nm_enable_loopback): new function
21039
21040 2004-08-13  Dan Williams <dcbw@redhat.com>
21041
21042         * configure.in
21043           panel-applet/Makefile.am
21044                 - Fix up cleanfiles and server_DATA/server_in_files
21045
21046         * README
21047                 - Update with some comments on theory of operation
21048
21049         * CONTRIBUTING
21050           Makefile.am
21051                 - Add CONTRIBUTING
21052
21053 2004-08-12  Dan Williams <dcbw@redhat.com>
21054
21055         * info-daemon/passphrase.glade
21056                 - Set window title to " "
21057
21058         * panel-applet/Makefile.am
21059           panel-applet/keyring.png
21060                 - Deliver to correct place
21061
21062         * panel-applet/NMWirelessApplet.[ch]
21063                 - Add comments
21064                 - Remove applet->have_active_device as its no longer used
21065                 - (nmwa_load_theme): load keyring.png too
21066                 - (error_dialog): remove
21067                 - (show_warning_dialog): subsume functionality of error dialog too
21068                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21069                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21070                         the networks menu
21071                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21072                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21073                         and when we get broadcasts of changed wireless access points only, not when the
21074                         user clicks on the button to display the menu (too long of a wait)
21075                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21076                         networks that are encrypted
21077                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21078                         menu item with g_object_set_data()
21079
21080         * panel-applet/NMWirelessAppletDbus.[ch]
21081                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21082                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21083                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21084                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21085                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21086                         activation/deactivation signals and rebuild the menu when they happen
21087
21088         * src/NetworkManager.c
21089                 - (main): use new nm_spawn_process() rather than system()
21090
21091         * src/NetworkManagerDbus.c
21092                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21093                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21094                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21095                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21096                         to freeze the best_ap.
21097
21098         * src/NetworkManagerDevice.[ch]
21099                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21100                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21101                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21102                         ap list
21103
21104         * src/NetworkManagerUtils.[ch]
21105                 - (nm_spawn_process): add replacement for system() usage
21106
21107 2004-08-11  Dan Williams <dcbw@redhat.com>
21108
21109         * panel-applet/NMWirelessApplet.[ch]
21110                 - Fix up copyright and credits to include Bastien and Eskil,
21111                         who created the gnome-applets wireless applet, from whose
21112                         skeleton this one was created
21113                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21114                         pixmap to draw is computed during nmwa_update_state()
21115                 - Applet now shows itself all the time due to panel packing issues
21116                         which caused the applet to previously never come back after hiding.
21117                         When a wired device is the active device, the applet shows "not connected"
21118
21119         * panel-applet/NMWirelessAppletDbus.[ch]
21120                 - Clean up error messages and show what function they are from
21121                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21122                 - Add new device type getters, and a status getter
21123
21124         * src/NetworkManagerDbus.c
21125                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21126                         network is actually in the device's ap list
21127                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21128
21129         * src/NetworkManagerDevice.c
21130                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21131                         card
21132
21133         * test/nmclienttest.c
21134                 - Report status of NetworkManager too
21135
21136 2004-08-11  Dan Williams <dcbw@redhat.com>
21137
21138         * info-daemon/NetworkManagerInfo.c:
21139                 - (main): clean up Seth's code style
21140
21141         * info-daemon/NetworkManagerInfoDbus.c:
21142                 - Use the more aptly-named path/service/interface constants from NetworkManager
21143                 - Don't return empty strings ("") as object paths ever, instead return errors
21144
21145         * panel-applet/NMWirelessApplet.c:
21146                 - Clean up Seth's code style
21147
21148         * src/NetworkManager.[ch]
21149                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21150                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21151
21152         * src/NetworkManagerAPList.[ch]
21153                 - Move Iter struct right above the iter functions to preserve opacity
21154                 - (nm_ap_list_remove_ap): implement
21155                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21156                         remove AP if NetworkManagerInfo doesn't know anything about it
21157                 - (nm_ap_list_diff): user NMAPList iterators
21158                 - (nm_ap_list_print_members): implement debugging function
21159
21160         * src/NetworkManagerDbus.[ch]
21161                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21162                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21163                         and move the actual key setting stuff into NetworkManagerDevice.c
21164                 - (nm_dbus_get_network_priority): return -1 now on errors
21165                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21166                         get lost, and force the active device to update its "best" ap when AP lists change
21167                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21168                         method call due to pending_device member removal
21169
21170         * src/NetworkManagerDevice.[ch]
21171                 - Move NMDevice structure to the top
21172                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21173                 - Remove Pending Action stuff from everywhere
21174                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21175                         activation for us.  This thread blocks until all conditions for activation have
21176                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21177                         then setup up the interface and runs dhclient.  We have to do this because there
21178                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21179                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21180                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21181                         can tell nm_device_activation_worker() that we've got a key
21182                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21183                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21184                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21185                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21186
21187         * src/NetworkManagerPolicy.c
21188                 - Remove anything to do with pending_device
21189                 - Adjust device activation to deal with activation-in-worker-thread
21190
21191         * src/NetworkManagerUtils.c
21192                 - Clean up locking debugging a bit
21193
21194         * src/NetworkManagerWireless.[ch]
21195                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21196                         was badly named and is better as a device function
21197
21198         * panel-applet/.cvsignore: add
21199
21200 2004-08-09  Seth Nickell  <seth@gnome.org>
21201
21202         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21203         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21204         (nmwa_new):
21205         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21206
21207         Don't load the menus until clicked on (also removes a call outside
21208         normal code paths at first load).
21209
21210         Hide applet when NM is not present.
21211         
21212         Improve printf debugging stuff.
21213         
21214 2004-08-09  Dan Williams <dcbw@redhat.com>
21215
21216         * dispatcher-daemon/NetworkManagerDispatcher.c:
21217                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21218                 - Use constants for NetworkManager interface, service, and path
21219
21220 2004-08-09  Dan Williams <dcbw@redhat.com>
21221
21222         * src/NetworkManagerDbus.c:
21223                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21224                         instead return an error message
21225                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21226                         on a wired device.  Also never return an empty object path, instead return an error message
21227
21228 2004-08-06  Seth Nickell  <seth@gnome.org>
21229
21230         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21231
21232         Check the error code when getting a connection.
21233         
21234         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21235
21236         Check if the NM service exists when initializing (rather than
21237         assuming it does not).
21238         
21239         * src/NetworkManagerDbus.c: (nm_dbus_init):
21240
21241         Don't acquire the well-known service name until we have
21242         registered object/path handlers and can actually receive
21243         calls.
21244         
21245 2004-08-06  Dan Williams <dcbw@redhat.com>
21246
21247         * panel-applet/*
21248                 - Add panel applet
21249
21250         * src/NetworkManagerPolicy.c
21251           src/NetworkManager.c
21252                 - Get access point lists from NetworkManagerInfo on-demand,
21253                         and look for ServiceCreate/ServiceDeleted signals to see when
21254                         we should query NMI for lists
21255         * src/NetworkManagerAPList.c
21256                 - Make sure to init the list's mutex
21257                 - Convert traversals of the list over to the list iter functions
21258
21259         * src/NetworkManagerDbus.[ch]
21260                 - Use more aptly-named path/service/interface constants
21261                 - Treat both active and pending devices the same for "getActiveDevice"
21262                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21263
21264         * src/NetworkManagerDevice.c
21265                 - Honor "ignored" network list when picking best ap to use
21266
21267 2004-08-06  Seth Nickell  <seth@gnome.org>
21268
21269         * aclocal.m4:
21270
21271         Autogenerated, remove from CVS.
21272         
21273         * autogen.sh:
21274
21275         Don't hardcode automake version.
21276         
21277         * configure.in:
21278         * info-daemon/Makefile.am:
21279         * info-daemon/NetworkManagerInfo.c: (main):
21280
21281         Use GnomeProgram et al. for doing session management.
21282         Use popt stuff for argument parsing rather than doing
21283         it manugally.
21284         
21285 2004-08-05  Dan Williams <dcbw@redhat.com>
21286
21287         * test/nminfotest.c
21288                 - Update to new NMI dbus API, check different network types
21289
21290         * info-daemon/NetworkManagerInfoDbus.c
21291                 - Update to new NM dbus API, ie network type sent in query message
21292
21293 2004-08-05  Dan Williams <dcbw@redhat.com>
21294
21295         * An assload of changes
21296
21297 2004-08-02  Dan Williams <dcbw@redhat.com>
21298
21299         * TODO
21300                 - new task: proper logging support
21301
21302         * info-daemon/NetworkManagerInfo.c
21303                 - Correct spelling of "canceled"
21304                 - Correct casting of objects for g_signal_connect()
21305
21306         * info-daemon/NetworkManagerInfoDbus.c
21307                 - Add defines for NetworkManager namespace and object path, and use them
21308                 - Add filter function to trap new signals from NetworkManager:
21309                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21310
21311         * info-daemon/passphrase.glade
21312                 - Change name of "ok" button to "Login to Network..."
21313                 - Mark invisible
21314
21315         * src/NetworkManager.c
21316                 - Code and debug message cleanups
21317                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21318                 - (nm_add_initial_devices) Check returned string array of devices
21319                         and don't try to add devices if array is NULL
21320                 - (main) Initialize libhal a bit later, make code a bit clearer
21321
21322         * src/NetworkManagerAP.[ch]
21323                 - New accessor and data member "matched": used to speed up AP list
21324                         diffing
21325                 - New accessor and data member "enc_method": will be used during key
21326                         fallback to cache which passphrase->key conversion actually works
21327                         so we don't have to do it every time
21328
21329         * src/NetworkManagerAPList.[ch]
21330                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21331                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21332                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21333                         dbus in response to those differences
21334
21335         * src/NetworkManagerDbus.[ch]
21336                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21337                         make an object path for that access point (NOTE that we don't yet check to
21338                         make sure that access point is actually in the device's AP list yet)
21339                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21340                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21341                         New: signal appearance/disappearance of wireless networks
21342                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21343                         key entry
21344
21345         * src/NetworkManagerDevice.[ch]
21346                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21347                 - (nm_device_ap_list_get) New: return the AP list (static function)
21348                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21349                         new one resulting from the scan with the old one
21350
21351         * src/NetworkManagerWireless.c
21352                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21353
21354         * test/nminfotest.c
21355                 - #define object paths and namespaces and use the #defines rather than static strings
21356                 - Test out user-key functionality of NetworkManagerInfo too
21357
21358 2004-07-29  Dan Williams <dcbw@redhat.com>
21359
21360         * info-daemon/NetworkManagerInfoDbus.c
21361           src/NetworkManagerDbus.c
21362                 - Update to current DBus (ie don't use decomposed paths when registering
21363                         object paths/fallbacks)
21364
21365 2004-07-27  Dan Williams <dcbw@redhat.com>
21366
21367         * Remove various Makefile.in files
21368
21369         * TODO
21370                 - Add some more items
21371
21372         * configure.in
21373                 - Add checks for OpenSSL/md5 headers and libs
21374
21375         * src/Makefile.am
21376                 - Use OpenSSL CFLAGS
21377
21378         * src/NetworkManagerAP.[ch]
21379                 - Remove 'stamp' functions, replace with 'invalid' functions
21380                         to support user cancelling WEP key entry
21381
21382         * src/NetworkManagerDbus.c
21383                 - Remove 'stamp' return functions
21384                 - Treat returned user key as a passphrase and convert to a WEP key,
21385                         but don't actually use the WEP key yet.  We use the returned user
21386                         key as a hexadecimal WEP key until we can figure out a UI for
21387                         passphrase-vs-hex key
21388
21389         * src/NetworkManagerWireless.[ch]
21390                 - Add passphrase-to-128bit-key function
21391
21392 2004-07-27  Dan Williams <dcbw@redhat.com>
21393
21394         * TODO
21395                 - Add a couple of items
21396
21397 2004-07-27  Dan Williams <dcbw@redhat.com>
21398
21399         * info-daemon/NetworkManagerInfo.c
21400                 - Update allowed network's GConf key when user enters a WEP key explicitly
21401
21402         * info-daemon/NetworkManagerDbus.c
21403                 - Fix some comments
21404                 - nmi_dbus_get_allowed_networks(): kill warning
21405
21406 2004-07-27  Dan Williams <dcbw@redhat.com>
21407
21408         * initscript/Makefile.in
21409                 - Remove
21410
21411         * initscript/Makefile.am
21412                 - Add correct rules to install the init.d initscript
21413
21414         * info-daemon/NetworkManagerInfoDbus.c
21415                 - Remove debug fprintf
21416
21417         * src/NetworkManagerDbus.[ch]
21418                 - Remove debug fprintfs
21419                 - Add macros for NetworkManagerInfo object path/namespace
21420                 - Use said macros instead of constant strings
21421
21422 2004-07-27  Dan Williams <dcbw@redhat.com>
21423
21424         * initscript/.cvsignore
21425                 - Add
21426
21427         * info-daemon/Makefile.am
21428                 - Install .glade files and keyring.png
21429                 - Fix stupid omission of a \ that caused half the flags not to be
21430                         passed to gcc
21431
21432         * info-daemon/NetworkManagerInfo.c
21433                 - gtk_signal_connect->g_signal_connect
21434                 - Alert NetworkManagerInfo to new glade file location
21435
21436 2004-07-27  Dan Williams <dcbw@redhat.com>
21437
21438         * test/nmclienttest.c
21439           test/nminfotest.c
21440                 - Add missing <dbus/dbus.h> headers
21441                 - Add GPL message at top
21442
21443 2004-07-27  Dan Williams <dcbw@redhat.com>
21444
21445         * src/NetworkManagerAPList.[ch]
21446           src/Makefile.am
21447                 - Add.  Deal with allowed network list additions, deletions, and updates
21448
21449         * dispatcher-daemon/NetworkManagerDispatcher.c
21450                 - Add missing <dbus/dbus.h> header
21451
21452         * info-daemon/NetworkManagerInfo.[ch]
21453                 - Add missing <dbus/dbus.h> header
21454                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21455                         network change
21456                 - Better error checking
21457
21458         * info-daemon/NetworkManagerInfoDbus.[ch]
21459                 - Add missing <dbus/dbus.h> header
21460                 - Convert to using dbus_message_append_args/dbus_message_get_args
21461                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21462                         that an allowed network changed.  We don't want to signal on individual
21463                         keys _inside_ an allowed network really, just want NM to query the info
21464                         daemon for updated info on all keys.
21465                 - Better error checking
21466
21467         * src/NetworkManager.[ch]
21468                 - Add missing <dbus/dbus.h> header
21469                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21470                 - Zero out NMData structure on free
21471                 - No longer use a thread for allowed_ap_list updating, instead its now done
21472                         through dbus queries against NetworkManagerInfo
21473                 - Populate allowed_ap_list initially before adding existing network devices
21474                         to the device list, so wireless devices can get their "best" AP
21475
21476         * src/NetworkManagerDbus.[ch]
21477                 - Convert to using dbus_message_append_args/dbus_message_get_args
21478                 - Better error checking
21479                 - Implement Allowed Network info functions to request allowed network
21480                         info from NetworkManagerInfo
21481                 - Implement the filter function to process signals from NetworkManagerInfo
21482                         about changing allowed networks
21483
21484         * src/NetworkManagerDevice.c
21485                 - Fix file descriptor leak in nm_device_update_ip4_address()
21486
21487 2004-07-27  Dan Williams <dcbw@redhat.com>
21488
21489         * .cvsignore
21490           src/.cvsignore
21491           test/.cvsignore
21492           dispatcher-daemon/.cvsignore
21493           info-daemon/.cvsignore
21494                 - Add .cvsignore files to reduce noise when diffing
21495
21496 2004-07-24  Dan Williams <dcbw@redhat.com>
21497
21498         * src/NetworkManager.[ch]
21499           src/NetworkManagerDbus.[ch]
21500           src/NetworkManagerDevice.[ch]
21501           src/NetworkManagerPolicy.c
21502           src/NetworkManagerWireless.[ch]
21503                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21504                 - Pass the NMData application data structure through all calls
21505                         that need it so we can get rid of nm_get_global_data()
21506                 - Change deallocation of the allowed_ap_list GSList in preparation
21507                         for not completely clearing it every time we get an update,
21508                         but instead getting incremental updates via GConf/dbus
21509
21510 2004-07-22  Dan Williams <dcbw@redhat.com>
21511
21512         * configure.in
21513                 - Add checks for GConf libs & headers & flags
21514
21515         * info-daemon/Makefile.am
21516                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21517
21518         * info-daemon/NetworkManagerInfo.[ch]
21519                 - Don't use gquarks for data storage, just use normal data storage
21520                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21521
21522         * info-daemon/NetworkManagerDbus.[ch]
21523                 - Add method call for getting allowed networks
21524                 - Add method calls for getting an allowed network's essid, priority, and key
21525                 - Hook the method calls up to GConf
21526                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21527                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21528                 
21529         * src/NetworkManagerDbus.[ch]
21530                 - Switch for enumeration of networks to using essid instead
21531
21532         * test/Makefile.am
21533           test/nminfotest.c
21534                 - Add test program for NetworkManagerInfo
21535
21536 2004-07-19  Dan Williams <dcbw@redhat.com>
21537
21538         * src/NetworkManagerDbus.c
21539                 - Switch from indexed device paths to names.  Less code, more efficient.
21540                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21541
21542 2004-07-19  Dan Williams <dcbw@redhat.com>
21543
21544         * dispatcher-daemon/NetworkManagerDispatcher.c
21545                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21546
21547 2004-07-19  Dan Williams <dcbw@redhat.com>
21548
21549         * Makefile.am
21550                 - Add info-daemon directory
21551
21552         * configure.in
21553                 - Check for glade libs and headers
21554                 - Add info-daemon directory
21555
21556         * src/NetworkManagerAP.c
21557                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21558                         copied over to the new AP.
21559
21560         * src/NetworkManagerDbus.c
21561           src/NetworkManagerDbus.h
21562                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21563                 - Remove nm_dbus_signal_need_key_for_network()
21564                 - Add disabled code for asynchronous user wep key callbacks
21565                 - Add functions for getting, setting, and cancelling user key operations
21566                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21567                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21568
21569         * src/NetworkManagerDevice.c
21570           src/NetworkManagerDevice.h
21571                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21572                         logic is in device activation now
21573                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21574                         key is wrong) trigger get-user-key pending action
21575                 - Implement get-user-key pending action stuff, tie to dbus messages
21576                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21577                 - Add nm_device_ap_list_get_ap_by_essid()
21578                 - Instead of copying "best" access points, ref them instead so that the key we set
21579                         sticks around
21580
21581         * src/NetworkManagerPolicy.c
21582                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21583                 - Don't cancel pending actions on a device if its the same device as last iteration
21584                 - Only promote pending_device->active_device if activation was successfull
21585
21586         * src/Makefile.am
21587                 - Rename nmclienttest->nmtest
21588
21589         * info-daemon/Makefile.am
21590           info-daemon/NetworkManagerInfo.c
21591           info-daemon/NetworkManagerInfo.h
21592           info-daemon/NetworkManagerInfoDbus.c
21593           info-daemon/NetworkManagerInfoDbus.h
21594           info-daemon/passphrase.glade
21595           info-daemon/NetworkManagerInfo.conf
21596           info-daemon/keyring.png
21597                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21598                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21599                         lists to NetworkManager by proxying user's GConf
21600           
21601
21602 2004-07-15  Dan Williams <dcbw@redhat.com>
21603
21604         * src/Makefile.am
21605                 - Turn on warnings
21606
21607         * src/NetworkManager.c
21608                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21609                         that doing the deactivation ourselves
21610                 - Cancel an pending actions on a device if its being removed
21611                 - Break up link state checking a bit, make non-active wireless cards
21612                         deactivated to save power
21613                 - Remove unused variables
21614
21615         * src/NetworkManager.h
21616                 - Add support for "pending" device
21617
21618         * src/NetworkManagerAP.h
21619           src/NetworkManagerAP.c
21620                 - Add support for determining whether and AP has encryption enabled or not
21621                 - AP address is now "struct ether_addr" rather than a string
21622
21623         * src/NetworkManagerDbus.h
21624           src/NetworkManagerDbus.c
21625                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21626                 - Changes for AP address from struct ether_addr->string
21627
21628         * src/NetworkManagerDevice.h
21629           src/NetworkManagerDevice.c
21630                 - Remove unused variables, fix warnings
21631                 - Add support for Pending Actions (things that block a device from being "active"
21632                         until they are completed).
21633                 - First pending action:  Get a WEP key from the user
21634                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21635                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21636                 - Update wireless link checking to try to determine if the AP we are associated
21637                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21638                         trigger the GetUserKey pending action on the device
21639                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21640                         up in that case, otherwise we can't scan or link-check on it
21641                 - Add IP address change notifications at appropriate points (still needs some work)
21642                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21643
21644         * src/NetworkManagerPolicy.h
21645           src/NetworkManagerPolicy.c
21646                 - Split out "best" access point determiniation into separate function
21647                 - Make device activation 2-stage:  first the device is pending, then
21648                         in the next iteration through it becomes "active" unless it has
21649                         pending actions
21650
21651         * src/NetworkManagerUtils.h
21652           src/NetworkManagerUtils.c
21653                 - Clean up unused variables and warnings
21654                 - Wrap our debug macros in {} to prevent possible confusion
21655
21656         * src/NetworkManagerWireless.c
21657                 - Forgot to return current best priority, which lead to last available AP always
21658                         being chosen no matter what its priority was.  Corrected.
21659
21660 2004-07-15  Dan Williams <dcbw@redhat.com>
21661
21662         * dispatcher-daemon/Makefile.am
21663                 - Turn on warnings
21664
21665         * dispatcher-daemon/NetworkManagerDispatcher.c
21666                 - Remove unused variables due to warnings
21667                 - Fix some comments
21668                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21669
21670 2004-07-06  Dan Williams <dcbw@redhat.com>
21671
21672         * src/NetworkManager.c
21673                 - Add IPv4 address update for active device during link state check
21674                 - Don't allow wireless cards to be powered up when they are not the
21675                         active device
21676
21677         * src/NetworkManagerDbus.c
21678           src/NetworkManagerDbus.h
21679                 - Add DBUS IPv4 address change signal
21680                 - Add DBUS IPv4 address get method for devices
21681
21682         * src/NetworkManagerDevice.c
21683                 - Make setting the WEP key actually work
21684                 - Move IP address get/set/update stuff here, per-device
21685                 - Power down/bring down wireless device when deactivated
21686                 - For scanning wireless devices, if first scan returned ENODATA, try again
21687
21688         * src/NetworkManagerPolicy.c
21689                 - Only set the WEP key for an allowed access point if there is one.
21690                         We were setting it to be blank if one wasn't specified.
21691
21692         * src/NetworkManagerUtils.h
21693           src/NetworkManagerUtils.c
21694                 - Move the IP address stuff to NetworkManagerDevice.c
21695
21696         * dispatcher-daemon/NetworkManagerDispatcher.c
21697                 - Add device IPv4 address change notification stuff
21698
21699 2004-07-05  Dan Williams <dcbw@redhat.com>
21700
21701         * dispatcher-daemon/NetworkManagerDispatcher.c
21702                 - A bit more descriptive state message
21703                 - Don't segfault when reading directory
21704
21705         * src/NetworkManager.h
21706                 - Remove NMData desired_ap member, its now
21707                         per-device rather than global
21708
21709         * src/NetworkManager.c
21710                 - Remove references to desired_ap
21711                 - Move the allowed AP list refresh stuff into a thread
21712
21713         * src/NetworkManagerDevice.c
21714           src/NetworkManagerDevice.h
21715                 - Each wireless device now has a "best ap"
21716                 - Make device activate/deactivate functions per-device
21717                 - Make wireless scanning per-device
21718                 - Add IPv4 address discover functions, stub IPv6 ones
21719                 - Move ethernet address validation functions to NetworkManagerUtils.c
21720                 - Add wireless access point accessor function
21721                 - Get/Set functions for "best ap"
21722
21723         * src/NetworkManagerPolicy.c
21724                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21725                 - Deal with per-device "best ap" rather than data->desired_apa
21726                 - Implement allowed access point worker thread
21727                 - Add nm_policy_essid_is_allowed() function
21728
21729         * src/NetworkManagerUtils.c
21730           src/NetworkManagerUtils.h
21731                 - Add nm_ethernet_address_is_valid() function
21732                 - Add IPv4/IPv6 address get functions
21733
21734         * src/NetworkManagerWireless.c
21735           src/NetworkManagerWireless.h
21736                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21737
21738 2004-06-29  Dan Williams <dcbw@redhat.com>
21739
21740         * dispatcher-daemon/NetworkManagerDispatcher.c
21741                 - Implement script callout functionality
21742
21743 2004-06-24  Dan Williams <dcbw@redhat.com>
21744
21745         * NetworkManager.c
21746             - Spacing cleanups
21747             - Flush device routes and ip addresses when added to the device list
21748
21749         * NetworkManagerDbus.c
21750             - Spacing cleanups
21751             - Add missing returns in the two signal functions
21752         
21753         * NetworkManagerPolicy.c
21754             - Spacing and variable cleanups
21755
21756 2004-06-24  Dan Williams <dcbw@redhat.com>
21757
21758         * Makefile.am
21759           Makefile.in
21760           configure.in
21761           dispatcher-daemon/Makefile.am
21762           dispatcher-daemon/Makefile.in
21763           dispatcher-daemon/NetworkManagerDispatcher.c
21764             - Add a daemon that receives signals from NetworkManager
21765                         and will (eventually) call scripts in /etc/somewhere
21766                         when devices go up or down.
21767         
21768         * NetworkManager.c
21769             - Spacing cleanups
21770             - Flush device routes and ip addresses when added to the device list
21771
21772         * NetworkManagerDbus.c
21773             - Spacing cleanups
21774             - Add missing returns in the two signal functions
21775         
21776         * NetworkManagerPolicy.c
21777             - Spacing and variable cleanups
21778             - Rename nm_policy_switch_interface->nm_policy_switch_device
21779             - nm_policy_switch_device():
21780                                 Use kill (pid) instead of system ("kill <pid>")
21781             - nm_state_modification_monitor():
21782                                 Add wireless essid to output of debug statements
21783                                 Correct typo in device compare to switch or not (should be !=)
21784                                 Don't sleep after sending "no longer active" signal, was useless
21785
21786 2004-06-24  Dan Williams <dcbw@redhat.com>
21787
21788         * Initial import