2008-11-17 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-17  Dan Williams  <dcbw@redhat.com>
2
3         * system-settings/plugins/ifcfg-fedora/reader.c
4                 - (read_mac_address): clean up
5                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
6                         expects
7
8         * system-settings/plugins/ifcfg-fedora/plugin.c
9                 - (read_one_connection): don't segfault on NULL errors
10
11 2008-11-14  Dan Williams  <dcbw@redhat.com>
12
13         * Tag 0.7.0-rc2
14
15 2008-11-14  Dan Williams  <dcbw@redhat.com>
16
17         Handle gateways on different subnets
18
19         * src/NetworkManagerSystem.c
20                 - (add_ip4_route_to_gateway): gateway route should be link scope and
21                         a host route
22                 - (replace_default_ip4_route): use a destination address too; gateway
23                         address should be /0; don't leak the gateway route object
24
25 2008-11-14  Dan Williams  <dcbw@redhat.com>
26
27         * libnm-glib/libnm_glib.ver
28           libnm-glib/nm-dbus-settings-system.c
29           libnm-glib/nm-dbus-settings-system.h
30                 - Add libnm-glib bits for CanModify
31
32 2008-11-14  Dan Williams  <dcbw@redhat.com>
33
34         * introspection/nm-settings-system.xml
35           system-settings/src/dbus-settings.c
36           system-settings/src/dbus-settings.h
37                 - Add a "CanModify" property to indicate if any plugins support
38                         connection modification
39
40 2008-11-14  Dan Williams  <dcbw@redhat.com>
41
42         Relicense libnm-glib to LGPLv2+ with agreement from contributors
43
44 2008-11-14  Dan Williams  <dcbw@redhat.com>
45
46         * vpn-manager/nm-vpn-connection.c
47                 - (plugin_state_changed): clear VPN secrets on error to ensure they
48                         are always requested from the settings service (rh #429287)
49
50 2008-11-13  Dan Williams  <dcbw@redhat.com>
51
52         * libnm-util/crypto.c
53                 - (crypto_get_private_key_data): fix bad initial arg type checking
54                         from pkcs#12 patch
55
56 2008-11-13  Dan Williams  <dcbw@redhat.com>
57
58         Add support for PKCS#12 private keys (bgo #558982)
59
60         * libnm-util/crypto.c
61           libnm-util/crypto.h
62                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
63                         take a GByteArray instead of a filename
64                 - (file_to_g_byte_array): handle private key files too
65                 - (decrypt_key): take a GByteArray rather than data + len
66                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
67                         one function that takes a filename, and one that takes raw data;
68                         detect pkcs#12 files as well
69                 - (crypto_load_and_verify_certificate): detect file type
70                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
71                         functions
72
73         * libnm-util/crypto_gnutls.c
74                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
75                         whereby tail padding was incorrectly handled, leading to erroneous
76                         successes when trying to decrypt the data
77                 - (crypto_verify_cert): rework somewhat
78                 - (crypto_verify_pkcs12): validate pkcs#12 keys
79
80         * libnm-util/crypto_nss.c
81                 - (crypto_init): enable various pkcs#12 ciphers
82                 - (crypto_decrypt): take a GByteArray rather than data + len
83                 - (crypto_verify_cert): clean up
84                 - (crypto_verify_pkcs12): validate pkcs#12 keys
85
86         * libnm-util/test-crypto.c
87                 - Handle pkcs#12 keys
88
89         * libnm-util/nm-setting-8021x.c
90           libnm-util/nm-setting-8021x.h
91           libnm-util/libnm-util.ver
92                 - Add two new properties, 'private-key-password' and
93                         'phase2-private-key-password', to be used in conjunction with
94                         pkcs#12 keys
95                 - (nm_setting_802_1x_set_ca_cert_from_file,
96                    nm_setting_802_1x_set_client_cert_from_file,
97                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
98                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
99                         type
100                 - (nm_setting_802_1x_get_private_key_password,
101                    nm_setting_802_1x_get_phase2_private_key_password): return private
102                         key passwords
103                 - (nm_setting_802_1x_set_private_key_from_file,
104                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
105                         key from a file, and update the private key password at the same time
106                 - (nm_setting_802_1x_get_private_key_type,
107                    nm_setting_802_1x_get_phase2_private_key_type): return the private
108                         key type
109
110         * src/supplicant-manager/nm-supplicant-settings-verify.c
111                 - Whitelist private key passwords
112
113         * src/supplicant-manager/nm-supplicant-config.c
114                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
115                         add the private key password to the supplicant config, but do not
116                         add the client certificate (as required by wpa_supplicant)
117
118 2008-11-12  Tambet Ingo  <tambet@gmail.com>
119
120         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
121         (add_secrets): Don't add empty secrets to the secrets hash table.
122
123 2008-11-07  Dan Williams  <dcbw@redhat.com>
124
125         * libnm-util/nm-setting-wireless.c
126                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
127                         that cased this function to return garbage, breaking hidden AP
128                         detection
129
130 2008-11-07  Dan Williams  <dcbw@redhat.com>
131
132         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
133
134         * src/NetworkManagerSystem.c
135           src/NetworkManagerSystem.h
136                 - (nm_system_device_set_ip4_route): return the route that was added
137                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
138                         public, clean up, and return the route that was added
139                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
140                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
141                         flags to allow only certain attributes of the NMIP4Config to be
142                         applied
143
144         * src/nm-device.c
145                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
146                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
147                         what's really changed between the old and new configs; don't export
148                         the new IP4 config on failure; always send the DNS info to the
149                         named manager
150
151         * src/vpn-manager/nm-vpn-connection.c
152                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
153                         parent device's IP4Config and re-add the VPN gateway route when it
154                         changes
155                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
156                         nm_system_apply_ip4_config() no longer does) and cache it for later
157                 - (connection_state_changed): move cleanup code to its own function
158                 - (vpn_cleanup): delete any previously added VPN gateway route; and
159                         re-apply the parent device's addresses and routes using
160                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
161
162 2008-11-07  Dan Williams  <dcbw@redhat.com>
163
164         * src/nm-ip4-config.c
165           src/nm-ip4-config.h
166                 - (nm_ip4_config_diff): new function; return the difference between two
167                         IP4 configs
168                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
169
170 2008-11-05  Dan Williams  <dcbw@redhat.com>
171
172         * nm-ip4-config.c
173           nm-ip4-config.h
174                 - (nm_ip4_config_compare): compare two IP4 configs
175
176 2008-11-05  Dan Williams  <dcbw@redhat.com>
177
178         * src/NetworkManagerPolicy.c
179                 - (update_etc_hosts): only add newline if not the last line of the file
180                         (Jonathan Miner)
181
182 2008-11-05  Dan Williams  <dcbw@redhat.com>
183
184         * src/dhcp-manager/nm-dhcp-dhclient.c
185                 - (get_leasefile_for_iface): move lease files back to where dhclient
186                         puts them
187
188 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
189
190         * initscripts/Debian/NetworkManager
191                 - Update to what Debian is actually using
192
193 2008-11-05  Tambet Ingo  <tambet@gmail.com>
194
195         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
196
197 2008-11-03  Dan Williams  <dcbw@redhat.com>
198
199         * system-settings/src/main.c
200                 - (add_default_dhcp_connection): make the fallback connection read-only
201
202         * libnm-glib/nm-settings.c
203           libnm-glib/nm-settings.h
204                 - Add detailed errors
205                 - (impl_exported_connection_update, impl_exported_connection_delete):
206                         return an error if the connection is read-only
207
208         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
209           system-settings/plugins/keyfile/nm-keyfile-connection.c
210           system-settings/src/main.c
211                 - Use more detailed errors
212
213         * system-settings/src/nm-system-config-error.c
214           system-settings/src/nm-system-config-error.h
215           system-settings/src/dbus-settings.c
216                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
217                         NM_SETTINGS_ERROR_INVALID_CONNECTION
218
219 2008-11-02  Dan Williams  <dcbw@redhat.com>
220
221         * Add license headers to everything in src/
222
223 2008-11-02  Dan Williams  <dcbw@redhat.com>
224
225         * Tag 0.7.0-rc1
226
227 2008-11-02  Dan Williams  <dcbw@redhat.com>
228
229         * src/NetworkManagerAP.c
230                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
231                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
232                         secrets when connecting to an encrypted network failed
233
234 2008-10-30  Dan Williams  <dcbw@redhat.com>
235
236         * libnm-util/libnm-util.ver
237           libnm-util/nm-setting-ip6-config.c
238           libnm-util/nm-setting-ip6-config.h
239           libnm-util/Makefile.am
240                 - Make properties private and add accessor functions
241                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
242
243         * libnm-util/nm-connection.c
244           libnm-util/nm-utils.c
245           libnm-util/nm-utils.h
246                 - Ignore IPv6 stuff for now
247
248 2008-10-30  Dan Williams  <dcbw@redhat.com>
249
250         * libnm-util/libnm-util.ver
251           libnm-util/nm-setting-8021x.c
252           libnm-util/nm-setting-8021x.h
253                 - Make properties private and add accessor functions
254
255         * src/supplicant-manager/nm-supplicant-config.c
256           system-settings/plugins/ifcfg-suse/parser.c
257                 - Use 802.1x setting accessors
258
259 2008-10-30  Dan Williams  <dcbw@redhat.com>
260
261         * libnm-util/libnm-util.ver
262           libnm-util/nm-setting-wireless-security.c
263           libnm-util/nm-setting-wireless-security.h
264                 - Make properties private and add accessor functions
265
266         * libnm-util/nm-setting-wireless.c
267           src/NetworkManagerAP.c
268           src/nm-device-wifi.c
269           src/supplicant-manager/nm-supplicant-config.c
270           system-settings/plugins/ifcfg-fedora/reader.c
271           system-settings/plugins/ifcfg-suse/parser.c
272                 - Use wireless security accessors
273
274 2008-10-30  Dan Williams  <dcbw@redhat.com>
275
276         * src/nm-device-ethernet.c
277           src/nm-device-wifi.c
278           src/nm-device.c
279           src/ppp-manager/nm-ppp-manager.c
280                 - Harmonize return checking of ioctl
281
282         * system-settings/plugins/ifcfg-fedora/reader.c
283                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
284
285 2008-10-30  Dan Williams  <dcbw@redhat.com>
286
287         * src/ppp-manager/nm-ppp-manager.c
288                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
289                         ppp_generic module to create it (bgo #533064)
290
291 2008-10-30  Dan Williams  <dcbw@redhat.com>
292
293         Patch from Alexander Sack <asac@canonical.com>
294
295         Fix "ppp connections don't honour ip4 connection settings"
296
297         * src/nm-device-ethernet.c
298                 - (real_act_stage4_get_ip4_config): merge ip4config settings
299                         with results from ppp manager
300
301         * src/nm-serial-device.c
302                 - (real_act_stage4_get_ip4_config): merge ip4config settings
303                         with results from ppp manager
304
305 2008-10-29  Dan Williams  <dcbw@redhat.com>
306
307         * libnm-util/libnm-util.ver
308           libnm-util/nm-setting-ip4-config.c
309           libnm-util/nm-setting-ip4-config.h
310                 - Make properties private and add accessor functions
311
312         * callouts/nm-dispatcher-action.c
313           libnm-glib/libnm-glib-test.c
314           libnm-util/nm-utils.c
315           src/NetworkManagerPolicy.c
316           src/NetworkManagerSystem.c
317           src/NetworkManagerUtils.c
318           src/dhcp-manager/nm-dhcp-dhclient.c
319           src/dhcp-manager/nm-dhcp-manager.c
320           src/dnsmasq-manager/nm-dnsmasq-manager.c
321           src/nm-device-wifi.c
322           src/nm-device.c
323           src/nm-hso-gsm-device.c
324           src/nm-ip4-config.c
325           src/nm-ip4-config.h
326           src/ppp-manager/nm-ppp-manager.c
327           src/vpn-manager/nm-vpn-connection.c
328           system-settings/plugins/ifcfg-fedora/reader.c
329           system-settings/plugins/ifcfg-suse/parser.c
330           system-settings/plugins/ifcfg-suse/plugin.c
331           system-settings/plugins/ifupdown/parser.c
332           test/nm-tool.c
333           vpn-daemons/vpnc/properties/nm-vpnc.c
334                 - Use IP4 accessor functions
335
336 2008-10-29  Tambet Ingo  <tambet@gmail.com>
337
338         Half of it by Dan Williams <dcbw@redhat.com>
339
340         * libnm-util/libnm-util.ver
341         libnm-util/nm-setting-vpn.c
342         libnm-util/nm-setting-vpn.h
343                 - Make properties private and add accessor functions.
344
345         * src/vpn-manager/nm-vpn-connection.c
346         src/vpn-manager/nm-vpn-manager.c
347         system-settings/plugins/keyfile/reader.c
348         vpn-daemons/openvpn/properties/auth-helpers.c
349         vpn-daemons/openvpn/properties/import-export.c
350         vpn-daemons/openvpn/properties/nm-openvpn.c
351         vpn-daemons/openvpn/src/nm-openvpn-service.c
352         vpn-daemons/pptp/auth-dialog/main.c
353         vpn-daemons/pptp/properties/advanced-dialog.c
354         vpn-daemons/pptp/properties/nm-pptp.c
355         vpn-daemons/pptp/src/nm-pptp-service.c
356         vpn-daemons/vpnc/properties/nm-vpnc.c
357         vpn-daemons/vpnc/src/nm-vpnc-service.c
358                 - Use VPN setting accessors.
359
360 2008-10-28  Dan Williams  <dcbw@redhat.com>
361
362         Patch from Tambet Ingo <tambet@gmail.com>
363
364         * libnm-util/libnm-util.ver
365           libnm-util/nm-setting-wireless.c
366           libnm-util/nm-setting-wireless.h
367                 - Make properties private and add accessor functions
368
369         * src/NetworkManagerAP.c
370           src/nm-device-wifi.c
371           src/nm-manager.c
372           src/supplicant-manager/nm-supplicant-config.c
373           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
374           system-settings/plugins/ifcfg-fedora/reader.c
375           system-settings/plugins/ifcfg-suse/parser.c
376           system-settings/plugins/ifupdown/parser.c
377                 - Use wireless setting accessors
378
379 2008-10-27  Dan Williams  <dcbw@redhat.com>
380
381         Patch from Tambet Ingo <tambet@gmail.com>
382
383         * libnm-util/libnm-util.ver
384           libnm-util/nm-setting-ppp.c
385           libnm-util/nm-setting-ppp.h
386                 - Make properties private and add accessor functions
387
388         * src/ppp-manager/nm-ppp-manager.c
389                 - Use ppp setting accessors
390
391 2008-10-27  Dan Williams  <dcbw@redhat.com>
392
393         Patch from Tambet Ingo <tambet@gmail.com>
394
395         * libnm-util/nm-setting.h
396           libnm-util/nm-setting.c
397                 - Make properties private and add accessor functions
398
399         * libnm-util/nm-connection.c
400           libnm-util/nm-setting-8021x.c
401           libnm-util/nm-setting-cdma.c
402           libnm-util/nm-setting-connection.c
403           libnm-util/nm-setting-gsm.c
404           libnm-util/nm-setting-ip4-config.c
405           libnm-util/nm-setting-ip6-config.c
406           libnm-util/nm-setting-ppp.c
407           libnm-util/nm-setting-pppoe.c
408           libnm-util/nm-setting-serial.c
409           libnm-util/nm-setting-template.c
410           libnm-util/nm-setting-vpn.c
411           libnm-util/nm-setting-wired.c
412           libnm-util/nm-setting-wireless-security.c
413           libnm-util/nm-setting-wireless.c
414           system-settings/plugins/keyfile/reader.c
415           system-settings/plugins/keyfile/writer.c
416                 - Use setting accessors
417
418 2008-10-27  Dan Williams  <dcbw@redhat.com>
419
420         * libnm-util/libnm-util.ver
421           libnm-util/nm-setting-connection.c
422           libnm-util/nm-setting-connection.h
423                 - Add a 'read-only' property that indicates the connection cannot be
424                         modified
425
426         * system-settings/plugins/ifcfg-fedora/reader.c
427           system-settings/plugins/ifcfg-suse/parser.c
428           system-settings/plugins/ifupdown/parser.c
429                 - These plugins are read-only at the moment
430
431         * system-settings/plugins/keyfile/reader.c
432           system-settings/plugins/keyfile/writer.c
433                 - Read-only shouldn't get saved out to files or read in from them
434
435 2008-10-27  Tambet Ingo  <tambet@gmail.com>
436
437         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
438         correct speed reporting for fast devices (kernel >= 2.6.27).
439
440 2008-10-26  Dan Williams  <dcbw@redhat.com>
441
442         Attempt to compensate for modems that don't enable full AT parsing before
443         the PIN has been entered.
444
445         * src/nm-gsm-device.c
446                 - (init_modem): accept different init strings
447                 - (init_done): try different init strings on failure
448                 - (check_pin_done): on PIN success, do full modem init
449
450 2008-10-26  Dan Williams  <dcbw@redhat.com>
451
452         Patch from Tambet Ingo <tambet@gmail.com>
453
454         * libnm-util/libnm-util.ver
455           libnm-util/nm-setting-connection.c
456           libnm-util/nm-setting-connection.h
457                 - Make properties private and add accessor functions
458
459         * src/NetworkManagerPolicy.c
460           src/nm-cdma-device.c
461           src/nm-device-ethernet.c
462           src/nm-device-interface.c
463           src/nm-device-wifi.c
464           src/nm-gsm-device.c
465           src/nm-manager.c
466           src/ppp-manager/nm-ppp-manager.c
467           src/vpn-manager/nm-vpn-connection.c
468           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
469           system-settings/plugins/ifcfg-fedora/plugin.c
470           system-settings/plugins/ifcfg-fedora/reader.c
471           system-settings/plugins/ifcfg-suse/parser.c
472           system-settings/plugins/ifupdown/parser.c
473           system-settings/plugins/keyfile/nm-keyfile-connection.c
474           system-settings/plugins/keyfile/plugin.c
475           system-settings/plugins/keyfile/writer.c
476           system-settings/src/main.c
477                 - Use those accessors
478
479 2008-10-26  Dan Williams  <dcbw@redhat.com>
480
481         Patch from Tambet Ingo <tambet@gmail.com>
482
483         * libnm-util/libnm-util.ver
484           libnm-util/nm-setting-gsm.c
485           libnm-util/nm-setting-gsm.h
486                 - Make properties private and add accessor functions
487
488         * src/nm-gsm-device.c
489           src/nm-hso-gsm-device.c
490           src/ppp-manager/nm-ppp-manager.c
491                 - Use those accessors
492
493 2008-10-26  Dan Williams  <dcbw@redhat.com>
494
495         Patch from Tambet Ingo <tambet@gmail.com>
496
497         * libnm-util/libnm-util.ver
498           libnm-util/nm-setting-cdma.c
499           libnm-util/nm-setting-cdma.h
500                 - Make properties private and add accessor functions
501
502         * src/nm-cdma-device.c
503           src/ppp-manager/nm-ppp-manager.c
504                 - Use those accessors
505
506 2008-10-26  Dan Williams  <dcbw@redhat.com>
507
508         Patch from Tambet Ingo <tambet@gmail.com>
509
510         * libnm-util/libnm-util.ver
511           libnm-util/nm-setting-pppoe.c
512           libnm-util/nm-setting-pppoe.h
513                 - Make properties private and add accessor functions
514
515         * src/nm-device-ethernet.c
516           src/ppp-manager/nm-ppp-manager.c
517                 - Use those accessors
518
519 2008-10-26  Dan Williams  <dcbw@redhat.com>
520
521         Patch from Tambet Ingo <tambet@gmail.com>
522
523         * libnm-util/libnm-util.ver
524           libnm-util/nm-setting-wired.c
525           libnm-util/nm-setting-wired.h
526                 - Make properties private and add accessor functions
527
528         * src/nm-device-ethernet.c
529           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
530           system-settings/plugins/ifcfg-suse/parser.c
531           system-settings/src/main.c
532                 - Use those accessors
533
534 2008-10-26  Dan Williams  <dcbw@redhat.com>
535
536         Patch from Tambet Ingo <tambet@gmail.com>
537
538         * libnm-util/libnm-util.ver
539           libnm-util/nm-setting-serial.c
540           libnm-util/nm-setting-serial.h
541           src/nm-serial-device.c
542                 - Make properties private and use accessors instead
543
544 2008-10-26  Dan Williams  <dcbw@redhat.com>
545
546         * src/supplicant-manager/nm-supplicant-interface.c
547           src/supplicant-manager/nm-supplicant-interface.h
548           src/supplicant-manager/nm-supplicant-manager.c
549           src/supplicant-manager/nm-supplicant-manager.h
550                 - Add state-to-string conversion functions
551
552         * src/nm-device-wifi.c
553           src/nm-device-ethernet.c
554                 - Normalize state info logging and use strings instead of numbers
555
556 2008-10-26  Dan Williams  <dcbw@redhat.com>
557
558         * src/NetworkManagerPolicy.c
559                 - (update_routing_and_dns): ignore host routes when determining whether
560                         a VPN connection should own the default route (bgo #552594)
561
562 2008-10-24  Dan Williams  <dcbw@redhat.com>
563
564         * src/nm-gsm-device.c
565                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
566
567 2008-10-23  Dan Williams  <dcbw@redhat.com>
568
569         * src/ppp-manager/nm-ppp-manager.c
570                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
571                         add really important stuff to the command line to ensure that NM
572                         overrides /etc/ppp/options (bgo #556781)
573
574 2008-10-22  Dan Williams  <dcbw@redhat.com>
575
576         * src/NetworkManagerSystem.c
577           src/nm-device.c
578                 - Use the device's IP interface where appropriate (Per Hallsmark)
579
580 2008-10-22  Dan Williams  <dcbw@redhat.com>
581
582         * src/nm-gsm-device.c
583                 - (schedule_automatic_registration_again): use a short timeout here
584                         instead of an idle handler to avoid using too much CPU polling for
585                         something we should be waiting a bit for anyway
586
587 2008-10-22  Dan Williams  <dcbw@redhat.com>
588
589         * include/NetworkManager.h
590           introspection/nm-device.xml
591                 - Add device state change reason for carrier changes
592
593         * src/nm-device-ethernet.c
594                 - (set_carrier): use the carrier change reason when changing device
595                         state in response to carrier changes
596
597 2008-10-21  Dan Williams  <dcbw@redhat.com>
598
599         * src/NetworkManagerPolicy.c
600                 - (update_etc_hosts): don't leak errors, and ensure that
601                         g_file_set_contents() gets a valid error placeholder (rh #461933)
602
603 2008-10-21  Dan Williams  <dcbw@redhat.com>
604
605         * src/nm-manager.c
606                 - (free_get_settings_info): don't use the DBusGProxy which could be
607                         disposed of by the time the function is called
608                 - (internal_new_connection_cb): save connection scope
609                 - (connection_get_settings_cb): don't replace a connection unless it's
610                         actually different from the existing one; fixes an issue where
611                         killing the settings service wouldn't deactivate an active connection
612                         provided by that settings service, because it was using a connection
613                         that had already been replaced in the system or user hash
614
615 2008-10-21  Dan Williams  <dcbw@redhat.com>
616
617         * src/NetworkManager.c
618                 - (main): keep the DHCP manager around since it's a singleton; fixes
619                         a use-after-free exposed by r4196 since the DHCP manager singleton
620                         variable isn't cleared when the DHCP manager object is finalized
621
622 2008-10-20  Dan Williams  <dcbw@redhat.com>
623
624         * libnm-util/nm-setting-wireless-security.c
625                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
626
627 2008-10-20  Dan Williams  <dcbw@redhat.com>
628
629         * src/supplicant-manager/nm-supplicant-config.c
630                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
631
632 2008-10-20  Dan Williams  <dcbw@redhat.com>
633
634         * src/dhcp-manager/nm-dhcp-manager.c
635                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
636                         manager object already refs it once
637                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
638                         also get cleaned up by nm_dhcp_device_destroy() to prevent
639                         double-frees
640
641 2008-10-20  Dan Williams  <dcbw@redhat.com>
642
643         * src/nm-manager.c
644                 - (initial_get_connections): use private dbus manager, don't keep
645                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
646                         manager object.
647
648 2008-10-18  Dan Williams  <dcbw@redhat.com>
649
650         * libnm-glib/nm-settings.c
651           libnm-glib/nm-settings.h
652                 - Rename the "get_secrets" virtual function "service_get_secrets" to
653                         clarify when it's used; NMExportedConnetion is a base-class for both
654                         the client and service side, which is sort of confusing, and
655                         get_secrets only makes sense on the service side.
656
657         * libnm-glib/nm-dbus-connection.c
658                 - (get_secrets): remove, unused, and clients need to do extra work to
659                         get secrets anyway since the call can block on the remote side
660
661         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
662           system-settings/plugins/keyfile/nm-keyfile-connection.c
663                 - Fix up for get_secrets -> service_get_secrets
664
665 2008-10-16  Dan Williams  <dcbw@redhat.com>
666
667         * src/nm-device-wifi.c
668                 - (constructor): correctly determine encryption capabilities
669
670 2008-10-15  Dan Williams  <dcbw@redhat.com>
671
672         * src/nm-device-wifi.c
673                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
674                         (Johannes Berg)
675
676 2008-10-15  Dan Williams  <dcbw@redhat.com>
677
678         * src/NetworkManagerSystem.c
679                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
680                         if the ip4_dest is in a smaller subnet contained within a subnet
681                         the machine is currently on, the destination is in the same subnet
682                 - (nm_system_device_set_ip4_route): move subnet checks to callers
683                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
684                         subnet as the parent device, and if so, don't add the direct
685                         host route via the parent device's gateway (bgo #481620)
686                 - (nm_system_apply_ip4_config): check whether the route to be added
687                         is contained within a subnet the device is already on
688
689 2008-10-11  Dan Williams  <dcbw@redhat.com>
690
691         * include/NetworkManager.h
692           introspection/nm-device.xml
693           include/NetworkManagerVPN.h
694                 - Add a few more state reasons for the device deactivated state
695
696         * src/nm-device-interface.c
697           src/nm-device-interface.h
698                 - (nm_device_interface_deactivate): add a 'reason' argument
699
700         * src/nm-device.c
701           src/nm-device.h
702                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
703                 - (nm_device_state_changed): pass the state change reason to
704                         nm_device_take_down()
705                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
706                         to the state change function
707
708         * src/nm-manager.c
709           src/nm-manager.h
710                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
711                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
712                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
713                         something reasonable along to VPN deactivation
714
715         * src/vpn-manager/nm-vpn-manager.c
716           src/vpn-manager/nm-vpn-manager.h
717                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
718                         pass that along to nm_vpn_connection_disconnect()
719
720 2008-10-11  Dan Williams  <dcbw@redhat.com>
721
722         * src/nm-device-wifi.c
723                 - (can_scan): remove old madwifi hack for not scanning while connected
724
725 2008-10-11  Dan Williams  <dcbw@redhat.com>
726
727         Add support for VPN subnet gateways (bgo #549196)
728
729         * include/NetworkManager.h
730                 - Add key for internal VPN subnet gateway
731
732         * src/vpn-manager/nm-vpn-connection.c
733                 - (ip_address_to_string): return a const from a static buffer so we
734                         don't leak a lot of strings
735                 - (print_vpn_config): print internal VPN gateway as well
736                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
737                         VPN service too
738                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
739
740         * src/NetworkManagerSystem.c
741           src/NetworkManagerSystem.h
742                 - (nm_system_device_replace_default_ip4_route): split into two, one for
743                         VPN connections and one for normal devices
744                 - (replace_default_ip4_route): break out route stuff into its own function
745                 - (nm_system_replace_default_ip4_route_vpn,
746                    nm_system_replace_default_ip4_route): simplify by having two cases,
747                         one for VPNs and one for normal devices
748
749         * src/NetworkManagerPolicy.c
750                 - (update_routing_and_dns): simplify, use split default route replacement
751                         functions
752
753 2008-10-10  Dan Williams  <dcbw@redhat.com>
754
755         Rework default route handling to consolidate decisions in the policy,
756         and to take active VPN connections into account when changing the default
757         route (bgo #545912)
758
759         * src/NetworkManager.c
760                 - (main): pass the vpn_manager to the policy so it knows about active
761                         VPN connections; clean up the named manager which wasn't done before
762
763         * src/NetworkManagerPolicy.c
764           src/NetworkManagerPolicy.h
765                 - (nm_policy_new): get a clue about the vpn_manager
766                 - (update_default_route): remove, fold into update_routing_and_dns()
767                 - (update_routing_and_dns): handle active VPN connections too; an
768                         active VPN connection becomes the default route if it does not have
769                         server-specified or user-specified custom routes.  Otherwise, the
770                         best active device gets the default route
771                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
772                    nm_policy_destroy): track VPN connection activation and deactivation
773                         and update the default route when appropriate
774
775         * src/NetworkManagerSystem.c
776           src/NetworkManagerSystem.h
777                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
778                         in the VPN connection itself
779                 - (nm_system_vpn_device_set_from_ip4_config,
780                    nm_system_device_set_from_ip4_config): merge together to make
781                         nm_system_apply_ip4_config()
782                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
783                         via the parent device
784                 - (nm_system_apply_ip4_config): simplify
785                 - (add_ip4_route_to_gateway): new function; add a direct route to the
786                         gateway if needed
787                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
788                         route stuff out into add_ip4_route_to_gateway() for clarity
789
790         * src/nm-device.c
791                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
792
793         * src/vpn-manager/nm-vpn-connection.c
794           src/vpn-manager/nm-vpn-connection.h
795                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
796                    nm_vpn_connection_get_parent_device): add
797                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
798                         device explicit
799                 - (connection_state_changed): update the named manager now that
800                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
801                         useful on errors
802
803         * src/vpn-manager/nm-vpn-manager.c
804           src/vpn-manager/nm-vpn-manager.h
805                 - Add a 'connection-activated' signal
806                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
807                         policy to find out about active VPN connections
808
809 2008-10-10  Tambet Ingo  <tambet@gmail.com>
810
811         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
812         a daemon to prevent NM logging spew on console on startup and shutdown (due
813         to dependency loop between NM and syslog).
814
815 2008-10-10  Alexander Sack  <asac@ubuntu.com>
816
817         Implement managed mode. We bind devices configured in /etc/network/interfaces
818         to their connections by updating wired/wireless setting with the
819         mac address of the device.
820
821         * system-settings/plugins/ifupdown/plugin.c
822                 - (get_net_address_for_udi): implement function to retrieve MAC
823                         address of udi from hal in GByteArray format
824                 - (bind_device_to_connection): bind mac address of device to
825                         wired/wireless system connection
826                 - (hal_device_added_cb): call bind_device_to_connection for
827                         system connections with a matching interface.name
828                 - (hal_device_added_cb): ensure that all code paths
829                         properly free the "iface" string.
830
831 2008-10-10  Alexander Sack  <asac@ubuntu.com>
832
833         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
834         mode of the ifupdown system config plugin.
835
836         * system-settings/plugins/ifupdown/plugin.c
837                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
838                         private unmanage_well_known state field accordingly
839
840 2008-10-10  Alexander Sack  <asac@ubuntu.com>
841
842         Implement unmanaged mode that will prevent all devices in the
843         well_known_udis set from being touched by NetworkManager
844
845         * system-settings/plugins/ifupdown/plugin.c
846                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
847                         unmanage_well_known field used to turn on/off unmanaged
848                         mode
849                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
850                         signal when well_known_udis get added/removed
851                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
852                         if we are in unmanaged mode
853
854 2008-10-10  Alexander Sack  <asac@ubuntu.com>
855
856         Add support to track network devices that have a configuration
857         with a matching interface.name in /etc/network/interfaces
858
859         * system-settings/plugins/ifupdown/plugin.c
860                 - (typedef struct SCPluginIfupdownPrivate): add hash table
861                         to track |well_known_udis|
862                 - (get_iface_for_udi): helper function to get interface.name
863                         for a udi
864                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
865                         that add and remove devices to and from the well_known_udis
866                         set depending on whether their |interface.name| matches
867                         any interface definition in /etc/network/interfaces
868                 - (SCPluginIfupdown_init): connect callbacks from above with
869                         hal_mgr and setup well_known_udis hashtable
870                 - (GObject__dispose): destroy well_known_udis hashtable
871                 - (hal_device_added_cb2): implement wrapper callback with GFunc
872                         signature. user_data is supposed to be a triple (hal_mgr,
873                         config and devtype)
874                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
875                         startup and call hal_device_added_cb2
876
877 2008-10-10  Alexander Sack  <asac@ubuntu.com>
878
879         Remove implementation for not used NMSystemConfigInterface callback functions
880         in ifupdown plugin
881
882         * system-settings/plugins/ifupdown/plugin.c
883                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
884                 - (SCPluginIfupdown_connection_added): removed
885
886 2008-10-08  Dan Williams  <dcbw@redhat.com>
887
888         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
889
890         * src/NetworkManagerUtils.c
891                 - (nm_utils_call_dispatcher): add a 'hostname' action
892
893         * src/NetworkManagerPolicy.c
894                 - (set_system_hostname): dispatch hostname changes
895
896         * callouts/nm-dispatcher-action.c
897                 - (nm_dispatcher_action): handle 'hostname' actions
898
899 2008-10-08  Dan Williams  <dcbw@redhat.com>
900
901         * src/NetworkManagerSystem.c
902                 - (find_route): ref the route so it doesn't get destroyed when the cache
903                         is cleared
904                 - (nm_system_device_set_priority): unref the route here after it's done
905                         being used
906
907 2008-10-08  Dan Williams  <dcbw@redhat.com>
908
909         * src/nm-serial-device.c
910                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
911
912 2008-10-08  Tambet Ingo  <tambet@gmail.com>
913
914         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
915         connection with new settings before saving it.
916
917 2008-10-06  Dan Williams  <dcbw@redhat.com>
918
919         * src/nm-ip4-config.c
920           src/nm-ip4-config.h
921                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
922
923         * src/nm-device-interface.c
924                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
925                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
926                         by using '/' for the object path
927
928         * src/nm-device.c
929                 - (src/nm-device.c): marshal missing/unexported ip4-config through
930                         dbus as '/' since dbus-glib can't handle NULL objects nor can
931                         dbus handle NULL object paths
932
933 2008-10-03  Alexander Sack  <asac@ubuntu.com>
934
935         Implement system hostname support for debian/ubuntu
936
937         * system-settings/plugins/ifupdown/plugin.c
938                 - (GObject__get_property): extend announced capabilities; add
939                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
940                 - (GObject__set_property,write_system_hostname): implement
941                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
942                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
943                    update_system_hostname, get_hostname):
944                         implement hostname property that watches and
945                         parses /etc/hostname
946
947 2008-10-03  Alexander Sack  <asac@ubuntu.com>
948
949         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
950           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
951           system-settings/plugins/ifcfg-fedora/Makefile.am
952           system-settings/src/nm-inotify-helper.c
953           system-settings/src/nm-inotify-helper.h
954           src/Makefile.am
955                 - Move ifcfg-fedora inotify helpers to the system settings service so
956                         they are available to all plugins
957
958 2008-10-03  Alexander Sack  <asac@ubuntu.com>
959
960         Implement support for wep-tx-keyidx in ifupdown system
961         config plugin.
962
963         * system-settings/plugins/ifupdown/parser.c
964                 - (update_wireless_security_setting_from_if_block): introduce
965                         free_type_mapping func table; rename a few local
966                         variables to improve readability; add wpa security mapping
967                         for wep-tx-keyidx property
968                 - (string_to_gpointerint): new function used for the auto_type_mapping
969                         of new wep-tx-keyidx property
970                 - (slist_free_all): free func used for mapped slist types
971
972 2008-10-03  Alexander Sack  <asac@ubuntu.com>
973
974         * system-settings/src/main.c:
975                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
976                         always used as the hash key; fixes a crash when removing wired
977                         devices
978
979 2008-10-02  Dan Williams  <dcbw@redhat.com>
980
981         * src/nm-gsm-device.c
982                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
983                         pass the required GSM secret along via user_data rather than keeping
984                         it around in the private data where it sometimes didn't get cleared
985                 - (real_get_ppp_name): implement using the GSM username
986
987 2008-10-02  Dan Williams  <dcbw@redhat.com>
988
989         * src/ppp-manager/nm-ppp-manager.c
990           src/ppp-manager/nm-ppp-manager.h
991                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
992                         the settings daemon for completely new ones
993                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
994                         local PPP peer name; allow PPP debuging by launching NM with
995                         the environment variable NM_PPP_DEBUG defined
996                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
997                         create_pppd_cmd_line()
998
999         * src/nm-serial-device.c
1000           src/nm-serial-device.h
1001                 - New 'get_ppp_name' function for subclasses to implement to return the
1002                         local PPP peer name
1003                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1004                         and pass that name to the PPP manager
1005
1006         * src/nm-device-ethernet.c
1007                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1008                         the local peer name
1009
1010         * src/nm-cdma-device.c
1011                 - (real_get_ppp_name): implement using the CDMA username
1012
1013 2008-10-02  Dan Williams  <dcbw@redhat.com>
1014
1015         Patch from Alexander Sack <asac ubuntu com>
1016
1017         * system-settings/plugins/ifupdown/parser.c
1018                 - Implement more graceful ip4 config parsing for cases where
1019                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1020                   by using default values
1021
1022 2008-10-02  Dan Williams  <dcbw@redhat.com>
1023
1024         * src/NetworkManagerPolicy.c
1025                 - (device_state_changed): when marking a connection invalid, clear its
1026                         secrets too so that fresh secrets get requested the next time
1027
1028 2008-10-01  Dan Williams  <dcbw@redhat.com>
1029
1030         * system-settings/src/dbus-settings.c
1031                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1032                         a fallback if no plugin provides a hostname
1033                 - (get_property): fall back to cached hostname if no plugin provides
1034                         a hostname
1035
1036 2008-10-01  Dan Williams  <dcbw@redhat.com>
1037
1038         Fix setting value comparison issue that caused some settings to look the
1039         same when they were really different (rh #464417)
1040
1041         * libnm-util/nm-param-spec-specialized.c
1042                 - (type_is_fixed_size): return fundamental size of the fixed type too
1043                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1044                         in the comparison so that the _entire_ fixed type collection gets
1045                         compared rather than just the first 'len1' bytes
1046
1047 2008-09-30  Dan Williams  <dcbw@redhat.com>
1048
1049         * src/NetworkManagerPolicy.c
1050                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1051                         idle handler could have already run and freed the LookupThread
1052                         structure
1053
1054 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1055
1056         * src/nm-device.c (nm_device_get_priority): Implement.
1057         (nm_device_set_ip4_config): Send the device priority to system ip4 
1058         config setter.
1059
1060         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1061         Add priority argument and if it's >= 0, set the priority of the network
1062         route added automatically by netlink (or kernel?).
1063         (nm_system_device_set_priority): Implement.
1064
1065         * src/NetworkManagerPolicy.c (get_best_device): Use 
1066         nm_device_get_priority() instead of home-grown version. Revert the
1067         meaning, best priority is the lowest one.
1068
1069 2008-09-29  Dan Williams  <dcbw@redhat.com>
1070
1071         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1072         when it returns EAGAIN (rh #362421)
1073
1074         * src/nm-device-wifi.c
1075                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1076                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1077
1078 2008-09-28  Dan Williams  <dcbw@redhat.com>
1079
1080         * src/nm-serial-device.c
1081           src/nm-serial-device.h
1082                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1083                         cleaned at the right times when subclasses close the serial port too
1084                 - (nm_serial_device_send_command): use a default send delay; don't
1085                         spin forever on EAGAIN
1086                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1087                         remove, no longer used
1088                 - (find_response): return the matched response if any
1089                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1090                         while doing so
1091                 - (wait_for_reply_done): pass the matched response to the callback
1092                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1093                         handling
1094                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1095                         const since they never get modified
1096                 - (cleanup_device): split out common cleanup stuff to a new function
1097                 - (real_deactivate_quickly, finalize): use cleanup_device()
1098
1099         * src/nm-gsm-device.c
1100                 - (modem_get_reply): remove, unused
1101                 - (set_apn): give the card a bit more time to respond
1102                 - (manual_registration_again, schedule_manual_registration_again,
1103                    manual_registration_response, manual_registration): handle manual
1104                         registration timeouts better by retrying registration a few times
1105                         because cards are a bit slow after CFUN=1
1106                 - (automatic_registration_get_network, get_network_response): use
1107                         modem_wait_for_reply() because it interacts better with the serial
1108                         buffer and does more intelligent matching; need to wait for 'OK'
1109                         rather than just matching terminators
1110                 - (schedule_automatic_registration_again,
1111                    automatic_registration_response, automatic_registration): retry
1112                         registration a few times on timeout or "searching" because cards
1113                         take a bit to find a network after being powered up with CFUN=1
1114                 - (power_up_response, power_up, init_full_done, enter_pin,
1115                    check_pin_done): power up the card with CFUN=1 before trying to
1116                         register with the network
1117                 - (init_modem_full, init_modem): use more standard 3G init strings
1118
1119         * src/nm-hso-gsm-device.c
1120                 - (modem_get_reply): remove, unused
1121                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1122                         modem_wait_for_reply() to match actual responses instead of single
1123                         termination characters; it doesn't leave stuff in the serial buffer
1124                         that might confuse later calls
1125                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1126                         to ensure that the call is really disconnected and not leave extra
1127                         stuff in the serial buffer
1128
1129         * src/nm-cdma-device.c
1130                 - (power_up_response, power_up, init_done): try Sierra-style modem
1131                         power up before attempting to connect
1132
1133 2008-09-27  Dan Williams  <dcbw@redhat.com>
1134
1135         * libnm-util/nm-setting-gsm.c
1136                 - (verify): verify GSM network ID
1137
1138 2008-09-25  Dan Williams  <dcbw@redhat.com>
1139
1140         * libnm-util/nm-setting-gsm.c
1141           libnm-util/nm-setting-gsm.h
1142                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1143                         technology terms (bgo #551361)
1144
1145 2008-09-25  Dan Williams  <dcbw@redhat.com>
1146
1147         Fix bgo #549401 (inspired by patch from Alexander Sack)
1148
1149         * src/nm-device-ethernet.c
1150                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1151                 - (remove_supplicant_interface_error_handler): remove the supplicant
1152                         error idle callback too
1153                 - (supplicant_interface_release): rename from supplicant_interface_clean
1154                         to match nm-device-wifi.c; clean up supplicant interface-related
1155                         state tasks when the supplicant interface is disposed of
1156                 - (schedule_state_handler): add scheduled tasks to a list so they can
1157                         be cleaned up later
1158                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1159                    supplicant_iface_connection_state_cb_handler): use
1160                         finish_supplicant_task() to clean up each completed task
1161                 - (supplicant_iface_connection_error_cb_handler,
1162                    supplicant_connection_timeout_cb): clear source id when the task is
1163                         complete
1164                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1165                         later cleanup
1166                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1167                         tasks
1168
1169         * src/nm-device-wifi.c
1170                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1171                 - (remove_supplicant_interface_error_handler): remove the supplicant
1172                         error idle callback too
1173                 - (supplicant_interface_release): clean up supplicant interface-related
1174                         state tasks when the supplicant interface is disposed of
1175                 - (schedule_state_handler): add scheduled tasks to a list so they can
1176                         be cleaned up later
1177                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1178                    supplicant_iface_connection_state_cb_handler): use
1179                         finish_supplicant_task() to clean up each completed task
1180                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1181                         the task is complete
1182                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1183                         later cleanup
1184                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1185
1186 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1187
1188         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1189         method and get/set hostname property.
1190
1191 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1192
1193         * src/supplicant-manager/nm-supplicant-interface.c
1194         (nm_supplicant_interface_disconnect): Don't increment the reference 
1195         count when disconnecting. The problem is on shutdown, when the replies
1196         to these commands do not arrive before NM exits, resulting on never
1197         calling supplicant interface's dispose(), which removes the interface
1198         from supplicant.
1199
1200 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1201
1202         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1203         all the public function arguments.
1204
1205 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1206
1207         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1208         "Failure" signal from VPN plugins, store the failure reason, and
1209         use it when the state is changed to failure.
1210
1211         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1212         description.
1213
1214         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1215         reason to the end of the list to not break the API.
1216         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1217         so it can be shared by plugins and daemon.
1218
1219 2008-09-18  Dan Williams  <dcbw@redhat.com>
1220
1221         Patch from Alexander Sack <asac@ubuntu.com>
1222
1223         * configure.in
1224           system-settings/plugins/Makefile.am
1225           system-settings/plugins/ifupdown/Makefile.am
1226           system-settings/plugins/ifupdown/interface_parser.c
1227           system-settings/plugins/ifupdown/interface_parser.h
1228           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1229           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1230           system-settings/plugins/ifupdown/parser.c
1231           system-settings/plugins/ifupdown/parser.h
1232           system-settings/plugins/ifupdown/plugin.c
1233           system-settings/plugins/ifupdown/plugin.h
1234                 - Implement a Debian/Ubuntu legacy network configuration plugin
1235                         (gnome.org #551941)
1236
1237 2008-09-18  Dan Williams  <dcbw@redhat.com>
1238
1239         Implement support for honoring configured and automatic hostnames, and for
1240         setting the configured hostname.
1241
1242         * introspection/nm-ip4-config.xml
1243           src/nm-ip4-config.c
1244           src/nm-ip4-config.h
1245           src/dhcp-manager/nm-dhcp-manager.c
1246                 - Remove useless hostname property; it's not really part of the IPv4
1247                         config
1248
1249         * introspection/nm-settings-system.xml
1250           libnm-glib/nm-dbus-settings-system.c
1251           libnm-glib/nm-dbus-settings-system.h
1252                 - Add SetHostname() call to system settings D-Bus interface
1253                 - Add Hostname property to system settings D-Bus interface
1254                 - (nm_dbus_settings_system_save_hostname,
1255                    nm_dbus_settings_system_get_hostname): implement
1256
1257         * src/nm-device.c
1258           src/nm-device.h
1259                 - (nm_device_get_dhcp4_config): implement
1260
1261         * src/nm-manager.c
1262           src/nm-manager.h
1263                 - Fetch and track system settings service hostname changes, and proxy
1264                         the changes via a GObject property of the manager
1265
1266         * system-settings/src/nm-system-config-interface.c
1267           system-settings/src/nm-system-config-interface.h
1268                 - Replace nm_system_config_interface_supports_add() with a capabilities
1269                         bitfield
1270
1271         * system-settings/src/nm-system-config-error.c
1272           system-settings/src/nm-system-config-error.h
1273                 - Add additional errors
1274
1275         * system-settings/src/dbus-settings.c
1276           system-settings/src/dbus-settings.h
1277                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1278                         property; first plugin returning a hostname wins
1279                 - (impl_settings_add_connection): use plugin capabilities instead of
1280                         nm_system_config_interface_supports_add()
1281                 - (impl_settings_save_hostname): implement hostname saving
1282
1283         * src/NetworkManagerPolicy.c
1284                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1285                    lookup_thread_die): implement an asynchronous hostname lookup thread
1286                         which given an IPv4 address tries to look up the hostname for that
1287                         address with reverse DNS
1288                 - (get_best_device): split out best device code from
1289                         update_routing_and_dns()
1290                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1291                         to preserve the 127.0.0.1 reverse mapping that so many things require
1292                 - (set_system_hostname): set a given hostname
1293                 - (update_system_hostname): implement hostname policy; a configured
1294                         hostname (from the system settings service) is used if available,
1295                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1296                         If there was no automatically determined hostname, reverse DNS of
1297                         the best device's IP address will be used, and as a last resort the
1298                         hostname 'localhost.localdomain' is set.
1299                 - (update_routing_and_dns): use get_best_device(); update the system
1300                         hostname when the network config changes
1301                 - (hostname_changed): update system hostname if the system settings
1302                         service signals a hostname change
1303                 - (nm_policy_new): list for system settings service hostname changes
1304                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1305                         gets told to die
1306
1307         * system-settings/plugins/keyfile/plugin.c
1308           system-settings/plugins/ifcfg-suse/plugin.c
1309                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1310                         capabilities properties
1311
1312         * system-settings/plugins/ifcfg-fedora/shvar.c
1313                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1314                         writes out /etc/sysconfig/network now
1315
1316         * system-settings/plugins/ifcfg-fedora/plugin.c
1317                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1318                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1319                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1320                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1321                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1322                         hostname get/set and capabilities get
1323
1324 2008-09-18  Dan Williams  <dcbw@redhat.com>
1325
1326         * libnm-util/nm-setting-wireless.c
1327                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1328                         group ciphers if the wireless-security setting explicitly specified
1329                         them, effectively making the default be "all ciphers"  (idea from
1330                         Alexander Sack)
1331
1332 2008-09-15  Dan Williams  <dcbw@redhat.com>
1333
1334         Patch from Alexander Sack <asac@ubuntu.com>
1335
1336         * src/named-manager/nm-named-manager.c
1337                 - (dispatch_resolvconf): respect resolvconf exit code
1338
1339 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1340
1341         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1342         again. Add some debugging.
1343
1344 2008-09-11  Dan Williams  <dcbw@redhat.com>
1345
1346         * system-settings/plugins/keyfile/plugin.c
1347                 - (update_connection_settings): update connection manually, since
1348                         nm_exported_connection_update() does authentication
1349                 - (dir_changed): update_connection_settings() doesn't need to return
1350                         an error
1351
1352 2008-09-09  Dan Williams  <dcbw@redhat.com>
1353
1354         * libnm-glib/nm-vpn-plugin-ui-interface.c
1355           libnm-glib/nm-vpn-plugin-ui-interface.h
1356           libnm-glib/libnm_glib_vpn.ver
1357                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1358                         should clean up resources related to the connection (like keyring
1359                         secrets)
1360                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1361                         should save user-scope secrets (like to the keyring)
1362
1363 2008-09-08  Dan Williams  <dcbw@redhat.com>
1364
1365         Patch from Alexander Sack <asac@ubuntu.com>
1366
1367         * libnm-util/crypto_gnutls.c
1368           libnm-util/crypto_nss.c
1369                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1370
1371         * libnm-util/nm-utils.c
1372           libnm-util/nm-utils.h
1373           libnm-util/libnm-util.ver
1374                 - (nm_utils_init): initialize libnm-util
1375                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1376
1377         * libnm-util/nm-setting-8021x.c
1378                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1379
1380 2008-09-05  Dan Williams  <dcbw@redhat.com>
1381
1382         Patch from Roy Marples <roy@marples.name> and others
1383
1384         * configure.in
1385           src/named-manager/nm-named-manager.c
1386                 - Add support for resolvconf; use --with-resolvconf at configure time
1387                         to enable it
1388
1389 2008-09-05  Dan Williams  <dcbw@redhat.com>
1390
1391         * libnm-util/crypto_nss.c
1392           libnm-util/crypto_gnutls.c
1393           libnm-util/crypto.h
1394                 - (crypto_init): return error when init fails
1395
1396 2008-09-05  Dan Williams  <dcbw@redhat.com>
1397
1398         * libnm-glib/nm-device-wifi.c
1399                 - (access_point_removed_proxy): clean up the active access point too
1400                         just in case the active ap changed signal didn't come through yet
1401                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1402
1403 2008-09-05  Dan Williams  <dcbw@redhat.com>
1404
1405         * libnm-glib/nm-client.c
1406                 - (constructor): get initial state after we know whether NM is running
1407                         or not
1408
1409 2008-09-05  Dan Williams  <dcbw@redhat.com>
1410
1411         * libnm-glib/nm-ip4-config.c
1412           libnm-glib/nm-dhcp4-config.c
1413                 - (finalize): clean up the DBusGProxy
1414
1415 2008-09-04  Dan Williams  <dcbw@redhat.com>
1416
1417         * src/nm-ip4-config.c
1418           src/nm-ip4-config.h
1419                 - (nm_ip4_config_new): don't export over D-Bus here
1420                 - (nm_ip4_config_export): new function; export the config over D-Bus
1421                 - (nm_ip4_config_is_exported): new function
1422
1423         * src/nm-device.c
1424                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1425                         objects by balancing the IP4Config constructor; the device holds
1426                         a reference to the IP4Config already
1427                 - (nm_device_set_ip4_config): export the IP4Config when needed
1428
1429 2008-09-04  Dan Williams  <dcbw@redhat.com>
1430
1431         * src/supplicant-manager/nm-supplicant-settings-verify.c
1432                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1433
1434 2008-09-04  Dan Williams  <dcbw@redhat.com>
1435
1436         * libnm-util/nm-setting-vpn.c
1437           libnm-util/nm-setting-vpn.h
1438                 - Split VPN secrets from VPN data so that settings services can actually
1439                         figure out that they are secrets and store them accordingly
1440
1441         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1442           system-settings/plugins/keyfile/reader.c
1443           system-settings/plugins/keyfile/reader.h
1444           system-settings/plugins/keyfile/writer.c
1445                 - Store VPN secrets separately from VPN data so that they can be fetched
1446                         on demand
1447                 - Implement the get_secrets() call so that (a) secrets don't leak out
1448                         to unprivileged callers, and (b) secrets can be sent to privileged
1449                         callers when needed
1450
1451         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1452                 - Handle split VPN secrets
1453
1454 2008-08-27  Dan Williams  <dcbw@redhat.com>
1455
1456         * system-settings/plugins/ifcfg-fedora/reader.c
1457                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1458
1459 2008-08-27  Dan Williams  <dcbw@redhat.com>
1460
1461         Ensure zombie children get cleaned up.  To get notifications when children
1462         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1463         that requires calling waitpid() yourself if you've removed the child watch
1464         handler before the process has actually died, which NM needs to do in a few
1465         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1466         cleans up after the child when required.  Should fix problems trying to
1467         activate mobile broadband connections after a previous failure.
1468
1469         * src/dhcp-manager/nm-dhcp-dhclient.c
1470           src/dhcp-manager/nm-dhcp-dhcpcd.c
1471                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1472
1473         * src/dhcp-manager/nm-dhcp-manager.c
1474                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1475                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1476                         block on child quitting, since the non-blocking functionality was
1477                         never actually used
1478
1479         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1480                 - (dm_watch_cb): child is already reaped here
1481                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1482
1483         * src/nm-device.c
1484                 - (aipd_cleanup): block until child is dead
1485
1486         * src/named-manager/nm-named-manager.c
1487                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1488                         event bothering to watch the child
1489
1490         * src/ppp-manager/nm-ppp-manager.c
1491                 - (ppp_watch_cb): child is already reaped here
1492                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1493
1494         * src/vpn-manager/nm-vpn-service.c
1495                 - (vpn_service_watch_cb): child is already reaped here
1496                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1497                         status of the child is actually tracked
1498                 - (ensure_killed, finalize): block until child is dead
1499
1500 2008-08-26  Dan Williams  <dcbw@redhat.com>
1501
1502         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1503                 - (update): Update filename of the connection if the connection id
1504                         was changed
1505
1506         * system-settings/plugins/keyfile/plugin.c
1507                 - (dir_changed): first pass at handling connection renames correctly
1508
1509         * system-settings/plugins/keyfile/writer.c
1510           system-settings/plugins/keyfile/writer.h
1511                 - (write_connection): replace '/' with '*' when writing out the filename
1512                         from the connection id
1513
1514 2008-08-26  Dan Williams  <dcbw@redhat.com>
1515
1516         Add connection UUIDs, since connection names can be changed, and since
1517         old-style connection IDs could change over the life of the connection.  The
1518         UUID should be assigned at connection creation time, be stable for a given
1519         connection, and should be unique among all connections for a given settings
1520         service.
1521
1522         * configure.in
1523           libnm-util/Makefile.am
1524                 - Require libuuid
1525
1526         * introspection/nm-exported-connection.xml
1527                 - Remove "GetID" method
1528
1529         * libnm-glib/nm-dbus-connection.c
1530           libnm-glib/nm-settings.c
1531           libnm-glib/nm-settings.h
1532                 - Remove id-related stuff
1533
1534         * libnm-util/nm-utils.c
1535           libnm-util/nm-utils.h
1536           libnm-util/libnm-util.ver
1537                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1538                         utility functions to generate UUIDs
1539
1540         * libnm-util/nm-setting-connection.c
1541           libnm-util/nm-setting-connection.h
1542                 - Add 'uuid' member to the connection setting
1543                 - (verify): require valid 'uuid' for a valid connection
1544
1545         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1546           system-settings/plugins/ifcfg-fedora/reader.c
1547           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1548           system-settings/plugins/ifcfg-suse/parser.c
1549           system-settings/plugins/keyfile/nm-keyfile-connection.c
1550           system-settings/src/main.c
1551                 - Remove id-related stuff
1552                 - Give connections UUIDs where needed
1553
1554 2008-08-25  Dan Williams  <dcbw@redhat.com>
1555
1556         * libnm-util/crypto_gnutls.c
1557           libnm-util/crypto_nss.c
1558                 - (crypto_init, crypto_deinit): refcount init/deinit
1559                 - (crypto_md5_hash): allow NULL salt
1560
1561 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1562
1563         * libnm-glib/Makefile.am
1564           libnm-util/Makefile.am
1565           libnm-glib/libnm_glib.ver
1566           libnm-glib/libnm_glib_vpn.ver
1567           libnm-util/libnm-util.ver
1568                 - Use linker version scripts to control the list of exported 
1569                 symbols. List each exported symbol explicitely.
1570         * libnm-util/Makefile.am
1571                 - Fix compilation of the test-crypto binary. The crypto
1572                 functions are no longer part of the libnm-util API. Add 
1573                 crypto_*.c to test_crypto_SOURCES and link against the correct
1574                 crypto libraries.
1575
1576 2008-08-19  Dan Williams  <dcbw@redhat.com>
1577
1578         * configure.in
1579           test/Makefile.am
1580                 - Don't build test/test-common
1581                 - Remove unused stuff
1582
1583         * test/nm-set-fallback
1584           test/nmtestdevices.c
1585           test/test-common/.cvsignore
1586           test/test-common/Makefile.am
1587           test/test-common/test-common.c
1588           test/test-common/test-common.h
1589                 - delete
1590
1591 2008-08-18  Dan Williams  <dcbw@redhat.com>
1592
1593         * libnm-util/nm-utils.c
1594           libnm-util/nm-utils.h
1595                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1596                         export anything that needs to be converted with this function
1597
1598         * src/dhcp-manager/nm-dhcp-manager.c
1599                 - (garray_to_string): convert a byte array to a UTF-8 string with
1600                         minimal validation; the DHCP client sends it in ASCII anyway
1601                 - (get_option, copy_option): use garray_to_string()
1602
1603 2008-08-18  Dan Williams  <dcbw@redhat.com>
1604
1605         * include/NetworkManager.h
1606           introspection/nm-device.xml
1607                 - Add a "missing firmware" device state reason
1608
1609         * src/NetworkManagerSystem.c
1610           src/NetworkManagerSystem.h
1611                 - (nm_system_device_set_up_down): add a no_firmware argument
1612                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1613                         IFF_UP is ENOENT, that almost always means missing firmware
1614
1615         * src/backends/NetworkManagerGeneric.c
1616           src/nm-device-ethernet.c
1617           src/nm-device-private.h
1618           src/nm-device-wifi.c
1619           src/nm-device.c
1620           src/nm-device.h
1621           src/nm-hso-gsm-device.c
1622           src/vpn-manager/nm-vpn-connection.c
1623                 - Pass no_firmware along; check it where appropriate
1624
1625 2008-08-18  Dan Williams  <dcbw@redhat.com>
1626
1627         Patch from Robert Buchholz <rbu@gentoo.org>
1628
1629         * autogen.sh
1630           configure.in
1631                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1632                         1003.1-1988, allowing for file names longer than 99 characters
1633
1634 2008-08-17  Dan Williams  <dcbw@redhat.com>
1635
1636         * include/NetworkManager.h
1637           introspection/nm-device.xml
1638           src/nm-gsm-device.c
1639                 - Finer-grained GSM registration failure error codes
1640
1641 2008-08-17  Dan Williams  <dcbw@redhat.com>
1642
1643         * callouts/Makefile.am
1644           src/Makefile.am
1645                 - Move dispatcher directory creation to callouts/Makefile.am
1646
1647         * system-settings/plugins/keyfile/Makefile.am
1648                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1649
1650 2008-08-15  Dan Williams  <dcbw@redhat.com>
1651
1652         Do connection sharing in a cleaner manner; all required iptables rules
1653         are now stored in the activation request and pertain only to the device
1654         which is being shared to other computers. (rh #458625)
1655
1656         * src/nm-activation-request.c
1657           src/nm-activation-request.h
1658                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1659                         the activation request which will get torn down automatically when
1660                         the activation request dies
1661                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1662                         is started, and tear them down when sharing is stopped
1663
1664         * src/nm-device.c
1665                 - (start_sharing): start up sharing by doing the required iptables magic
1666                 - (share_init): poke the right bits of the kernel and load the right
1667                         modules for NAT
1668                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1669                         connection if it's a 'shared' connection
1670
1671         * src/NetworkManagerPolicy.c
1672                 - Remove all sharing stuff; done in the device code itself
1673
1674 2008-08-15  Dan Williams  <dcbw@redhat.com>
1675
1676         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1677                 - (create_dm_cmd_line): send the right router address
1678
1679 2008-08-15  Dan Williams  <dcbw@redhat.com>
1680
1681         * src/ppp-manager/nm-ppp-manager.c
1682                 - (pppd_timed_out): ensure timeouts fail the connection
1683
1684 2008-08-14  Dan Williams  <dcbw@redhat.com>
1685
1686         * src/nm-properties-changed-signal.c
1687           src/nm-properties-changed-signal.h
1688                 - Add a property spec flag for "don't export this property" in
1689                         property changed signals
1690
1691         * src/nm-hso-gsm-device.c
1692           src/nm-gsm-device.c
1693           src/nm-cdma-device.c
1694                 - Don't export monitor interface or netdev interface properties
1695
1696 2008-08-14  Dan Williams  <dcbw@redhat.com>
1697
1698         * src/NetworkManagerPolicy.c
1699                 - (update_routing_and_dns): 'hso' devices can be default even if they
1700                         don't have a gateway
1701
1702 2008-08-14  Dan Williams  <dcbw@redhat.com>
1703
1704         * src/nm-device.c
1705                 - (nm_device_deactivate_quickly): tear down activation request after
1706                         calling device-specific deactivation
1707
1708         * src/nm-hso-gsm-device.c
1709                 - (real_deactivate_quickly): terminate connection when deactivating
1710
1711 2008-08-14  Dan Williams  <dcbw@redhat.com>
1712
1713         * src/nm-activation-request.h
1714                 - Add HSO secrets caller
1715
1716         * src/nm-gsm-device.c
1717           src/nm-gsm-device.h
1718                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1719                         something to the callback function
1720                 - (set_apn, set_apn_done): call class dial function, not a static one
1721                 - (nm_gsm_device_class_init): add a class 'dial' function
1722
1723         * src/nm-hal-manager.c
1724                 - (get_hso_netdev): find the hso-driven hardware's net device
1725                 - (modem_device_creator): recognize hso-driven hardware and create the
1726                         right type of device object for it
1727
1728         * src/Makefile.am
1729           src/nm-hso-gsm-device.c
1730           src/nm-hso-gsm-device.h
1731                 - Implement support for devices driven by the 'hso' driver as a subclass
1732                         of NMGsmDevice
1733
1734 2008-08-14  Dan Williams  <dcbw@redhat.com>
1735
1736         * src/NetworkManagerSystem.c
1737                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1738                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1739                         success if the operation really was successful
1740
1741 2008-08-14  Dan Williams  <dcbw@redhat.com>
1742
1743         * src/nm-netlink-monitor.c
1744           src/nm-netlink-monitor.h
1745           src/nm-device-ethernet.c
1746                 - (nm_netlink_monitor_request_status): return an error on failure
1747                 - (constructor): don't segfault on missing error
1748
1749 2008-08-13  Dan Williams  <dcbw@redhat.com>
1750
1751         * callouts/nm-dispatcher-action.c
1752                 - Add IP4 config info to script environment
1753
1754 2008-08-12  Dan Williams  <dcbw@redhat.com>
1755
1756         * src/nm-device.c
1757                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1758                         that want to use DHCP hostnames should use dispatcher scripts
1759                         for that
1760
1761         * src/NetworkManagerSystem.h
1762           src/backends/NetworkManagerArch.c
1763           src/backends/NetworkManagerDebian.c
1764           src/backends/NetworkManagerFrugalware.c
1765           src/backends/NetworkManagerGeneric.c
1766           src/backends/NetworkManagerGeneric.h
1767           src/backends/NetworkManagerGentoo.c
1768           src/backends/NetworkManagerMandriva.c
1769           src/backends/NetworkManagerPaldo.c
1770           src/backends/NetworkManagerRedHat.c
1771           src/backends/NetworkManagerSlackware.c
1772           src/backends/NetworkManagerSuSE.c
1773                 - Remove nm_system_set_hostname(), no longer used
1774           
1775         * src/backends/Makefile.am
1776           src/backends/shvar.c
1777           src/backends/shvar.h
1778                 - Remove shvar.*; no longer used
1779
1780 2008-08-12  Dan Williams  <dcbw@redhat.com>
1781
1782         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1783         hostname is updated at runtime.  Distros or users who want hostname updates
1784         can use dispatcher scripts to update the hostname if they need it.
1785
1786 2008-08-12  Dan Williams  <dcbw@redhat.com>
1787
1788         * introspection/nm-settings-system.xml
1789           system-settings/src/dbus-settings.c
1790           system-settings/src/dbus-settings.h
1791                 - Add a 'Hostname' property (rw) which represents the configured
1792                         hostname and domain of the system, if any
1793
1794         * system-settings/src/nm-system-config-error.c
1795           system-settings/src/nm-system-config-error.h
1796           system-settings/src/nm-system-config-interface.c
1797           system-settings/src/nm-system-config-interface.h
1798                 - Add a 'hostname' property to the plugin interface
1799                 - Add a method to send updated hostname to plugins to save in their
1800                         backing configuration store
1801
1802         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1803           system-settings/plugins/keyfile/plugin.c
1804           system-settings/plugins/keyfile/writer.c
1805           system-settings/plugins/keyfile/writer.h
1806           system-settings/plugins/ifcfg-suse/plugin.c
1807                 - Add minimal hostname support
1808
1809         * system-settings/plugins/ifcfg-fedora/plugin.c
1810                 - Add support for updating system hostname in /etc/sysconfig/network
1811
1812 2008-08-12  Dan Williams  <dcbw@redhat.com>
1813
1814         * system-settings/plugins/ifcfg-fedora/shvar.c
1815           system-settings/plugins/ifcfg-fedora/shvar.c
1816                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1817
1818 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1819
1820         * Makefile.am: Fix distcheck.
1821
1822 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1823
1824         * libnm-glib/*.c. Document some more.
1825
1826 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1827
1828         Start documenting libnm-glib public API using gtk-doc.
1829
1830         * libnm-glib/nm-serial-device.c: 
1831         * libnm-glib/nm-object.c: 
1832         * libnm-glib/nm-gsm-device.c: 
1833         * libnm-glib/nm-device.c: 
1834         * libnm-glib/nm-device-wifi.c: 
1835         * libnm-glib/nm-device-ethernet.c: 
1836         * libnm-glib/nm-client.c: 
1837         * libnm-glib/nm-cdma-device.c: Document the public API.
1838
1839         * docs/libnm-glib/libnm-glib.types: Implement.
1840
1841         * docs/libnm-glib/Makefile.am: Implement.
1842
1843         * autogen.sh: 
1844         * configure.in: 
1845         * Makefile.am: Add gtk-doc support.
1846
1847 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1848
1849         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1850
1851         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1852         the composite result of all the IP4 configurations and call a distro
1853         specific update_resolv_conf().
1854         (update_resolv_conf): Implement one for directly writing to 
1855         /etc/resolv.conf and one for opensuse to call netconfig.
1856
1857 2008-08-11  Dan Williams  <dcbw@redhat.com>
1858
1859         * src/ppp-manager/nm-ppp-manager.c
1860                 - (impl_ppp_manager_need_secrets): pass interface as required
1861
1862 2008-08-11  Dan Williams  <dcbw@redhat.com>
1863
1864         Merge the vpn-properties setting with the vpn setting since it was pointless
1865         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1866         of string:string (instead of string:variant) so that system settings plugins
1867         can have an easier time dealing with the arbitrary key/value pairs.
1868
1869 2008-08-11  Dan Williams  <dcbw@redhat.com>
1870
1871         * libnm-util/nm-utils.c
1872                 - (nm_utils_register_value_transformations): add value transform for
1873                         a hash table of string:string
1874
1875 2008-08-10  Dan Williams  <dcbw@redhat.com>
1876
1877         * libnm-glib/nm-vpn-plugin.c
1878                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1879                         an idle handler so the Connect reply gets delivered before the
1880                         stop StateChanged signal
1881
1882 2008-08-10  Dan Williams  <dcbw@redhat.com>
1883
1884         * src/nm-ip4-config.c
1885                 - (get_property): use common ip4 address/route conversion functions
1886                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1887                         copy the new route here, not take ownership
1888
1889 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1890
1891         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1892         Update the IP4 setting's method name.
1893
1894 2008-08-07  Dan Williams  <dcbw@redhat.com>
1895
1896         * introspection/nm-ip4-config.xml
1897           libnm-glib/libnm-glib-test.c
1898           libnm-glib/nm-ip4-config.c
1899           libnm-glib/nm-ip4-config.h
1900           src/NetworkManagerSystem.h
1901           src/backends/NetworkManagerArch.c
1902           src/backends/NetworkManagerDebian.c
1903           src/backends/NetworkManagerFrugalware.c
1904           src/backends/NetworkManagerGeneric.c
1905           src/backends/NetworkManagerGeneric.h
1906           src/backends/NetworkManagerGentoo.c
1907           src/backends/NetworkManagerMandriva.c
1908           src/backends/NetworkManagerPaldo.c
1909           src/backends/NetworkManagerRedHat.c
1910           src/backends/NetworkManagerSlackware.c
1911           src/backends/NetworkManagerSuSE.c
1912           src/dhcp-manager/nm-dhcp-manager.c
1913           src/nm-device.c
1914           src/nm-ip4-config.c
1915           src/nm-ip4-config.h
1916                 - Remove NIS logic; should be done from dispatcher scripts instead
1917
1918 2008-08-07  Dan Williams  <dcbw@redhat.com>
1919
1920         * src/dhcp-manager/nm-dhcp-manager.c
1921                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1922                         mis-handling of DHCP responses that returned more than one router
1923                         (found by Grant Williamson)
1924
1925 2008-08-07  Dan Williams  <dcbw@redhat.com>
1926
1927         * callouts/nm-dispatcher-action.c
1928                 - (nm_dispatcher_action): grab device path and create the device; pass
1929                         the device's DHCP4 config to script caller
1930                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1931                         scripts
1932
1933         * libnm-glib/nm-dhcp4-config.c
1934           libnm-glib/nm-dhcp4-config.h
1935                 - (nm_dhcp4_config_get_options): expose
1936                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1937
1938 2008-08-07  Dan Williams  <dcbw@redhat.com>
1939
1940         * include/NetworkManager.h
1941                 - Add the DHCP4Config D-Bus interface
1942
1943         * libnm-glib/Makefile.am
1944           libnm-glib/nm-dhcp4-config.c
1945           libnm-glib/nm-dhcp4-config.h
1946                 - Handle DHCP4 config objects exported by NM over D-Bus
1947
1948         * libnm-glib/nm-device.c
1949           libnm-glib/nm-device.h
1950                 - Add a 'dhcp4-config' property
1951
1952         * libnm-glib/libnm-glib-test.c
1953                 - Print out DHCP4 config for devices
1954                 - Fix some crashes when no connections are active
1955
1956         * src/nm-device-interface.c
1957           src/nm-device.c
1958           src/nm-dhcp4-config.c
1959           src/nm-dhcp4-config.h
1960                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1961                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1962                         doesn't let us do when the property type is G_TYPE_OBJECT
1963
1964 2008-08-07  Dan Williams  <dcbw@redhat.com>
1965
1966         * src/NetworkManager.c
1967           src/NetworkManagerSystem.h
1968           src/backends/NetworkManagerArch.c
1969           src/backends/NetworkManagerDebian.c
1970           src/backends/NetworkManagerFrugalware.c
1971           src/backends/NetworkManagerGeneric.c
1972           src/backends/NetworkManagerGeneric.h
1973           src/backends/NetworkManagerGentoo.c
1974           src/backends/NetworkManagerMandriva.c
1975           src/backends/NetworkManagerPaldo.c
1976           src/backends/NetworkManagerRedHat.c
1977           src/backends/NetworkManagerSlackware.c
1978           src/backends/NetworkManagerSuSE.c
1979                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1980
1981 2008-08-06  Dan Williams  <dcbw@redhat.com>
1982
1983         * libnm-glib/nm-ip4-config.c
1984           libnm-glib/nm-ip4-config.h
1985                 - Add 'routes' property
1986
1987         * libnm-util/nm-setting-vpn.c
1988           libnm-util/nm-setting-vpn.h
1989                 - Remove 'routes' property
1990
1991         * libnm-util/nm-setting-ip4-config.c
1992           libnm-util/nm-setting-ip4-config.h
1993                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1994                 - Add 'ignore-auto-routes' property
1995                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1996                         accomodate route metrics
1997                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1998
1999         * libnm-util/nm-utils.c
2000           libnm-util/nm-utils.h
2001                 - Add helpers for marshalling IP4 routes
2002
2003         * src/NetworkManagerUtils.c
2004                 - (nm_utils_merge_ip4_config): handle property renames and new route
2005                         structure
2006
2007         * src/NetworkManagerSystem.c
2008                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2009                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2010
2011         * src/dhcp-manager/nm-dhcp-manager.c
2012                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2013
2014         * system-settings/plugins/ifcfg-fedora/reader.c
2015           system-settings/plugins/ifcfg-fedora/writer.c
2016                 - Handle routes separately from addresses now that routes have a different
2017                         format
2018
2019         * introspection/nm-ip4-config.xml
2020           src/nm-ip4-config.c
2021           src/nm-ip4-config.h
2022                 - Rename internal routing functions
2023                 - 'static-routes' renamed to 'routes'
2024
2025 2008-08-04  Dan Williams  <dcbw@redhat.com>
2026
2027         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2028
2029         * src/NetworkManager.c
2030           src/nm-manager.c
2031           src/nm-manager.h
2032                 - More explicitly make the NMManager a singleton
2033
2034 2008-08-04  Dan Williams  <dcbw@redhat.com>
2035
2036         * libnm-util/nm-connection.c
2037           libnm-util/nm-connection.h
2038                 - (nm_connection_verify): return error on missing 'connection' setting
2039                         (found by Sjoerd Simons)
2040
2041 2008-08-04  Dan Williams  <dcbw@redhat.com>
2042
2043         Handle multiple concurrent PPP connections.
2044
2045         * src/ppp-manager/nm-ppp-manager.c
2046           src/ppp-manager/nm-ppp-manager.h
2047                 - (constructor): only PPP Manager request bus name once; each
2048                         NMPPPManager object gets a unique object path
2049                 - (nm_ppp_manager_class_init, get_property, set_property,
2050                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2051                         at construct time
2052                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2053                         remove timeout until PPP manager gets an IP4 config
2054                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2055                         the plugin can call back to this specific PPP manager instance
2056
2057         * src/nm-device-ethernet.c
2058           src/nm-serial-device.c
2059                 - Pass parent device in nm_ppp_manager_new()
2060
2061         * src/nm-gsm-device.c
2062           src/nm-cdma-device.c
2063                 - (device_state_changed): don't close serial device on NEED_AUTH
2064                         state changed, that's not a failure case like the rest are
2065
2066         * src/ppp-manager/nm-pppd-plugin.c
2067                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2068                         binds one interface to any pppd process, thus the correct index
2069                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2070                         problems; try harder to get a peer address in spite of pppd
2071                 - (plugin_init): use 'ipparam' as the object path back to our specific
2072                         PPP manager instance
2073
2074 2008-08-04  Dan Williams  <dcbw@redhat.com>
2075
2076         * src/ppp-manager/nm-ppp-manager.c
2077                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2078                         since the GSM and CDMA settings now implement need_secrets, we can
2079                         rely on them to do the right thing.  Where secrets are not required,
2080                         just pass empty strings back to the pppd plugin.
2081                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2082                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2083                         on successful IP4 config receipt
2084
2085 2008-08-04  Dan Williams  <dcbw@redhat.com>
2086
2087         * libnm-util/nm-setting-cdma.c
2088           libnm-util/nm-setting-gsm.c
2089                 - (verify): validate username & password if they exist
2090                 - (need_secrets): if username given, require a password too
2091
2092 2008-08-04  Dan Williams  <dcbw@redhat.com>
2093
2094         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2095                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2096                         manpage says about --listen-address without --interface
2097                         (bgo #546033)
2098
2099 2008-08-01  Dan Williams  <dcbw@redhat.com>
2100
2101         * libnm-glib/nm-device.c
2102                 - (proxy_get_string): util function for querying a HAL property
2103                 - (get_ancestor_device): split out from get_product_and_vendor()
2104                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2105                         from PCI devices by querying subsys properties
2106                 - (nm_device_update_description): simplify
2107
2108 2008-08-01  Dan Williams  <dcbw@redhat.com>
2109
2110         * libnm-util/nm-setting-ip4-config.c
2111           libnm-util/nm-setting-ip4-config.h
2112                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2113                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2114                         settings, and they don't necessarily use DHCP.
2115
2116         * src/NetworkManagerPolicy.c
2117           src/nm-device.c
2118           system-settings/plugins/ifcfg-fedora/reader.c
2119           system-settings/plugins/ifcfg-suse/parser.c
2120                 - Fixup for method changes
2121
2122 2008-07-31  Dan Williams  <dcbw@redhat.com>
2123
2124         * src/nm-activation-request.c
2125           src/vpn-manager/nm-vpn-connection.c
2126                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2127                         itself should be attached to the activation request or the VPN
2128                         connection, not the NMConnection object, since the call is not
2129                         expected to live as long as the NMConnection itself
2130
2131 2008-07-31  Dan Williams  <dcbw@redhat.com>
2132
2133         * src/nm-device-wifi.c
2134                 - (real_act_stage2_config): fix issue where association would continue
2135                         even though secrets were needed; 'goto out' was in wrong scope and
2136                         result of handle_auth_or_fail() should have been dumped directly to
2137                         'ret' to ensure that the association was postponed until secrets
2138                         are available
2139
2140 2008-07-31  Dan Williams  <dcbw@redhat.com>
2141
2142         * system-settings/plugins/ifcfg-fedora/plugin.c
2143           system-settings/plugins/ifcfg-fedora/reader.c
2144                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2145                         valid NM connection
2146
2147 2008-07-29  Dan Williams  <dcbw@redhat.com>
2148
2149         * src/nm-gsm-device.c
2150                 - (automatic_registration_response, automatic_registration): recognize
2151                         denied registration and reorder responses
2152
2153 2008-07-29  Dan Williams  <dcbw@redhat.com>
2154
2155         * src/nm-serial-device.c
2156                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2157                         time(2) is used for current time, which returns seconds, we shouldn't
2158                         be multiplying by 1000.
2159
2160 2008-07-28  Dan Williams  <dcbw@redhat.com>
2161
2162         Patch from Fabrice Bellet <fabrice@bellet.info>
2163
2164         * src/NetworkManagerSystem.c
2165                 - (route_in_same_subnet): mask addresses and compare them so that the
2166                         function actually does what it says it's going to do (rh #456685)
2167
2168 2008-07-27  Dan Williams  <dcbw@redhat.com>
2169
2170         * libnm-util/nm-setting-ip6-config.c
2171                 - (set_property): add missing break that caused routes to be overwritten
2172                         with addresses
2173
2174         * libnm-util/nm-setting-ip6-config.c
2175                 - (verify): validate routes and return GError everywhere on invalid setting
2176                 - (finalize): don't leak routes
2177                 - (set_property): add missing break that caused routes to be overwritten
2178                         with addresses
2179
2180 2008-07-27  Dan Williams  <dcbw@redhat.com>
2181
2182         * libnm-util/*
2183                 - Relicense to LGPLv2+
2184
2185 2008-07-27  Dan Williams  <dcbw@redhat.com>
2186
2187         * system-settings/plugins/ifcfg-fedora/reader.c
2188                 - (make_ip4_setting): fix parsing automatic configs
2189
2190 2008-07-27  Dan Williams  <dcbw@redhat.com>
2191
2192         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2193           src/nm-device.c
2194           src/ppp-manager/nm-ppp-manager.c
2195                 - Ensure child process gets reaped.  The child watch function may be
2196                         removed from the mainloop before the child gets killed, so we have
2197                         to make sure the child is reaped when it's told to die intentionally
2198
2199 2008-07-27  Dan Williams  <dcbw@redhat.com>
2200
2201         Patch from Roy Marples <roy@marples.name>
2202
2203         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2204                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2205
2206 2008-07-27  Dan Williams  <dcbw@redhat.com>
2207
2208         * src/nm-gsm-device.c
2209                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2210                         Huawei devices turn echo back on after CPIN (rh #456770)
2211
2212 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2213
2214         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2215         format argument to g_set_error() call.
2216
2217         * src/backends/interface_parser.[ch]: Remove.
2218
2219         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2220
2221 2008-07-21  Dan Williams  <dcbw@redhat.com>
2222
2223         * src/ppp-manager/nm-ppp-manager.c
2224                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2225                         to prevent pppd from picking up some random local address from an
2226                         interface that doesn't have anything to do with the one we're
2227                         interested in (rh #455348)
2228
2229 2008-07-17  Dan Williams  <dcbw@redhat.com>
2230
2231         * libnm-util/nm-utils.c
2232                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2233                         by locale
2234                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2235                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2236
2237 2008-07-17  Dan Williams  <dcbw@redhat.com>
2238
2239         * introspection/Makefile.am
2240           introspection/nm-device.xml
2241           introspection/nm-dhcp4-config.xml
2242                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2243                         itself
2244         * src/nm-device-interface.c
2245           src/nm-device-interface.h
2246                 - Add the DHCP4Config property
2247
2248         * src/nm-device.c
2249                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2250                         D-Bus clients when it changes
2251
2252         * src/nm-dhcp4-config.c
2253           src/nm-dhcp4-config.h
2254                 - Simple object to store DHCP4 options, export them over D-Bus, and
2255                         notify when they change
2256
2257         * src/dhcp-manager/nm-dhcp-manager.c
2258           src/dhcp-manager/nm-dhcp-manager.h
2259                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2260                         filter server-returned DHCP options into an NMDHCP4Config object
2261
2262 2008-07-16  Dan Williams  <dcbw@redhat.com>
2263
2264         * introspection/nm-device.xml
2265                 - Add device state reasons
2266
2267 2008-07-16  Dan Williams  <dcbw@redhat.com>
2268
2269         Patch from Roy Marples <roy@marples.name>
2270
2271         * configure.in
2272                 - Add --with-dhcp-client option
2273
2274         * src/dhcp-manager/Makefile.am
2275                 - pass DHCP_CLIENT_PATH on compile line
2276
2277         * src/dhcp-manager/nm-dhcp-manager.c
2278           src/dhcp-manager/nm-dhcp-manager.h
2279                 - Genericize for both dhcpcd and dhclient
2280
2281         * src/dhcp-manager/nm-dhcp-dhclient.c
2282                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2283
2284         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2285                 - Implement support for dhcpcd too
2286
2287 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2288
2289         * system-settings/src/nm-system-config-interface.c 
2290         (nm_system_config_interface_supports_add): Implement.
2291         (nm_system_config_interface_add_connection): Return a boolean to notify
2292         of errors.
2293
2294         * system-settings/src/nm-polkit-helpers.c: 
2295         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2296         a separate file.
2297
2298         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2299         Return an error when none of the plugins support add or if addition
2300         failed for some reason.
2301
2302         * system-settings/src/nm-system-config-error.h: 
2303         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2304         here from nm-polkit-helpers.[ch].
2305
2306         * system-settings/src/Makefile.am: Build new files.
2307
2308         * system-settings/plugins/keyfile/reader.c 
2309         (read_array_of_array_of_uint): Make it more general so that it would
2310         work for routes as well.
2311
2312         * system-settings/plugins/keyfile/writer.c
2313         (write_array_of_array_of_uint): Ditto.
2314         Fix the netmask/prefix writing.
2315
2316         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2317         boolean to notify errors.
2318
2319         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2320         Return more specific error.
2321         (delete): Ditto.
2322
2323 2008-07-11  Dan Williams  <dcbw@redhat.com>
2324
2325         Modify the NMDevice::state-changed signal to include the previous state
2326         and reason. Enables the applet to provide more information why device
2327         activation failed.
2328
2329 2008-07-09  Dan Williams  <dcbw@redhat.com>
2330
2331         * callouts/Makefile.am
2332           callouts/nm-avahi-autoipd-action.c
2333           callouts/nm-avahi-autoipd.conf
2334                 - avahi-autoipd callout to send options back to NM
2335
2336         * src/autoip.c
2337           src/autoip.h
2338                 - remove
2339
2340         * src/nm-device.c
2341           src/nm-device-private.h
2342           src/nm-manager.c
2343                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2344                         old custom stuff
2345
2346 2008-07-07  Dan Williams  <dcbw@redhat.com>
2347
2348         * system-settings/plugins/ifcfg-fedora/reader.c
2349                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2350                         handle PREFIX too; clean up
2351
2352 2008-07-07  Dan Williams  <dcbw@redhat.com>
2353
2354         Convert to using IPv4 prefixes instead of netmasks.
2355
2356 2008-07-03  Dan Williams  <dcbw@redhat.com>
2357
2358         * libnm-util/nm-setting-ip4-config.c
2359           libnm-util/nm-setting-ip4-config.h
2360                 - Add properties for DHCP Client Identifier and DHCP Hostname
2361
2362         * src/dhcp-manager/nm-dhcp-manager.c
2363           src/dhcp-manager/nm-dhcp-manager.h
2364                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2365                         setting as an argument to pass on to the dhclient config file
2366                         creation function
2367                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2368                         DHCP is torn down
2369                 - (dhclient_run): punt config file handling to create_dhclient_config()
2370                 - (create_dhclient_config): create an interface-specific dhclient
2371                         config file since there may need to be interface-specific options
2372                         passed to dhclient
2373                 - (merge_dhclient_config): merge normal distro dhclient config file and
2374                         add options from the connection
2375                 - (nm_dhcp_device_new): generate the interface specific dhclient
2376                         config file path once
2377                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2378                         dhclient config file path
2379
2380         * src/nm-device.c
2381                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2382                         DHCP manager when starting DHCP
2383
2384 2008-07-02  Dan Williams  <dcbw@redhat.com>
2385
2386         * libnm-util/nm-setting-8021x.c
2387                 - (verify): allow forcing the PEAP label to 0
2388
2389 2008-07-02  Dan Williams  <dcbw@redhat.com>
2390
2391         * introspection/nm-active-connection.xml
2392           introspection/nm-vpn-connection.xml
2393           libnm-glib/nm-active-connection.c
2394           src/nm-activation-request.c
2395           src/nm-active-connection.h
2396           src/vpn-manager/nm-vpn-connection.c
2397                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2398                         and libnm-glib API since sharing didn't get implemented that way
2399
2400 2008-07-02  Dan Williams  <dcbw@redhat.com>
2401
2402         * src/nm-device-wifi.c
2403                 - (can_scan): don't scan when a shared connection is activated since
2404                         that makes drivers mad (causing disconnects); also NM doesn't need
2405                         to hedge against disconnects by keeping up-to-date network topology
2406                         because the connection originates from the local machine, and thus
2407                         there should be no disconnects
2408
2409 2008-07-01  Dan Williams  <dcbw@redhat.com>
2410
2411         Fix mobile broadband username/password issues.  NM was never requesting
2412         mobile broadband secrets, nor was it passing back the username and password
2413         if it had them.
2414
2415         * marshallers/nm-marshal.list
2416                 - Add some new types for activation request objects
2417
2418         * src/nm-activation-request.c
2419           src/nm-activation-request.h
2420                 - (get_secrets_cb): pass the caller type in the signal
2421                 - (nm_act_request_request_connection_secrets): take a caller type, so
2422                         that GetSecrets() reply handlers know who asked for the secrets in
2423                         the first place; use secret hints too so the settings service can
2424                         figure out exactly what NM wants (ie, PIN or the PPP password)
2425
2426         * src/ppp-manager/nm-ppp-manager.c
2427           src/ppp-manager/nm-ppp-manager.h
2428                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2429                         detect needed secrets when the secret could be blank, like GSM/CDMA
2430                         passwords.  So always ask for secrets, and send a hint as to what
2431                         secret we really want.
2432                 - (nm_ppp_manager_update_secrets): make function more generic by making
2433                         the device specific class figure out the username and password, and
2434                         accept an error argument to return back over D-Bus
2435
2436         * src/nm-device-wifi.c
2437                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2438                         nm_act_request_request_connection_secrets()
2439                 - (real_connection_secrets_updated): update for 'caller' changes
2440
2441         * src/nm-device.c
2442           src/nm-device.h
2443                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2444                         for 'caller' changes
2445
2446         * src/nm-device-ethernet.c
2447                 - (real_connection_secrets_updated): update for 'caller' changes and
2448                         move logic for getting PPPoE username and password here before
2449                         calling nm_ppp_manager_update_secrets()
2450                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2451                         nm_act_request_request_connection_secrets()
2452
2453         * src/nm-cdma-device.c
2454                 - (real_connection_secrets_updated): pass username and password back
2455                         to the PPP manager when required
2456
2457         * src/nm-gsm-device.c
2458                 - (enter_pin): send the required secret name to the settings service
2459                 - (real_connection_secrets_updated): pass username and password back
2460                         to the PPP manager when required
2461
2462 2008-06-30  Dan Williams  <dcbw@redhat.com>
2463
2464         * src/nm-device-wifi.c
2465                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2466
2467 2008-06-30  Dan Williams  <dcbw@redhat.com>
2468
2469         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2470         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2471         priv->supplicant.iface.  When either condition is false, the device should
2472         transition back to UNAVAILABLE because it cannot be used.
2473
2474         * src/nm-device-wifi.c
2475                 - (constructor): cleanup; connect to supplicant manager here since the
2476                         supplicant manager is always around
2477                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2478                         ensure the supplicant manager is in the IDLE state
2479                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2480                         cancel any pending scans too
2481                 - (real_bring_up): don't set up the supplicnat interface here, because
2482                         we need the supplicant interface at times when the device may not
2483                         be "up"
2484                 - (real_take_down): just remove the periodic source
2485                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2486                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2487                         do anything if there's no supplicant interface
2488                 - (cleanup_association_attempt): cleanup
2489                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2490                         the interface enters the READY state; transition to UNAVAILABLE
2491                         state when the interface goes down because the device can't be used
2492                         without a supplicant interface
2493                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2494                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2495                         acquire the supplicant interface and transition to DISCONNECTED
2496                         if the radio isn't killed
2497                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2498                 - (state_changed_cb): release any existing supplicant interface; if the
2499                         radio is enabled then try to acquire a new supplicant interface;
2500                         if the radio is enabled and a supplicant interface has been acquired,
2501                         we can transition to DISCONNECTED
2502                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2503                         don't enable the radio, because HAL probably lied to us about the
2504                         killswitch being off.  If bringing the hardware up worked, then
2505                         try to grab a supplicant interface, and if that was successful,
2506                         transition to DISCONNECTED
2507
2508 2008-06-30  Dan Williams  <dcbw@redhat.com>
2509
2510         * src/supplicant-manager/nm-supplicant-interface.c
2511                 - (request_scan_results, nm_supplicant_interface_dispose,
2512                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2513                         the id of the timeout, not a GSource
2514
2515 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2516
2517         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2518         bunch of typoes introduced by "Patch from David Cantrell 
2519         <dcantrell@redhat.com> and me".
2520
2521 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2522
2523         * src/nm-serial-device.c: 
2524         * src/nm-gsm-device.c: 
2525         * src/nm-cdma-device.c: Move the pending call handling to a common location
2526         in serial device. Handle setting device state to failed in one place as well.
2527
2528 2008-06-29  Dan Williams <dcbw@redhat.com>
2529
2530         * src/nm-hal-manager.c
2531                 - Rework killswitch handling to query killswitch status immediately
2532                         when the first killswitch is added, so that rfkill state is
2533                         known as early as possible
2534                 - Also treat failure of GetPower() as rfkill when the dbus method
2535                         call times out (but not when the HAL callout returns an error)
2536
2537 2008-06-26  Dan Williams <dcbw@redhat.com>
2538
2539         Patch from David Cantrell <dcantrell@redhat.com> and me
2540
2541         * include/nm-dbus-glib-types.h
2542                 - Add IP6 address types
2543
2544         * libnm-util/Makefile.am
2545           libnm-util/nm-setting-ip6-config.c
2546           libnm-util/nm-setting-ip6-config.h
2547                 - Add IP6 settings object
2548
2549         * libnm-util/nm-connection.c
2550                 - (register_default_settings): register ip6 settings object
2551
2552         * libnm-util/nm-utils.c
2553           libnm-util/nm-utils.h
2554                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2555                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2556                         ip6 address conversion functions
2557         
2558 2008-06-26  Dan Williams <dcbw@redhat.com>
2559
2560         Patch from David Cantrell <dcantrell@redhat.com>
2561         
2562         * Use inet_ntop() and inet_pton() everwhere and check for errors
2563
2564 2008-06-26  Dan Williams <dcbw@redhat.com>
2565
2566         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2567
2568 2008-06-26  Dan Williams <dcbw@redhat.com>
2569
2570         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2571
2572         * src/nm-device-wifi.c
2573                 - (link_timeout_cb): don't ignore disconnects due to scanning
2574                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2575                         a longer timeout when scanning; avoids case where supplicant can't
2576                         find the AP and just keeps scanning forever but isn't connected
2577
2578 2008-06-26  Dan Williams <dcbw@redhat.com>
2579
2580         Patch from Michael Biebl <biebl@debian.org>
2581
2582         * Clean up build system stuff
2583
2584 2008-06-23  Christian Persch  <chpe@gnome.org>
2585
2586         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2587         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2588         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2589         (impl_get_object):
2590         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2591         (impl_get_object):
2592         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2593         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2594         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2595         (impl_get_object):
2596         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2597         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2598         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2599         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2600         * vpn-daemons/pptp/properties/vpnui_opt.c:
2601         (vpnui_opt_connect_signals):
2602         * vpn-daemons/pptp/properties/vpnui_opt.h:
2603         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2604         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2605         deprecated gtk type macros. Bug #539325.
2606
2607 2008-06-20  Dan Williams  <dcbw@redhat.com>
2608
2609         * libnm-glib/nm-vpn-plugin-ui-interface.c
2610           libnm-glib/nm-vpn-plugin-ui-interface.h
2611                 - 'validity-changed' -> 'changed' to work better with the connection
2612                         editor.  Plugin UI widgets should emit 'changed' whenever their
2613                         UI values change in a meaningful way.
2614                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2615                         update_connection member now returns validity of the UI widget
2616
2617 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2618
2619         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2620
2621 2008-06-17  Dan Williams  <dcbw@redhat.com>
2622
2623         * libnm-glib/nm-vpn-plugin-ui-interface.c
2624           libnm-glib/nm-vpn-plugin-ui-interface.h
2625                 - Add "desc" property for longer descriptions of the VPN plugin
2626
2627 2008-06-16  Dan Williams  <dcbw@redhat.com>
2628
2629         * configure.in
2630           libnm-glib/libnm_glib_vpn.pc.in
2631                 - add a .pc file for libnm_glib_vpn
2632
2633         * libnm-glib/nm-vpn-plugin-ui-interface.c
2634           libnm-glib/nm-vpn-plugin-ui-interface.h
2635                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2636                         rework it substantially
2637
2638 2008-06-12  Dan Williams  <dcbw@redhat.com>
2639
2640         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2641         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2642         returns a descriptive GError when verification fails.
2643
2644 2008-06-11  Dan Williams  <dcbw@redhat.com>
2645
2646         Patch from Tambet Ingo <tambet@gmail.com>
2647
2648         * libnm-util/nm-setting-gsm.c
2649                 - (verify): validate APN
2650
2651         * src/nm-gsm-device.c
2652                 - (manual_registration_done): start setting APN if needed
2653                 - (set_apn, set_apn_done): set the APN
2654                 - (do_dial): use the APN when dialing
2655
2656 2008-06-11  Dan Williams  <dcbw@redhat.com>
2657
2658         * src/NetworkManagerSystem.c
2659                 - (nm_system_device_set_ip4_route,
2660                    nm_system_device_replace_default_ip4_route): check for the right
2661                         return value from rtnl_route_add() to know when to add a gateway
2662                         route (from Tambet)
2663
2664 2008-06-11  Dan Williams  <dcbw@redhat.com>
2665
2666         * src/NetworkManagerPolicy.c
2667                 - do_ipt_cmd -> do_cmd
2668                 - (sharing_init): use do_cmd() instead of system()
2669
2670 2008-06-10  Dan Williams  <dcbw@redhat.com>
2671
2672         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2673         and use "wifi" everwhere instead.
2674
2675 2008-06-10  Dan Williams  <dcbw@redhat.com>
2676
2677         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2678
2679 2008-06-10  Dan Williams  <dcbw@redhat.com>
2680
2681         Patch from Tambet Ingo <tambet@gmail.com>
2682
2683         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2684                 changes.
2685
2686         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2687                 a signal to emit these changes over dbus.
2688
2689         * src/Makefile.am: Genereate nm-serial-device-glue.
2690
2691         * libnm-glib/nm-serial-device.[ch]: Implement.
2692
2693         * libnm-glib/nm-cdma-device.[ch]
2694           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2695
2696         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2697
2698         * introspection/nm-device-serial.xml: Implement.
2699
2700         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2701
2702         * introspection/Makefile.am: Add nm-device-serial.xml.
2703
2704         * include/NetworkManager.h: Add a DBus interface for serial device.
2705
2706 2008-06-10  Dan Williams  <dcbw@redhat.com>
2707
2708         * configure.in
2709                 - Add TARGET_* define to config.h to distinguish distros
2710
2711         * src/dhcp-manager/nm-dhcp-manager.c
2712                 - (dhclient_run): use distro-specific path for dhclient config file
2713
2714 2008-06-09  Dan Williams  <dcbw@redhat.com>
2715
2716         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2717           src/dnsmasq-manager/nm-dnsmasq-manager.h
2718                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2719                         calculate the addresses passed to dnsmasq instead of hard-coding
2720                         them
2721
2722         * src/nm-device.c
2723                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2724                         IP addresses for shared connections to guard against shared
2725                         connection address collisions
2726                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2727                         error conditions
2728                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2729                         the dnsmasq manager
2730
2731 2008-06-09  Dan Williams  <dcbw@redhat.com>
2732
2733         * src/NetworkManagerPolicy.c
2734                 - (update_routing_and_dns): set the default connection _after_ unsetting
2735                         default on all non-default connections so that two connections can
2736                         never be default at the same time
2737                 - (device_state_changed): start and stop connection sharing when
2738                         needed
2739                 - (active_connection_default_changed): restart or stop sharing when
2740                         the default connection changes to keep shared connections always
2741                         NAT-ed through the default connection
2742                 - (check_sharing): handle activation/deactivation of shared connections
2743                 - (sharing_restart): atom-bomb approach to connection sharing until we
2744                         can use libnl; reinit all sharing when the default connection or
2745                         shared connections change
2746                 - (sharing_init, sharing_stop): evil functions that init and deinit
2747                         iptables
2748
2749 2008-06-09  Dan Williams  <dcbw@redhat.com>
2750
2751         * src/nm-activation-request.c
2752           src/nm-activation-request.h
2753                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2754                    nm_act_request_get_device): new functions to facilitate connection
2755                         sharing
2756
2757 2008-06-09  Dan Williams  <dcbw@redhat.com>
2758
2759         * src/nm-device.c
2760                 - (clear_act_request): unset the 'default' property of the activation
2761                         request when clearing it to ensure the property changed signal gets
2762                         delivered and handled
2763
2764 2008-06-09  Dan Williams  <dcbw@redhat.com>
2765
2766         * libnm-glib/nm-device-802-11-wireless.c
2767                 - (access_point_removed_proxy): actually unref the AP after removing
2768                         it from the device's AP list.  Fixes refcounting bug for APs that
2769                         caused them to get mixed up in the applet's menu.
2770
2771 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2772
2773         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2774         (nm_dhcp_device_destroy): Destroy the device options hash table.
2775
2776 2008-06-06  Dan Williams <dcbw@redhat.com>
2777
2778         * system-settings/src/nm-polkit-helpers.c
2779                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2780                         unref the context if the initialization fails; also avoid spew when
2781                         the error isn't set
2782
2783 2008-06-06  Dan Williams <dcbw@redhat.com>
2784
2785         Patch from Tambet Ingo  <tambet@gmail.com>
2786
2787         * src/NetworkManagerSystem.c
2788           src/NetworkManagerSystem.h
2789                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2790                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2791                 - (nm_system_device_set_ip4_route): clean up
2792                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2793
2794         * src/nm-device.c
2795                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2796
2797         * src/vpn-manager/nm-vpn-connection.c
2798                 - (ip_address_to_string): new function
2799                 - (print_vpn_config): use ip_address_to_string
2800                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2801                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2802
2803         * include/NetworkManagerVPN.h
2804                 - Add 'routes' key
2805
2806 2008-06-05  Dan Williams <dcbw@redhat.com>
2807
2808         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2809
2810         * test/nm-tool.c
2811                 - Show which device is the default device
2812
2813 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2814
2815         Fix memory leaks.
2816
2817         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2818         Free data returned from dbus method call.
2819
2820         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2821         dbus_g_method_get_sender() returns a duplicated string, free it 
2822         when done.
2823         (check_polkit_privileges): Looks like policykit sometimes returns
2824         error and non-null return value, don't leak errors in that case.
2825
2826         * system-settings/src/main.c (find_plugin): Don't leak existing 
2827         plugin names.
2828         (load_stuff): Don't leak device list and list items.
2829         (have_connection_for_device): Don't leak connection list.
2830
2831         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2832         Free the data received from g_keyfile_get_*.
2833
2834         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2835         the key when the security object is updated.
2836
2837         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2838         Free data returned from dbus method call.
2839         (iface_state_cb): Ditto.
2840         (add_network_cb): Ditto.
2841         (nm_supplicant_interface_add_cb): Don't make another copy of already
2842         duplicated object path.
2843         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2844         when done.
2845
2846         * src/supplicant-manager/nm-supplicant-config.c 
2847         (ADD_STRING_LIST_VAL): Fix a memory leak.
2848
2849         * src/nm-manager.c (free_get_settings_info): Free the allocated
2850         memory slice.
2851         (list_connections_cb): Free data returned from dbus method call.
2852         (system_settings_get_unmanaged_devices_cb): Ditto.
2853
2854         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2855
2856         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2857         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2858         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2859         of the GList.
2860
2861         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2862         arguments after the object is created.
2863
2864 2008-06-04  Dan Williams <dcbw@redhat.com>
2865
2866         * libnm-util/Makefile.am
2867                 - Don't distribute nm-param-spec-specialized.h
2868
2869 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2870
2871         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2872
2873         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2874         NMIP4Address, update the getters and setters.
2875
2876         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2877         Use the updated NMIP4Config routes api.
2878
2879         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2880         static routes as well.
2881
2882         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2883         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2884         routes api.
2885
2886 2008-05-30  Dan Williams <dcbw@redhat.com>
2887
2888         * src/named-manager/nm-named-manager.c
2889           src/named-manager/nm-named-manager.h
2890                 - Remove stale/obsolete bits for controlling bind over DBus
2891
2892 2008-05-29  Dan Williams <dcbw@redhat.com>
2893
2894         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2895           src/dnsmasq-manager/nm-dnsmasq-manager.h
2896                 - (nm_dnsmasq_manager_new): move iface argument here
2897                 - (constructor): remove, not needed
2898                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2899                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2900
2901         * src/nm-device.c
2902                 - (real_act_stage4_get_ip4_config,
2903                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2904                         changes
2905
2906 2008-05-29  Dan Williams <dcbw@redhat.com>
2907
2908         * src/nm-device.c
2909                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2910                         something happens to dnsmasq
2911                 - (nm_device_new_ip4_shared_config): new function; create a new
2912                         ip4-config for shared connections.  Shared connections always use a
2913                         fixed static IP address.
2914                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2915                         autoip connections by actually using the returned ip4-config and
2916                         not leaking it
2917                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2918                         connections
2919                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2920                         if its active
2921
2922 2008-05-29  Dan Williams <dcbw@redhat.com>
2923
2924         * src/nm-device-802-11-wireless.c
2925                 - (real_get_best_auto_connection): auto-activate 'shared' method
2926                         connections too
2927
2928 2008-05-29  Dan Williams <dcbw@redhat.com>
2929
2930         * libnm-util/nm-setting-ip4-config.c
2931           libnm-util/nm-setting-ip4-config.h
2932                 - Add a 'shared' method to indicate that this connection should be
2933                         brought up with a DHCP and proxy DNS server to facilitate
2934                         connection sharing.
2935                 - (verify): 'shared' method doesn't allow DNS or searches either
2936
2937 2008-05-29  Dan Williams <dcbw@redhat.com>
2938
2939         * configure.in
2940           src/Makefile.am
2941           src/dnsmasq-manager/Makefile.am
2942           src/dnsmasq-manager/nm-dnsmasq-manager.c
2943           src/dnsmasq-manager/nm-dnsmasq-manager.h
2944                 - Add a dnsmasq daemon manager to facilitate connection sharing
2945
2946 2008-05-29  Dan Williams <dcbw@redhat.com>
2947
2948         * src/nm-device-private.h
2949                 - Remove unused prototypes and clean up
2950
2951         * src/nm-device.c
2952                 - Remove anything related to system_config_data, which is no longer used
2953                 - (nm_device_new_ip4_autoip_config): make static
2954
2955 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2956
2957         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2958         (file_changed): Fix a bug where suse system settings plugin didn't
2959         update the connections automatically when the files changed.
2960
2961 2008-05-28  Dan Williams  <dcbw@redhat.com>
2962
2963         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2964
2965 2008-05-28  Dan Williams  <dcbw@redhat.com>
2966
2967         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2968
2969         * src/NetworkManagerSystem.c
2970                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2971                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2972                         was causing -EINVAL errors since the libnl code actually does flush
2973                         the routes on VPN interfaces now
2974
2975         * src/backends/NetworkManagerArch.c
2976           src/backends/NetworkManagerDebian.c
2977           src/backends/NetworkManagerFrugalware.c
2978           src/backends/NetworkManagerGeneric.c
2979           src/backends/NetworkManagerGentoo.c
2980           src/backends/NetworkManagerMandriva.c
2981           src/backends/NetworkManagerPaldo.c
2982           src/backends/NetworkManagerRedHat.c
2983           src/backends/NetworkManagerSlackware.c
2984           src/backends/NetworkManagerSuSE.c
2985                 - (nm_system_device_flush_ip4_routes,
2986                    nm_system_device_flush_ip4_routes_with_iface): remove
2987
2988 2008-05-28  Dan Williams  <dcbw@redhat.com>
2989
2990         * libnm-util/nm-setting-wireless.c
2991           libnm-util/nm-setting-wireless.h
2992                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2993                         'adhoc-create' property, which when TRUE indicates that NM should
2994                         create this connection as an adhoc wifi network if it's not found
2995                         as an adhoc network during scanning.  Can be used to auto-create
2996                         adhoc networks when used in combination with autoconnect.
2997
2998 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2999
3000         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3001
3002         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3003         checked, it doesn't work on some devices.
3004
3005 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3006
3007         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3008         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3009
3010         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3011         Use inet_aton() everywhere to improve error detection.
3012         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3013         provided.
3014
3015 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3016
3017         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3018         Fix a typo.
3019
3020 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3021
3022         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3023         reference counting issue.
3024
3025 2008-05-23  Dan Williams  <dcbw@redhat.com>
3026
3027         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3028
3029         * src/backends/NetworkManagerGeneric.c
3030                 - (nm_generic_enable_loopback): use libnl
3031
3032 2008-05-23  Dan Williams  <dcbw@redhat.com>
3033
3034         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3035
3036         * src/NetworkManagerSystem.h
3037           src/backends/NetworkManagerArch.c
3038           src/backends/NetworkManagerDebian.c
3039           src/backends/NetworkManagerFrugalware.c
3040           src/backends/NetworkManagerGentoo.c
3041           src/backends/NetworkManagerMandriva.c
3042           src/backends/NetworkManagerPaldo.c
3043           src/backends/NetworkManagerRedHat.c
3044           src/backends/NetworkManagerSlackware.c
3045           src/backends/NetworkManagerSuSE.c
3046                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3047                    nm_system_flush_arp_cache): remove, unused
3048
3049         * src/backends/NetworkManagerGeneric.c
3050           src/backends/NetworkManagerGeneric.h
3051                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3052                    nm_generic_flush_arp_cache): remove, unused
3053
3054 2008-05-23  Dan Williams  <dcbw@redhat.com>
3055
3056         * system-settings/plugins/ifcfg-fedora/reader.c
3057                 - (make_ip4_setting): honor PEERDNS setting
3058
3059 2008-05-23  Dan Williams  <dcbw@redhat.com>
3060
3061         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3062
3063         * src/NetworkManagerSystem.c
3064                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3065                         libnl
3066
3067         * src/backends/NetworkManagerArch.c
3068           src/backends/NetworkManagerDebian.c
3069           src/backends/NetworkManagerFrugalware.c
3070           src/backends/NetworkManagerGentoo.c
3071           src/backends/NetworkManagerMandriva.c
3072           src/backends/NetworkManagerPaldo.c
3073           src/backends/NetworkManagerRedHat.c
3074           src/backends/NetworkManagerSlackware.c
3075           src/backends/NetworkManagerSuSE.c
3076                 - (nm_system_device_flush_ip4_addresses,
3077                    nm_system_device_flush_ip4_addresses_with_iface): remove
3078
3079         * src/backends/NetworkManagerGeneric.c
3080                 - (nm_generic_device_flush_ip4_addresses,
3081                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3082
3083 2008-05-23  Dan Williams  <dcbw@redhat.com>
3084
3085         * src/supplicant-manager/nm-supplicant-settings-verify.c
3086                 - Switch 'bssid' from bytes to keyword type
3087                 - (validate_type_keyword): allow NULL keyword lists
3088
3089         * src/supplicant-manager/nm-supplicant-config.c
3090                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3091                         a byte array to string form, which is what the supplicant expects
3092
3093 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3094
3095         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3096         information received from DHCP.
3097
3098         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3099         to make it possible to ignore the DNS information (both servers and 
3100         searches) returned by DHCP server.
3101
3102         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3103         name servers and searches if "ignore_dhcp_dns" is set.
3104
3105         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3106         (nm_ip4_config_reset_searches): Implement.
3107
3108 2008-05-22  Dan Williams  <dcbw@redhat.com>
3109
3110         Remove anything mDNS related.  This is better done from a distro-specific
3111         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3112         avahi, since avahi can handle interface changes just fine using netlink.
3113
3114         * configure.in
3115                 - Remove --with-mdns-provider
3116
3117         * src/NetworkManagerPolicy.c
3118                 - (global_state_changed): don't restart the mdns provider
3119
3120         * src/NetworkManagerSystem.h
3121           src/backends/NetworkManagerArch.c
3122           src/backends/NetworkManagerDebian.c
3123           src/backends/NetworkManagerFrugalware.c
3124           src/backends/NetworkManagerGentoo.c
3125           src/backends/NetworkManagerMandriva.c
3126           src/backends/NetworkManagerPaldo.c
3127           src/backends/NetworkManagerRedHat.c
3128           src/backends/NetworkManagerSlackware.c
3129           src/backends/NetworkManagerSuSE.c
3130                 - (nm_system_restart_mdns_responder): remove
3131
3132         * src/backends/NetworkManagerGeneric.c
3133           src/backends/NetworkManagerGeneric.h
3134                 - (nm_generic_restart_mdns_responder): remove
3135
3136 2008-05-22  Dan Williams  <dcbw@redhat.com>
3137
3138         * configure.in
3139                 - clean up crypto options; just use --with-crypto=nss or
3140                         --with-crypto=gnutls
3141
3142 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3143
3144         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3145         anymore, do it right away.
3146
3147 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3148
3149         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3150         serial device open when we're not connecting or connected.
3151
3152         * src/nm-cdma-device.c (device_state_changed): Ditto.
3153
3154 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3155
3156         Don't remove all devices on waking up, sync with HAL.
3157
3158         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3159         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3160         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3161
3162 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3163
3164         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3165         If the default gateway is unreachable, add a route to gateway and try
3166         again.
3167
3168 2008-05-20  Dan Williams  <dcbw@redhat.com>
3169
3170         * system-settings/plugins/ifcfg-fedora/reader.c
3171                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3172
3173 2008-05-19  Dan Williams  <dcbw@redhat.com>
3174
3175         * system-settings/plugins/ifcfg-fedora/reader.c
3176                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3177                         if the ifcfg doesn't specify one (rh #446527)
3178
3179 2008-05-19  Dan Williams  <dcbw@redhat.com>
3180
3181         Make the system settings service exit when the bus goes away.  Since it's
3182         a bus-activated service, it's lifetime is limited to the bus that activated
3183         it (rh #444976).
3184
3185         * system-settings/src/Makefile.am
3186           system-settings/src/nm-system-config-hal-manager-private.h
3187                 - Remove nm-system-config-hal-manager-private.h
3188
3189         * system-settings/src/nm-system-config-hal-manager.c
3190                 - (nm_system_config_hal_manager_reinit_dbus,
3191                    nm_system_config_hal_manager_deinit_dbus): remove
3192
3193         * system-settings/src/main.c
3194                 - (dbus_reconnect): remove
3195                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3196                 - (destroy_cb): just quit when the bus goes away
3197                 - (start_dbus_service, dbus_init): simplify
3198                 - (main): destroy the wired devices hash table after destroying
3199                         the HAL manager so we don't have to disconnect signals from the
3200                         HAL manager
3201
3202 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3203
3204         Move crypto functions from nm-applet to libnm-util.
3205
3206         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3207         (nm_setting_802_1x_set_client_cert)
3208         (nm_setting_802_1x_set_phase2_ca_cert)
3209         (nm_setting_802_1x_set_phase2_client_cert)
3210         (nm_setting_802_1x_set_private_key)
3211         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3212         file (or private key and it's password), read the certificate data.
3213
3214         * libnm-util/crypto_nss.c: 
3215         * libnm-util/crypto_gnutls.c: 
3216         * libnm-util/crypto.[ch]: Move here from nm-applet.
3217
3218         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3219
3220         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3221         Imlement WPA-EAP configuration reading from sysconfig.
3222
3223 2008-05-16  Dan Williams  <dcbw@redhat.com>
3224
3225         * src/nm-device-802-11-wireless.c
3226                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3227                         wireless
3228
3229 2008-05-14  Dan Williams  <dcbw@redhat.com>
3230
3231         Fix Linus' bug in rh #134886
3232
3233         * src/nm-device-802-3-ethernet.c
3234                 - (constructor): request initial carrier state
3235
3236         * src/nm-netlink-monitor.c
3237                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3238                         signals after refilling the link cache.  Because the refill is a 
3239                         synchronous operation, the normal message hander won't get called
3240                         since libnl has already consumed the messages.
3241                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3242
3243 2008-05-14  Dan Williams  <dcbw@redhat.com>
3244
3245         * src/NetworkManagerSystem.c
3246                 - (nm_system_device_is_up_with_iface): clean up
3247
3248 2008-05-13  Dan Williams  <dcbw@redhat.com>
3249
3250         Fix refcounting issues over sleep/wake when a VPN connection was active that
3251         caused NM to try registering an object path for a device upon wake that was
3252         the same as an already registered object path.
3253
3254         * src/nm-device.c
3255                 - (nm_device_take_down): properly handle cases where the device is
3256                         no longer active but was just active, and therefore must be
3257                         deactivated.  When a device moves to unmanaged mode, this function
3258                         previously would not deactivate the device, because the state was
3259                         already unmanaged by the time this function was called.
3260
3261         * src/vpn-manager/nm-vpn-connection.c
3262                 - (device_state_changed): properly handle multiple devices states in
3263                         which the device is now deactivated.  Code previously didn't handle
3264                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3265                         UNMANAGED states.
3266
3267 2008-05-13  Dan Williams  <dcbw@redhat.com>
3268
3269         * src/nm-device-private.h
3270           src/nm-device.c
3271                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3272
3273         * src/nm-device-802-11-wireless.c
3274                 - (nm_device_802_11_wireless_set_enabled): take devices up
3275                         and down as appropriate for the rfkill state
3276
3277 2008-05-13  Dan Williams  <dcbw@redhat.com>
3278
3279         * marshallers/nm-marshal.list
3280                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3281
3282         * system-settings/plugins/ifcfg-fedora/Makefile.am
3283           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3284           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3285                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3286                         events.  Solely for use watching ifcfg files to pick up changes
3287                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3288
3289         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3290                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3291                         file contents change
3292                 - (finalize): clean up inotify watches
3293                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3294                         and the connection ifcfg for changes on their hardlinks
3295                 - (files_changed_cb): proxy the changed signal back out to listeners
3296
3297         * system-settings/plugins/ifcfg-fedora/plugin.c
3298                 - (dir_changed): 
3299                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3300                         changes
3301                 - (read_one_connection): connect to change signals on the new connection
3302                 - (dir_changed, connection_changed_handler,
3303                    handle_connection_remove_or_new): break out connection change
3304                         handling and connection new/remove handling so it can be used from
3305                         both the GFileMonitor callback and the NMIfcfgConnection changed
3306                         signals
3307
3308         * system-settings/plugins/ifcfg-fedora/reader.c
3309           system-settings/plugins/ifcfg-fedora/reader.h
3310                 - (connection_from_file): return the keyfile path the connection would use
3311
3312 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3313
3314         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3315         single PolKitContext which is shared by all. PolKitContext::unref leaks
3316         just about everything, including all open file descriptiors and results
3317         in 99% cpu usage when data arrives to any of the fds that don't belong
3318         to any context anymore.
3319
3320 2008-05-12  Dan Williams  <dcbw@redhat.com>
3321
3322         * gfilemonitor/glocaldirectorymonitor.c
3323           gfilemonitor/glocaldirectorymonitor.h
3324                 - (g_local_directory_monitor_constructor): actually subscribe to the
3325                         watch
3326                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3327
3328         * gfilemonitor/glocalfilemonitor.c
3329           gfilemonitor/glocalfilemonitor.h
3330                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3331                 - (_g_local_file_monitor_new): ensure that inotify is started up
3332
3333 2008-05-11  Dan Williams  <dcbw@redhat.com>
3334
3335         * configure.in
3336                 - record PolicyKit version
3337
3338         * system-settings/src/nm-polkit-helpers.c
3339                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3340                         with PolicyKit <= 0.6
3341
3342 2008-05-11  Dan Williams  <dcbw@redhat.com>
3343
3344         Update Fedora system-settings plugin to support latest API and use
3345         GFileMonitor rather than home-rolled inotify code.
3346
3347         * system-settings/plugins/ifcfg-fedora/Makefile.am
3348           system-settings/plugins/ifcfg-fedora/common.h
3349           system-settings/plugins/ifcfg-fedora/plugin.c
3350                 - Update to latest system settings plugin API; use GIO instead of
3351                         custom inotify code; use NMIfcfgConnection objects instead of
3352                         ConnectionData structures tacked onto NMConnection objects
3353
3354         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3355           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3356                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3357                         connections
3358
3359         * system-settings/plugins/ifcfg-fedora/reader.c
3360           system-settings/plugins/ifcfg-fedora/reader.h
3361                 - Move ifcfg parsing bits here from parser.c
3362
3363         * system-settings/plugins/ifcfg-fedora/parser.c
3364           system-settings/plugins/ifcfg-fedora/parser.h
3365                 - Remove; most code moved to reader.c
3366
3367 2008-05-11  Dan Williams  <dcbw@redhat.com>
3368
3369         * configure.in
3370           Makefile.am
3371           gfilemonitor/*
3372                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3373                         implementation, so that the same change monitoring code can be used
3374                         on systems without glib-2.14 (like Fedora 8)
3375
3376         * system-settings/plugins/keyfile/Makefile.am
3377           system-settings/plugins/keyfile/plugin.c
3378           system-settings/plugins/ifcfg-suse/Makefile.am
3379           system-settings/plugins/ifcfg-suse/plugin.c
3380                 - Use private gfilemonitor code if GIO is not present
3381
3382 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3383
3384         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3385         NMExportedConnection's 'update' and 'delete' and return error with
3386         descriptive message.
3387
3388 2008-05-08  Dan Williams  <dcbw@redhat.com>
3389
3390         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3391
3392         * src/nm-gsm-device.c
3393           src/nm-cdma-device.c
3394                 - (real_get_best_auto_connection): implement; allow autoconnection
3395                         to GSM & CDMA devices
3396
3397 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3398
3399         Use PolicyKit to authorize the system settings' AddConnection method
3400         and the system settings connections' Update and Delete methods.
3401         
3402         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3403         (impl_exported_connection_delete, nm_exported_connection_update)
3404         (nm_exported_connection_delete): Return boolean and fill GError
3405         to notify the callers of the reasons why it might have failed.
3406
3407         * libnm-glib/nm-dbus-settings-system.c
3408         (nm_dbus_settings_system_add_connection): Return the error from dbus
3409         call so that the callers can see why it failed.
3410
3411         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3412         signatures.
3413
3414         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3415
3416         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3417         abstract base class that checks PolicyKit permissions.
3418
3419         * system-settings/src/dbus-settings.c:
3420         (impl_settings_add_connection): Check the policy before carring out
3421         the request.
3422
3423         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3424         Inherit from NMSysconfigConnection, check the policies before
3425         allowing updating or removing.
3426
3427         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3428         Inherit from NMSysconfigConnection.
3429
3430         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3431         "Delete" methods with async flag so that the implementations can get
3432         access to DBusGMethodInvocation.
3433
3434         * system-settings/src/dbus-settings.c 
3435         (settings_add_connection_check_privileges): Implement.
3436         (impl_settings_add_connection): Check the privileges before adding a new
3437         connection. Improve error reporting.
3438
3439         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3440         async so that the implementation can access DBusGMethodInvocation.
3441
3442         * configure.in: Check for PolicyKit.
3443
3444         * policy/org.freedesktop.network-manager-settings.system.policy: 
3445         New file.
3446
3447         * policy/Makefile.am: Install the policy file.
3448
3449         * configure.in: Add 'policy' subdir.
3450
3451 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3452
3453         Rewrite the suse system settings plugin.
3454
3455         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3456
3457         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3458
3459         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3460
3461         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3462
3463         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3464
3465         * system-settings/src/main.c (load_plugins): Improve error reporting.
3466
3467         * system-settings/src/sha1.[ch] Add.
3468
3469         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3470
3471 2008-05-07  Dan Williams  <dcbw@redhat.com>
3472
3473         * system-settings/plugins/keyfile/reader.c
3474                 - (read_one_setting_value): handle IP address items separately
3475                 - (read_array_of_uint): read IPv4 DNS option as a string array
3476                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3477                         array
3478
3479         * system-settings/plugins/keyfile/writer.c
3480                 - (write_setting_value): handle IP address items separately
3481                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3482                         not an array of uint, so that it's user-editable
3483                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3484                         arrays, so they are user-editable
3485
3486 2008-05-07  Dan Williams  <dcbw@redhat.com>
3487
3488         * system-settings/plugins/keyfile/Makefile.am
3489                 - Change location of the keyfile plugin settings to
3490                         /etc/NetworkManager/system-connections
3491
3492 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3493
3494         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3495
3496         * system-settings/plugins/keyfile/plugin.c: Work with
3497         NMKeyfileConnections.
3498
3499         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3500         Plugins are supposed to return NMExportedConnections now and handle the
3501         updated(), removed(), and GetSecrets().
3502         Store the internal list of connections in hash table to make it easier
3503         to find duplicates.
3504
3505 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3506
3507         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3508         for multiple IP addresses.
3509
3510 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3511
3512         Patch from André Lemos.
3513
3514         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3515         corruption.
3516
3517 2008-05-06  Dan Williams  <dcbw@redhat.com>
3518
3519         * src/dhcp-manager/nm-dhcp-manager.c
3520                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3521                         NMIP4Config to support multiple IP addresses
3522
3523         * src/NetworkManagerUtils.c
3524                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3525
3526         * src/nm-ip4-config.c
3527           src/nm-ip4-config.h
3528                 - Store a list of IPv4 address/netmask/gateway tuples
3529                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3530                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3531                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3532                    nm_ip4_config_set_address): remove
3533                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3534                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3535                         new functions; handle multiple IPv4 addresses
3536
3537         * src/nm-device.c
3538           src/ppp-manager/nm-ppp-manager.c
3539           src/vpn-manager/nm-vpn-connection.c
3540           src/NetworkManagerPolicy.c
3541           test/nm-tool.c
3542           libnm-glib/libnm-glib-test.c
3543                 - update for changes to NMIP4Config for multiple IPv4 addresses
3544
3545         * src/NetworkManagerSystem.c
3546                 - (nm_system_device_set_ip4_route): don't add the route if any address
3547                         is on the same subnet as the destination
3548                 - (check_one_address): ignore the exact match, just match family and
3549                         interface index
3550                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3551                         an interface
3552                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3553                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3554
3555         * introspection/nm-ip4-config.xml
3556                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3557                 - Add 'addresses' property which is an array of (uuu) tuples of
3558                         address/netmask/gateway
3559
3560         * libnm-util/nm-setting-ip4-config.c
3561                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3562
3563         * libnm-glib/nm-ip4-config.c
3564           libnm-glib/nm-ip4-config.h
3565                 - Handle D-Bus interface changes to support multiple IP addresses
3566
3567 2008-05-06  Dan Williams  <dcbw@redhat.com>
3568
3569         * libnm-util/nm-utils.c
3570           libnm-util/nm-utils.h
3571                 - (nm_utils_ip4_addresses_from_gvalue,
3572                    nm_utils_ip4_addresses_to_gvalue): new functions
3573
3574 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3575
3576         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3577         the returned connection paths.
3578
3579 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3580
3581         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3582         "PropertiesChanged" signal signature.
3583
3584         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3585         defined in nm-dbus-glib-types.h.
3586         Don't register the connection on dbus, we're a proxy class to 
3587         communicate with an already registered connection over dbus.
3588
3589 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3590
3591         Implement new subclasses of NMSettings and NMExportedConnection to make
3592         it easier for the applet to access and modify system settings.
3593
3594         * libnm-glib/nm-dbus-connection.[ch]:
3595         * libnm-glib/nm-dbus-settings.[ch]:
3596         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3597
3598         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3599         bindings and glue.
3600
3601         * include/NetworkManager.h: Define the system settings DBus interface.
3602
3603 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3604
3605         Implement additional C API for exported connections to make them identical
3606         with the DBus API. Change the (list_connections) virtual function to be
3607         more usable from C - instead of requiring implementers to return a GPtrArray
3608         of dbus paths, return a list of connections.
3609
3610         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3611         (nm_settings_list_connections):
3612         (nm_exported_connection_new):
3613         (nm_exported_connection_update):
3614         (nm_exported_connection_delete): Implement.
3615
3616         (impl_settings_list_connections):
3617         (impl_exported_connection_update):
3618         (impl_exported_connection_delete): Use the new public functions to make 
3619         sure the C and dbus interfaces stay in sync.
3620
3621         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3622         connections.
3623
3624 2008-05-02  Dan Williams  <dcbw@redhat.com>
3625
3626         * system-settings/plugins/ifcfg-fedora/plugin.c
3627                 - (dispose): use right unref call on the DBusGConnection
3628
3629 2008-05-02  Dan Williams  <dcbw@redhat.com>
3630
3631         * src/nm-serial-device.c
3632                 - (find_terminator): don't compare the whole line, just the size of the
3633                         terminator, since some modems put stuff after the terminator, like
3634                         "CONNECT 9600"
3635
3636 2008-05-01  Dan Williams  <dcbw@redhat.com>
3637
3638         Patch from Michael Biebl <biebl@debian.org>
3639
3640         * callouts/Makefile.am
3641           callouts/org.freedesktop.nm_dispatcher.service.in
3642           system-settings/src/Makefile.am
3643           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3644                 - use the right install location for dbus-activated stuff
3645
3646 2008-04-30  Dan Williams  <dcbw@redhat.com>
3647
3648         * src/nm-gsm-device.c
3649                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3650                         PIN or PUK
3651
3652 2008-04-30  Dan Williams  <dcbw@redhat.com>
3653
3654         * src/nm-manager.c
3655                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3656
3657 2008-04-30  Dan Williams  <dcbw@redhat.com>
3658
3659         * src/nm-device-802-3-ethernet.c
3660           src/nm-device-802-11-wireless.c
3661                 - (real_is_up): return true instead of chaining up to unimplemented
3662                         parent method
3663
3664 2008-04-30  Dan Williams  <dcbw@redhat.com>
3665
3666         * src/NetworkManagerSystem.c
3667           src/NetworkManagerSystem.h
3668                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3669                         functions to check device flags for IFF_UP
3670
3671         * src/nm-serial-device.c
3672                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3673                         implement is_up
3674
3675         * src/nm-device-802-3-ethernet.c
3676           src/nm-device-802-11-wireless.c
3677                 - (real_hw_is_up): call nm_system_device_is_up()
3678
3679         * src/nm-device.c
3680                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3681                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3682                         does not implement
3683
3684 2008-04-29  Dan Williams  <dcbw@redhat.com>
3685
3686         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3687
3688         * marshallers/nm-marshal.list
3689                 - Add marshaller
3690
3691         * src/NetworkManager.c
3692                 - (main): let the NMManager handle the NMHalManager
3693
3694         * src/nm-hal-manager.c
3695           src/nm-hal-manager.h
3696                 - convert to a GObject, and emit singals when stuff changes.  Let the
3697                         NMManager handle the signals, instead of the NMHalManager calling
3698                         into the NMManager.  
3699
3700         * src/nm-manager.c
3701           src/nm-manager.h
3702                 - (remove_one_device): consolidate device removals here
3703                 - (dispose): use remove_one_device()
3704                 - (nm_manager_get_device_by_udi): make static
3705                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3706                         manager for devices at startup or wakeup time
3707                 - (nm_manager_new): create and monitor the HAL manager
3708                 - (hal_manager_udi_added_cb): new function; do what
3709                         nm_manager_add_device() used to do when signalled by the hal manager
3710                 - (hal_manager_udi_removed_cb): new function; do what
3711                         nm_manager_remove_device() used to do when signalled by the hal
3712                         manager
3713                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3714                         hal manager
3715                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3716                         in our device list that aren't known to HAL
3717                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3718                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3719                         commits ago
3720                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3721                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3722                    nm_manager_wireless_hardware_enabled,
3723                    nm_manager_set_wireless_hardware_enabled): remove, unused
3724
3725 2008-04-28  Dan Williams  <dcbw@redhat.com>
3726
3727         Fix the device up/down ambiguities.  Up/down state used to be a
3728         conglomeration of hardware state (IFF_UP) and any device-specific things
3729         (supplicant, periodic timers, etc) that the device used to indicate
3730         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3731         reason, then the device specific stuff wouldn't get run, and the device
3732         would be stuck.
3733
3734         * src/nm-device.c
3735           src/nm-device.h
3736                 - Create hw_is_up, hw_bring_up, and hw_take_down
3737                 - Rename bring_down -> take_down
3738                 - (real_hw_is_up): check interface flags for IFF_UP
3739                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3740                 - (nm_device_is_up): make static; only used locally
3741                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3742                         if the device is already up; if the device isn't up, bring it up
3743                 - (nm_device_hw_take_down): just take down hardware
3744                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3745                 - (nm_device_take_down): always deactivate device when called; always
3746                         try to take hardware down too
3747                 - (nm_device_state_changed): take device down when entering unmanaged
3748                         state from a higher state
3749
3750         * src/nm-device-802-11-wireless.c
3751                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3752                         check IFF_UP really
3753                 - (real_take_down, supplicant_iface_state_cb_handler, 
3754                    supplicant_iface_connection_state_cb_handler,
3755                    supplicant_mgr_state_cb_handler): fix some messages
3756
3757         * src/nm-device-802-3-ethernet.c
3758                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3759                         check IFF_UP really
3760
3761 2008-04-28  Dan Williams  <dcbw@redhat.com>
3762
3763         * src/nm-manager.c
3764           src/nm-manager.h
3765                 - (nm_manager_error_get_type): add new error
3766                 - (nm_manager_remove_device): don't bother taking down the device here,
3767                         the state change from unmanaging the device will do it
3768                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3769                         uses it; when going to sleep, just unmanage the device instead of
3770                         taking it down, because stuff will cleaned up correctly when the
3771                         device gets unmanaged
3772
3773 2008-04-28  Dan Williams  <dcbw@redhat.com>
3774
3775         * src/nm-hal-manager.c
3776                 - (add_initial_devices): convert to a GSourceFunc prototype
3777                 - (nm_manager_state_changed): when coming out of sleep, punt the
3778                         device re-addition to an idle handler to let D-Bus events go out
3779                         first, fixing a potential dbus-glib assert if the old device was
3780                         not yet disposed (due to references held while emitting the D-Bus
3781                         signals) but the new device was found, because the mainloop didn't
3782                         run between signal emission and add_initial_devices()
3783
3784 2008-04-27  Dan Williams  <dcbw@redhat.com>
3785
3786         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3787
3788         * initscript/paldo/NetworkManager.in
3789           initscript/SUSE/networkmanager.in
3790                 - Remove last bits of dhcdbd
3791
3792 2008-04-27  Dan Williams  <dcbw@redhat.com>
3793
3794         * src/nm-device-802-11-wireless.c
3795                 - (link_timeout_cb): don't ask for secrets when disconnected during
3796                         association/authentication phase, drivers are still just too crappy
3797
3798 2008-04-27  Dan Williams  <dcbw@redhat.com>
3799
3800         * Makefile.am
3801           configure.in
3802           dispatcher-daemon/Makefile.am
3803           dispatcher-daemon/NetworkManagerDispatcher.c
3804           initscript/Arch/Makefile.am
3805           initscript/Arch/networkmanager-dispatcher.in
3806           initscript/Gentoo/Makefile.am
3807           initscript/Gentoo/NetworkManagerDispatcher.in
3808           initscript/Mandriva/Makefile.am
3809           initscript/Mandriva/networkmanagerdispatcher.in
3810           initscript/RedHat/Makefile.am
3811           initscript/RedHat/NetworkManagerDispatcher.in
3812           initscript/SUSE/Makefile.am
3813           initscript/SUSE/networkmanager-dispatcher.in
3814           initscript/Slackware/Makefile.am
3815           initscript/Slackware/rc.networkmanager-dispatcher.in
3816           initscript/paldo/Makefile.am
3817           initscript/paldo/NetworkManagerDispatcher.in
3818           man/Makefile.am
3819           man/NetworkManagerDispatcher.8.in
3820                 - Remove the dispatcher daemon
3821
3822 2008-04-27  Dan Williams  <dcbw@redhat.com>
3823
3824         * callouts/Makefile.am
3825           callouts/nm-dispatcher-action.c
3826           callouts/nm-dispatcher-action.h
3827           callouts/nm-dispatcher.conf
3828           callouts/nm-dispatcher.xml
3829           callouts/org.freedesktop.nm_dispatcher.service
3830                 - Re-implement the dispatcher as a system-bus activated service that
3831                         NM calls on-demand, rather than an always running daemon
3832
3833         * src/Makefile.am
3834                 - Add callouts dir to includes to pick up dispatcher defines
3835
3836         * src/nm-device.c
3837                 - (nm_device_state_changed): call dispatcher on device activated/
3838                         deactivated
3839
3840         * src/vpn-manager/nm-vpn-connection.c
3841                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3842                         go up and down
3843
3844         * src/NetworkManagerUtils.c
3845           src/NetworkManagerUtils.h
3846                 - (nm_utils_call_dispatcher): helper to call dispatcher
3847
3848 2008-04-27  Dan Williams  <dcbw@redhat.com>
3849
3850         * src/NetworkManagerUtils.c
3851           src/NetworkManagerUtils.h
3852                 - remove unneeded includes
3853                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3854                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3855                    nm_timeval_cmp, nm_timeval_add): remove, unused
3856                 - clean up formatting
3857                 - (nm_spawn_process): de-uglify
3858
3859         * src/nm-device-802-11-wireless.c
3860                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3861
3862 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3863
3864         * initscript/Gentoo/NetworkManager.in:
3865                 Fix for starting the daemon.
3866
3867 2008-04-25  Dan Williams  <dcbw@redhat.com>
3868
3869         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3870
3871         * src/NetworkManagerSystem.c
3872                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3873
3874 2008-04-25  Dan Williams  <dcbw@redhat.com>
3875
3876         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3877
3878         * src/NetworkManagerSystem.c
3879                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3880                         implementation of nm_system_device_replace_default_route()
3881
3882         * src/NetworkManagerPolicy.c
3883                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3884
3885         * src/backends/NetworkManagerArch.c
3886           src/backends/NetworkManagerDebian.c
3887           src/backends/NetworkManagerFrugalware.c
3888           src/backends/NetworkManagerGeneric.c
3889           src/backends/NetworkManagerGeneric.h
3890           src/backends/NetworkManagerGentoo.c
3891           src/backends/NetworkManagerMandriva.c
3892           src/backends/NetworkManagerPaldo.c
3893           src/backends/NetworkManagerRedHat.c
3894           src/backends/NetworkManagerSlackware.c
3895           src/backends/NetworkManagerSuSE.c
3896                 - (nm_system_device_replace_default_route): remove
3897
3898 2008-04-25  Dan Williams  <dcbw@redhat.com>
3899
3900         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3901
3902         * src/NetworkManagerSystem.c
3903                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3904                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3905                         replace nm_system_device_add_route_via_device_with_iface() in the
3906                         backends
3907
3908         * src/backends/NetworkManagerArch.c
3909           src/backends/NetworkManagerDebian.c
3910           src/backends/NetworkManagerFrugalware.c
3911           src/backends/NetworkManagerGeneric.c
3912           src/backends/NetworkManagerGeneric.h
3913           src/backends/NetworkManagerGentoo.c
3914           src/backends/NetworkManagerMandriva.c
3915           src/backends/NetworkManagerPaldo.c
3916           src/backends/NetworkManagerRedHat.c
3917           src/backends/NetworkManagerSlackware.c
3918           src/backends/NetworkManagerSuSE.c
3919                 - Remove nm_system_device_add_route_via_device_with_iface()
3920
3921 2008-04-25  Dan Williams  <dcbw@redhat.com>
3922
3923         * system-settings/plugins/ifcfg-fedora/parser.c
3924                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3925
3926 2008-04-24  Dan Williams  <dcbw@redhat.com>
3927
3928         * dispatcher-daemon/NetworkManagerDispatcher.c
3929                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3930
3931 2008-04-24  Dan Williams  <dcbw@redhat.com>
3932
3933         * initscript/RedHat/NetworkManager.in
3934           initscript/RedHat/NetworkManagerDispatcher.in
3935                 - Be active at runlevel 2
3936                 - Adjust priorities earlier
3937
3938 2008-04-22  Dan Williams  <dcbw@redhat.com>
3939
3940         * src/NetworkManagerPolicy.c
3941                 - (update_routing_and_dns): when checking for a gateway, look at the
3942                         composite IP4 config, not the connection's ip4-config setting, which
3943                         doesn't include DHCP-returned information
3944
3945 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3946
3947         Implement GKeyFile system settings plugin.
3948         Implement writing system settings (currently supported only by GKeyFile plugin).
3949
3950         * system-settings/src/main.c: 
3951         * system-settings/src/dbus-settings.c: Move the communication with plugins
3952         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3953         plugins for adding/updating/removing connections.
3954
3955         * system-settings/src/nm-system-config-interface.c
3956         (nm_system_config_interface_add_connection): Implement
3957         (nm_system_config_interface_update_connection): Implement.
3958         (nm_system_config_interface_remove_connection): Implement.
3959
3960         * system-settings/plugins/keyfile/Makefile.am:
3961         * system-settings/plugins/keyfile/plugin.[ch]:
3962         * system-settings/plugins/keyfile/writer.[ch]:
3963         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3964
3965         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3966
3967         * configure.in: Generate GKeyFile Makefile.
3968
3969         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3970         corruption, need to duplicate the returned string.
3971         (impl_exported_connection_update): Implement.
3972         (impl_exported_connection_delete): Implement.
3973
3974         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3975
3976         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3977
3978 2008-04-22  Dan Williams  <dcbw@redhat.com>
3979
3980         Patch from Charles R. Anderson (cra@wpi.edu)
3981
3982         * src/NetworkManagerPolicy.c
3983                 - (update_routing_and_dns): don't select devices without a gateway
3984                         as having the default route (rh #437338)
3985
3986 2008-04-21  Dan Williams  <dcbw@redhat.com>
3987
3988         * src/nm-activation-request.c
3989           src/nm-activation-request.h
3990                 - (dispose): ensure to disconnect from the device's state-changed signal
3991                         when appropriate so the signal doesn't get handled by an already
3992                         disposed NMActRequest
3993                 - (device_state_changed): update is_default here too just to make sure
3994                         default is only True when the child device is activated
3995                 - (nm_act_request_set_default): new function
3996
3997         * src/NetworkManagerPolicy.c
3998                 - (update_routing_and_dns): set 'default' on the active connection which
3999                         has the default route and DNS
4000
4001 2008-04-21  Dan Williams  <dcbw@redhat.com>
4002
4003         * src/NetworkManagerPolicy.c
4004                 - (device_state_changed): update routing and DNS when a device goes
4005                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4006
4007 2008-04-21  Dan Williams  <dcbw@redhat.com>
4008
4009         * include/NetworkManager.h
4010                 - Add NMActiveConnectionState enum
4011
4012         * introspection/nm-active-connection.xml
4013           introspection/nm-vpn-connection.xml
4014                 - Add 'State' property for overall active connection state
4015                 - Add 'Default' property, when True means this active connection
4016                         has the default route
4017                 - Add PropertyChanged signals so changes actually go out over the bus
4018
4019         * src/nm-active-connection.h
4020                 - Add defines for State & Default properties
4021
4022         * src/nm-activation-request.c
4023                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4024                         signal to determine active connection state
4025
4026         * src/vpn-manager/nm-vpn-connection.c
4027           src/vpn-manager/nm-vpn-connection.h
4028           src/vpn-manager/nm-vpn-manager.c
4029           src/vpn-manager/nm-vpn-service.c
4030                 - Rename old 'state' to 'vpn-state'
4031                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4032                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4033                         'vpn-state-changed' signal
4034
4035         * libnm-glib/nm-active-connection.c
4036           libnm-glib/nm-active-connection.h
4037                 - Add new 'state' and 'default' properties and accessors
4038
4039         * libnm-glib/nm-vpn-connection.c
4040           libnm-glib/nm-vpn-connection.h
4041                 - Rename old 'state' property to 'vpn-state'
4042                 - Add new 'state' and 'default' properties and accessors
4043
4044 2008-04-21  Dan Williams  <dcbw@redhat.com>
4045
4046         * src/nm-ip4-config.c
4047                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4048                         not specified (rh #443474)
4049
4050 2008-04-20  Dan Williams  <dcbw@redhat.com>
4051
4052         * src/NetworkManagerUtils.c
4053           src/NetworkManagerUtils.h
4054                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4055                         NMSettingIP4Config to an NMIP4Config object
4056
4057         * src/nm-device.c
4058                 - (merge_ip4_config): move to NetworkManagerUtils.c
4059
4060         * src/vpn-manager/nm-vpn-connection.c
4061                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4062                         too
4063
4064 2008-04-18  Dan Williams  <dcbw@redhat.com>
4065
4066         * libnm-util/nm-setting-ppp.c
4067           libnm-util/nm-setting-ppp.h
4068                 - Add 'no-vj-comp' option for TCP header compression
4069                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4070                         uint32
4071
4072 2008-04-18  Dan Williams  <dcbw@redhat.com>
4073
4074         * libnm-util/nm-setting-ppp.c
4075           libnm-util/nm-setting-ppp.h
4076           src/ppp-manager/nm-ppp-manager.c
4077                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4078
4079 2008-04-18  Dan Williams  <dcbw@redhat.com>
4080
4081         * libnm-util/nm-setting-ppp.c
4082           libnm-util/nm-setting-ppp.h
4083           src/ppp-manager/nm-ppp-manager.c
4084                 - Remove the 'usepeerdns' option and always request DNS servers from
4085                         the PPP server; the connection chooses to use/override/ignore the
4086                         DNS servers returned from the PPP server
4087
4088 2008-04-18  Dan Williams  <dcbw@redhat.com>
4089
4090         * libnm-util/nm-setting-ppp.c
4091           libnm-util/nm-setting-ppp.h
4092           src/ppp-manager/nm-ppp-manager.c
4093                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4094                         it seems to have been an erroneous addition to the PPTP plugin in
4095                         the first place (from which the ppp-manager is derived)
4096
4097 2008-04-17  Dan Williams  <dcbw@redhat.com>
4098
4099         * libnm-util/nm-setting-pppoe.c
4100                 - (verify): require a PPP setting too
4101
4102         * src/ppp-manager/nm-ppp-manager.c
4103                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4104                         segfaulting
4105
4106 2008-04-17  Dan Williams  <dcbw@redhat.com>
4107
4108         * src/nm-device.c
4109                 - (nm_device_state_changed): do deactivation and and promotion to
4110                         unavailable here, so that the device gets cleaned up before the
4111                         manager runs and starts emitting signals; do the
4112                         FAILED->DISCONNECTED transition from an idle handler rather than
4113                         immediately to guard against recursion
4114                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4115                         FAILED->DISCONNECTED handler if it's scheduled
4116
4117 2008-04-17  Dan Williams  <dcbw@redhat.com>
4118
4119         * src/nm-device-802-11-wireless.c
4120                 - (state_changed_cb): clear AP list when device transitions to
4121                         unavailable or unmanaged
4122                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4123                         since this is already done in device_cleanup()
4124                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4125                         isn't available or managed
4126                 - (device_cleanup): use remove_all_aps()
4127                 - (remove_all_aps): consolidate code removing all APs
4128
4129 2008-04-17  Dan Williams  <dcbw@redhat.com>
4130
4131         * src/nm-serial-device.c
4132           src/nm-serial-device.h
4133                 - (wait_for_reply_got_data): break input into lines, and search each
4134                         line for responses _and_ terminator strings; also make sure that
4135                         the read loop doesn't continue after the timeout is supposed to fire
4136                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4137
4138         * src/nm-gsm-device.c
4139           src/nm-cdma-device.c
4140                 - Send terminators to nm_serial_device_wait_for_reply()
4141
4142 2008-04-16  Dan Williams  <dcbw@redhat.com>
4143
4144         Patch from 陈鑫 <znscnchen@gmail.com>
4145
4146         * src/ppp-manager/nm-pppd-plugin.c
4147                 - (get_credentials): return correct value for success; handle case where
4148                         pppd just does some checking but doesn't want a password
4149                 - (plugin_init): make CHAP work too
4150
4151 2008-04-16  Dan Williams  <dcbw@redhat.com>
4152
4153         Patch from 陈鑫 <znscnchen@gmail.com>
4154
4155         * src/ppp-manager/nm-ppp-manager.c
4156                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4157
4158 2008-04-16  Dan Williams  <dcbw@redhat.com>
4159
4160         Patch from 陈鑫 <znscnchen@gmail.com>
4161
4162         * src/nm-device-802-3-ethernet.c
4163                 - (real_deactivate_quickly): clear the IP interface name on
4164                         deactivation, otherwise the wrong interface might get used later
4165                         for routing and IP management
4166
4167 2008-04-15  Dan Williams  <dcbw@redhat.com>
4168
4169         * libnm-glib/nm-device.c
4170                 - (get_product_and_vendor): handle serial devices correctly
4171                 - (nm_device_update_description): pass device to get_product_and_vendor()
4172
4173 2008-04-15  Dan Williams  <dcbw@redhat.com>
4174
4175         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4176
4177         * src/NetworkManagerSystem.h
4178           src/backends/NetworkManagerArch.c
4179           src/backends/NetworkManagerDebian.c
4180           src/backends/NetworkManagerFrugalware.c
4181           src/backends/NetworkManagerGeneric.c
4182           src/backends/NetworkManagerGeneric.h
4183           src/backends/NetworkManagerGentoo.c
4184           src/backends/NetworkManagerMandriva.c
4185           src/backends/NetworkManagerPaldo.c
4186           src/backends/NetworkManagerRedHat.c
4187           src/backends/NetworkManagerSlackware.c
4188           src/backends/NetworkManagerSuSE.c
4189           src/nm-device.c
4190                 - (nm_generic_device_add_ip6_link_address,
4191                    nm_system_device_add_ip6_link_address): remove
4192
4193 2008-04-15  Dan Williams  <dcbw@redhat.com>
4194
4195         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4196
4197         * src/backends/NetworkManagerArch.c
4198           src/backends/NetworkManagerDebian.c
4199           src/backends/NetworkManagerFrugalware.c
4200           src/backends/NetworkManagerGeneric.c
4201           src/backends/NetworkManagerGeneric.h
4202           src/backends/NetworkManagerGentoo.c
4203           src/backends/NetworkManagerMandriva.c
4204           src/backends/NetworkManagerPaldo.c
4205           src/backends/NetworkManagerRedHat.c
4206           src/backends/NetworkManagerSlackware.c
4207           src/backends/NetworkManagerSuSE.c
4208           src/NetworkManagerSystem.h
4209                 - flush_routes -> flush_ip4_routes
4210                 - flush_addresses -> flush_ip4_addresses
4211
4212         * src/NetworkManagerSystem.c
4213           src/nm-device.c
4214           src/vpn-manager/nm-vpn-connection.c
4215                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4216
4217 2008-04-15  Dan Williams  <dcbw@redhat.com>
4218
4219         Remove exposure of wireless-tools mode types in the API.
4220
4221         * include/NetworkManager.h
4222                 - Define NM80211Mode enum
4223
4224         * introspection/generic-types.xml
4225                 - Describe NM_802_11_MODE enum
4226                 - Remove IW_MODE_* enum
4227
4228         * introspection/nm-access-point.xml
4229           libnm-glib/nm-access-point.c
4230           libnm-glib/nm-access-point.h
4231                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4232
4233         * introspection/nm-device-802-11-wireless.xml
4234           libnm-glib/nm-device-802-11-wireless.c
4235           libnm-glib/nm-device-802-11-wireless.h
4236                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4237
4238         * libnm-util/nm-setting-wireless.c
4239           src/NetworkManagerAP.c
4240           src/NetworkManagerAP.h
4241           src/nm-device-802-11-wireless.c
4242           src/nm-device-802-11-wireless.h
4243           test/nm-tool.c
4244                 - Use NM80211Mode not IW_MODE_*
4245
4246 2008-04-15  Dan Williams  <dcbw@redhat.com>
4247
4248         Enhance nm-online based on a patch from Bill Nottingham.
4249
4250         * test/nm-online.c
4251                 - Add a '-q' option
4252                 - Add help messages and option summary
4253                 - Add long-format options
4254                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4255
4256 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4257
4258         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4259
4260         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4261
4262 2008-04-15  Dan Williams  <dcbw@redhat.com>
4263
4264         * nm-setting-ip4-config.c
4265                 - (ip4_addresses_from_gvalue): handle NULL address array
4266
4267         * nm-setting-8021x.c
4268                 - (verify_tls, verify_ttls): warn on failed verification
4269
4270 2008-04-10  Dan Williams  <dcbw@redhat.com>
4271
4272         * src/nm-gsm-device.c
4273                 - (automatic_registration): accept "+CREG: 0,0"
4274                 - (automatic_registration_response): fail on "+CREG: 0,0"
4275
4276 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4277
4278         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4279
4280 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4281
4282         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4283         Make it compile again by commenting out broken code that at first didn't work and
4284         now didn't compile either.
4285
4286 2008-04-08  Dan Williams  <dcbw@redhat.com>
4287
4288         * libnm-glib/nm-object-cache.c
4289           libnm-glib/nm-settings.c
4290           src/dhcp-manager/nm-dhcp-manager.c
4291           system-settings/plugins/ifcfg-fedora/plugin.c
4292           system-settings/plugins/ifcfg-suse/plugin.c
4293           system-settings/src/nm-system-config-hal-manager.c
4294           libnm-util/nm-utils.c
4295                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4296                         not threadsafe anyway
4297
4298 2008-04-08  Dan Williams  <dcbw@redhat.com>
4299
4300         * system-settings/src/main.c
4301                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4302                         callbacks take a device type too
4303
4304 2008-04-08  Dan Williams  <dcbw@redhat.com>
4305
4306         The system settings service will now create a new default DHCP connection
4307         for wired devices that have no existing applicable connection.
4308
4309         * system-settings/src/nm-system-config-hal-manager.c
4310           system-settings/src/nm-system-config-hal-manager.h
4311                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4312
4313         * system-settings/src/dbus-settings.c
4314           system-settings/src/dbus-settings.h
4315                 - (nm_sysconfig_settings_get_connections): new function
4316                 - (nm_sysconfig_settings_is_device_managed): new function
4317
4318         * system-settings/src/main.c
4319                 - (load_stuff): check for wired devices that need a default connection
4320                 - (get_details_for_udi): get interface and MAC address from HAL
4321                 - (add_default_dhcp_connection): add a default connection for a wired
4322                         device if needed
4323                 - (device_added_cb, device_removed_cb): do the right thing with
4324                         wired devices and their default connections on HAL device events
4325
4326 2008-04-07  Dan Williams  <dcbw@redhat.com>
4327
4328         * libnm-glib/nm-device.c
4329           libnm-glib/nm-device.h
4330                 - Proxy the 'managed' property
4331
4332 2008-04-07  Dan Williams  <dcbw@redhat.com>
4333
4334         * src/nm-gsm-device.c
4335           src/nm-cdma-device.c
4336                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4337                         handler to transition to DISCONNECTED
4338
4339 2008-04-07  Dan Williams  <dcbw@redhat.com>
4340
4341         Patch from Bill Nottingham
4342
4343         * dispatcher-daemon/NetworkManagerDispatcher.c
4344                 - ignore backup/packaging crufy (rh #440143)
4345
4346 2008-04-07  Dan Williams  <dcbw@redhat.com>
4347
4348         * include/NetworkManager.h
4349                 - Remove the DOWN and CANCELLED device states
4350                 - Add UNMANAGED and UNAVAILABLE device states
4351                 - Document the device states
4352
4353         * introspection/nm-device.xml
4354           src/nm-device-interface.c
4355           src/nm-device-interface.h
4356                 - Add the 'managed' property
4357
4358         * test/nm-tool.c
4359                 - (detail_device): print out device state
4360
4361         * src/NetworkManagerSystem.h
4362           src/backends/NetworkManagerArch.c
4363           src/backends/NetworkManagerDebian.c
4364           src/backends/NetworkManagerFrugalware.c
4365           src/backends/NetworkManagerGentoo.c
4366           src/backends/NetworkManagerMandriva.c
4367           src/backends/NetworkManagerPaldo.c
4368           src/backends/NetworkManagerRedHat.c
4369           src/backends/NetworkManagerSlackware.c
4370           src/backends/NetworkManagerSuSE.c
4371                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4372                    nm_system_device_free_system_config): remove; they were unused and
4373                         their functionality should be re-implemented in each distro's
4374                         system settings service plugin 
4375
4376         * src/nm-gsm-device.c
4377           src/nm-gsm-device.h
4378           src/nm-cdma-device.c
4379           src/nm-cdma-device.h
4380                 - (*_new): take the 'managed' argument
4381
4382         * src/nm-device.c
4383                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4384                 - (nm_device_init): start in unmanaged state, not disconnected
4385                 - (constructor): don't start device until the system settings service
4386                         has had a chance to figure out if the device is managed or not
4387                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4388                         don't set device state here, let callers handle that as appropriate
4389                 - (nm_device_dispose): don't touch the device if it's not managed
4390                 - (set_property, get_property, nm_device_class_init): implement the
4391                         'managed' property
4392                 - (nm_device_state_changed): bring the device up if its now managed,
4393                         and deactivate it if it used to be active
4394                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4395                         with the managed state
4396
4397         * src/nm-hal-manager.c
4398                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4399                         take initial managed state and pass it along to device constructors
4400                 - (create_device_and_add_to_list): get managed state and pass to
4401                         type creators
4402
4403         * src/nm-device-802-11-wireless.c
4404                 - (real_can_activate): fold in most of
4405                         nm_device_802_11_wireless_can_activate()
4406                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4407                 - (link_timeout_cb): instead of deactivating, change device state and
4408                         let the device state handler to it
4409                 - (real_update_hw_address): clean up
4410                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4411                         handler to transition to DISCONNECTED if the device isn't rfkilled
4412
4413         * src/nm-device-802-3-ethernet.c
4414                 - (set_carrier): move above callers and get rid of prototype
4415                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4416                         idle handler to transition to DISCONNECTED if the device has a
4417                         carrier
4418                 - (real_update_hw_address): clean up
4419                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4420                         deactivation directly as deactivation doesn't change state anymore
4421
4422         * src/NetworkManagerPolicy.c
4423                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4424                         the NMManager and wireless devices work that out themselves now
4425                 - (device_state_changed): change to a switch and update for new device
4426                         states
4427                 - (device_carrier_changed): remove; device handles this now through
4428                         state changes
4429                 - (device_added): don't care about carrier any more; the initial
4430                         activation check will happen when the device transitions to
4431                         DISCONNECTED
4432
4433         * src/nm-manager.c
4434                 - (dispose): clear unmanaged devices
4435                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4436                         the managed property on each device when needed
4437                 - (system_settings_properties_changed_cb): handle signals from the
4438                         system settings service
4439                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4440                         getting the unmanaged device list method call
4441                 - (query_unmanaged_devices): ask the system settings service for its
4442                         list of unmanaged devices
4443                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4444                         devices
4445                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4446                         devices directly and let them handle the necessary state transitions
4447                 - (manager_device_state_changed): update for new device states
4448                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4449                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4450                 - (nm_manager_activate_connection): return error if the device is
4451                         unmanaged
4452                 - (nm_manager_sleep): handle new device states correctly; don't change
4453                         the state of unavailable/unmanaged devices
4454
4455         * libnm-glib/nm-device-802-11-wireless.c
4456                 - (state_changed_cb): update for new device states
4457
4458 2008-04-07  Dan Williams  <dcbw@redhat.com>
4459
4460         * marshallers/nm-marshal.list
4461                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4462
4463 2008-04-07  Dan Williams  <dcbw@redhat.com>
4464
4465         * system-settings/src/main.c
4466                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4467                         plugins to the dbus settings object
4468                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4469                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4470                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4471                 - (main): switch default logging to syslog with a 'debug' option to
4472                         output to console; start up the HAL manager
4473
4474 2008-04-07  Dan Williams  <dcbw@redhat.com>
4475
4476         * introspection/nm-settings-system.xml
4477           introspection/Makefile.am
4478                 - Define the unmanaged devices interface for the system settings service
4479
4480         * system-settings/src/nm-system-config-hal-manager.c
4481           system-settings/src/nm-system-config-hal-manager.h
4482           system-settings/src/nm-system-config-hal-manager-private.h
4483           system-settings/src/Makefile.am
4484                 - Add a lightweight HAL manager object for tracking network devices for
4485                         the purpose of determining unmanaged devices and which devices need
4486                         the default DHCP connections
4487
4488         * system-settings/src/nm-system-config-interface.c
4489           system-settings/src/nm-system-config-interface.h
4490                 - (nm_system_config_interface_init): add the HAL manager as an argument
4491                 - (nm_system_config_interface_get_unmanaged_devices): implement
4492                 - Define 'unmanaged-devices-changed' signal
4493
4494         * system-settings/src/dbus-settings.c
4495           system-settings/src/dbus-settings.h
4496                 - Implement the unmanaged devices interface; some cleanups
4497
4498         * system-settings/plugins/ifcfg-suse/plugin.c
4499                 - Fixup for plugin interface changes
4500
4501         * system-settings/plugins/ifcfg-fedora/plugin.c
4502                 - (get_ether_device_udi): new function; find the device that has
4503                         a specified MAC address and return its UDI
4504                 - (get_udi_for_connection): new function; try to find the specific
4505                         device a connection is locked to, if any
4506                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4507                         response to HAL events
4508                 - (get_unmanaged_devices): new function; return unmanaged device list
4509                 - (build_one_connection): set the connection's locked device, if any
4510                 - (write_auto_wired_connection): remove
4511                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4512                 - (handle_connection_changed): alert listeners that the unmanaged device
4513                         list has changed
4514                 - (init): fixup for plugin interface changes, implement unmanaged devices
4515
4516         * system-settings/plugins/ifcfg-fedora/parser.c
4517           system-settings/plugins/ifcfg-fedora/parser.h
4518                 - (connection_data_free): clean up connection UDI
4519
4520 2008-04-07  Dan Williams  <dcbw@redhat.com>
4521
4522         * system-settings/plugins/ifcfg-fedora/parser.c
4523                 - (make_ip4_setting): fix parsing of DNS servers
4524
4525 2008-04-05  Dan Williams  <dcbw@redhat.com>
4526
4527         * Makefile.am
4528           configure.in
4529           marshallers/Makefile.am
4530           marshallers/nm-marshal-main.c
4531           marshallers/nm-marshal.list
4532                 - Consolidate marshallers
4533
4534         * libnm-glib/nm-marshal-main.c
4535           libnm-glib/nm-marshal.list
4536           src/marshallers/Makefile.am
4537           src/marshallers/nm-marshal-main.c
4538           src/marshallers/nm-marshal.list
4539                 - Remove
4540
4541         * libnm-glib/Makefile.am
4542           src/Makefile.am
4543           src/dhcp-manager/Makefile.am
4544           src/ppp-manager/Makefile.am
4545           src/supplicant-manager/Makefile.am
4546           src/vpn-manager/Makefile.am
4547                 - Use consolidated marshallers
4548
4549 2008-04-04  Dan Williams  <dcbw@redhat.com>
4550
4551         * src/nm-hal-manager.c
4552           src/nm-hal-manager.h
4553                 - (hal_init): don't look for hardware here
4554                 - (nm_hal_manager_start): new function; look for hardware here instead,
4555                         which can be done at a later time than hal_init()
4556
4557         * src/NetworkManager.c
4558                 - (main): start HAL manager after entering the main loop
4559
4560 2008-04-03  Dan Williams  <dcbw@redhat.com>
4561
4562         * libnm-glib/nm-settings.c
4563           libnm-glib/nm-settings.h
4564             - (nm_exported_connection_get_id): new function
4565                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4566
4567 2008-04-02  Dan Williams  <dcbw@redhat.com>
4568
4569         * src/nm-device-interface.c
4570           src/nm-device-interface.h
4571           src/nm-device.c
4572           src/nm-device.h
4573                 - Rename check_connection_conflicts() to check_connection_compatible()
4574
4575         * src/nm-device-802-11-wireless.c
4576                 - (real_check_connection_conflicts): remove
4577                 - (real_check_connection_compatible): implement; match MAC address
4578
4579         * src/nm-device-802-3-ethernet.c
4580                 - (real_check_connection_conflicts): remove
4581                 - (real_check_connection_compatible): implement; match MAC address
4582                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4583
4584         * src/nm-manager.c
4585                 - (check_connection_allowed): remove; unused until PolicyKit integration
4586                 - (internal_activate_device): check whether the connection is compatible
4587                         with the device before trying to activate it
4588
4589 2008-04-02  Dan Williams  <dcbw@redhat.com>
4590
4591         * system-settings/plugins/ifcfg-fedora/parser.c
4592                 - (read_mac_address): new function; read in MAC address and stuff it
4593                         into the connection
4594                 - (add_one_wep_key): remove debug spew
4595                 - (make_wireless_security_setting): validate the default TX key; don't
4596                         add the wireless-security setting if the connection doesn't need
4597                         security; don't leak the keys shvarFile on error cases
4598                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4599                         address
4600
4601 2008-04-02  Dan Williams  <dcbw@redhat.com>
4602
4603         * libnm-util/nm-setting-connection.c
4604           libnm-util/nm-setting-connection.h
4605                 - (set_property, get_property, nm_setting_connection_class_init): remove
4606                         the 'lockdown' property; it's functionality will be replaced by
4607                         PolicyKit instead
4608
4609 2008-04-01  Dan Williams  <dcbw@redhat.com>
4610
4611         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4612
4613         * configure.in
4614           initscript/Makefile.am
4615           initscript/Mandriva/Makefile.am
4616           initscript/Mandriva/networkmanager.in
4617           initscript/Mandriva/networkmanagerdispatcher.in
4618           src/backends/Makefile.am
4619           src/backends/NetworkManagerMandriva.c
4620           system-settings/plugins/Makefile.am
4621                 - Add Mandriva support
4622
4623 2008-03-31  Dan Williams  <dcbw@redhat.com>
4624
4625         * src/vpn-manager/nm-vpn-service.c
4626                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4627                         errors can be passed back to the caller; also no longer scheduled
4628                         as an idle handler, but called directly; and bump up VPN service
4629                         spawn timeout, 2s is really short
4630                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4631                         but call it directly so that errors are reported on return from
4632                         ActivateConnection() and don't get lost.  If scheduled as an idle
4633                         handler, clients don't have the time to query NM for the new VPN
4634                         connection's properties before the VPN connection is torn down again
4635                         if the service couldn't be launched, and therefore launch errors
4636                         get lost.
4637
4638 2008-03-31  Dan Williams  <dcbw@redhat.com>
4639
4640         * src/vpn-manager/nm-vpn-connection.c
4641                 - (device_state_changed): send correct state on device failure too
4642                 - (plugin_state_changed): failed state means unexpected disconnection,
4643                         thus if the service goes away while the VPN connection is activated
4644                         that's a failure too
4645
4646 2008-03-31  Dan Williams  <dcbw@redhat.com>
4647
4648         * src/vpn-manager/nm-vpn-manager.c
4649           src/vpn-manager/nm-vpn-manager.h
4650                 - Make VPNManager errors more available; add a service-start-failed error
4651
4652 2008-03-31  Dan Williams  <dcbw@redhat.com>
4653
4654         * libnm-glib/nm-client.c
4655           libnm-glib/nm-client.h
4656                 - (activate_cb): pass the new active connection to callback; fix
4657                         message when no callback is specified
4658
4659 2008-03-30  Dan Williams  <dcbw@redhat.com>
4660
4661         * libnm-util/nm-setting-wireless-security.c
4662                 - (need_secrets): only require key0 if the transmit key index is also
4663                         0
4664                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4665
4666 2008-03-29  Dan Williams  <dcbw@redhat.com>
4667
4668         * libnm-util/nm-setting-8021x.c
4669           libnm-util/nm-setting-ip4-config.c
4670           libnm-util/nm-setting-vpn-properties.c
4671           libnm-util/nm-setting-vpn.c
4672           libnm-util/nm-setting-wireless-security.c
4673           libnm-util/nm-setting-wireless.c
4674           libnm-util/nm-utils.c
4675           src/dhcp-manager/nm-dhcp-manager.c
4676           src/nm-activation-request.c
4677           src/nm-ip4-config.c
4678           src/nm-manager.c
4679           src/nm-properties-changed-signal.c
4680           src/ppp-manager/nm-pppd-plugin.c
4681           src/supplicant-manager/nm-supplicant-interface.c
4682           src/vpn-manager/nm-vpn-connection.c
4683                 - consistently use nm-dbus-glib-types.h
4684
4685 2008-03-29  Dan Williams  <dcbw@redhat.com>
4686
4687         * src/vpn-manager/nm-vpn-connection.c
4688                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4689                         not string
4690
4691         * src/nm-activation-request.c
4692                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4693                         not string
4694
4695 2008-03-29  Dan Williams  <dcbw@redhat.com>
4696
4697         * libnm-glib/nm-device-802-11-wireless.c
4698                 - (access_point_added_proxy): create new APs if not found
4699
4700 2008-03-29  Dan Williams  <dcbw@redhat.com>
4701
4702         * libnm-glib/nm-client.c
4703                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4704                         before freeing them
4705
4706 2008-03-29  Dan Williams  <dcbw@redhat.com>
4707
4708         * system-settings/plugins/ifcfg-fedora/parser.c
4709                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4710                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4711
4712 2008-03-29  Dan Williams  <dcbw@redhat.com>
4713
4714         * system-settings/plugins/ifcfg-fedora/parser.c
4715                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4716
4717 2008-03-27  Dan Williams  <dcbw@redhat.com>
4718
4719         * nm-object.c
4720                 - (nm_object_queue_notify): don't notify multiple times for the same
4721                         property
4722
4723         * nm-object-private.h
4724                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4725                         if it has zero elements
4726
4727         * nm-ip4-config.c
4728                 - (finalize): use g_ptr_array_foreach() when freeing domains
4729                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4730
4731         * nm-active-connection.c
4732                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4733
4734         * nm-device-802-11-wireless.c
4735           nm-device-802-11-wireless.h
4736                 - (nm_device_802_11_wireless_get_access_points): return const; use
4737                         handle_ptr_array_return()
4738
4739         * nm-types.c
4740                 - (nm_object_array_demarshal): always create an array, even of length
4741                         zero, to distinguish between "NM returned no items" and "haven't
4742                         asked NM yet"
4743
4744         * nm-client.c
4745                 - (dispose): free active connections too
4746                 - (proxy_name_owner_changed): free active connections too when NM goes
4747                         away
4748                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4749                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4750
4751 2008-03-26  Dan Williams  <dcbw@redhat.com>
4752
4753         Rework VPN connection handling for a more consistent D-Bus API.  The
4754         VPNManager object has been removed, and active VPN connections are now the
4755         same as any other active connection.  The Manager object's ActivateConnection
4756         and DeactivateConnection methods are used to start and stop a VPN connection,
4757         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4758         When activating a VPN connection, pass the path of the active connection
4759         to which the VPN connection is tied in the 'specific_object' argument.
4760
4761         Consequently, the libnm-glib API has been reworked to match this arrangement,
4762         with the VPNManager object removed, and the NMVPNConnection objects now
4763         being subclasses of NMActiveConnection.
4764
4765 2008-03-25  Dan Williams  <dcbw@redhat.com>
4766
4767         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4768
4769         * initscript/Arch/networkmanager.in
4770           initscript/Arch/networkmanager-dispatcher.in
4771                 - Updates for Arch Linux (gnome.org #523701)
4772
4773 2008-03-25  Dan Williams  <dcbw@redhat.com>
4774
4775         * libnm-glib/nm-ip4-config.c
4776           libnm-glib/nm-active-connection.c
4777           libnm-glib/nm-access-point.c
4778                 - Use nm_object_queue_notify() instead of g_object_notify()
4779
4780         * libnm-glib/nm-device.c
4781                 - (demarshal_ip4_config): distinguish between successful but missing
4782                         ip4-config request, and unsuccessful and missing ip4-config request
4783                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4784                         path
4785                 - Use nm_object_queue_notify() instead of g_object_notify()
4786
4787         * libnm-glib/nm-device-802-11-wireless.c
4788                 - (demarshal_active_ap): distinguish between successfull but missing
4789                         active-ap request, and unsuccessful and missing active-ap request
4790                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4791                         code
4792                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4793                         for the NMClient to notify the device that wireless is disabled,
4794                         and therefore to clear the AP list and active AP
4795                 - Use nm_object_queue_notify() instead of g_object_notify()
4796
4797         * libnm-glib/nm-client.c
4798                 - (poke_wireless_devices_with_rf_status): new function
4799                 - (update_wireless_status): notify wireless devices of the rfkill status
4800                         so they can clean up if needed
4801                 - Use nm_object_queue_notify() instead of g_object_notify()
4802
4803 2008-03-25  Dan Williams  <dcbw@redhat.com>
4804
4805         * libnm-glib/nm-object.c
4806           libnm-glib/nm-object-private.h
4807                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4808                         signals to an idle handler
4809                 - (nm_object_get_property): add a timeout to the D-Bus method call
4810
4811 2008-03-25  Dan Williams  <dcbw@redhat.com>
4812
4813         * introspection/nm-device-cdma.xml
4814           introspection/nm-device-gsm.xml
4815           introspection/Makefile.am
4816           introspection/all.xml
4817                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4818
4819         * src/nm-gsm-device.h
4820           src/nm-gsm-device.c
4821           src/nm-cdma-device.h
4822           src/nm-cdma-device.c
4823           src/Makefile.am
4824                 - Implement PropertiesChanged signals
4825
4826         * libnm-glib/nm-cdma-device.c
4827           libnm-glib/nm-cdma-device.c
4828                 - Attach to PropertiesChanged signals
4829
4830 2008-03-24  Dan Williams  <dcbw@redhat.com>
4831
4832         * libnm-glib/nm-client.c
4833                 - (client_device_added_proxy): add new devices to the internal device
4834                         list so they appear to clients
4835
4836 2008-03-24  Dan Williams  <dcbw@redhat.com>
4837
4838         Massive fixup of libnm-glib to:
4839         a) have all objects (with the exception of VPN) cache their properties and
4840                 update them asynchronously on PropertiesChanged signals from NM
4841         b) return internal const data for most attributes/properties instead of
4842                 allocated values that the caller must free
4843         c) cache wrapped objects such that a given D-Bus path will always map to the
4844                 same GObject returned by libnm-glib
4845         d) remove a few signals and move them to GObject property notifications
4846         e) match recent NM D-Bus API changes for activation/deactivation
4847         f) remove some private functions from libnm-glib headers
4848
4849 2008-03-20  Dan Williams  <dcbw@redhat.com>
4850
4851         * src/nm-manager.c
4852                 - (nm_manager_update_state, manager_device_state_changed,
4853                    nm_manager_activate_device, connection_added_default_handler,
4854                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4855                         queue PropertyChanged singals when the active connections change
4856
4857 2008-03-20  Dan Williams  <dcbw@redhat.com>
4858
4859         * introspection/nm-manager.xml
4860           introspection/nm-manager-client.xml
4861                 - (ActivateConnection): return the object path of the active connection
4862                         on success
4863                 - (GetActiveConnections): remove
4864                 - (DeactivateConnection): new function; deactivate a currently active
4865                         connection
4866                 - Add an ActiveConnections property which returns an array of
4867                         active connection object paths
4868
4869         * introspection/nm-device.xml
4870                 - (Deactivate): remove
4871
4872         * introspection/all.xml
4873                 - Add ActiveConnection introspection
4874
4875         * introspection/nm-active-connection.xml
4876                 - Add the ActiveConnection object
4877
4878         * include/NetworkManager.h
4879                 - Add the Connection.Active D-Bus interface
4880
4881         * src/nm-device-interface.c
4882                 - (impl_device_deactivate): remove
4883
4884         * src/nm-activation-request.c
4885           src/nm-activation-request.c
4886           src/Makefile.am
4887                 - Implement the Connection.Active D-Bus interface
4888
4889         * src/nm-manager.c
4890                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4891                 - (nm_manager_activate_device): return the active connection path
4892                 - (connection_added_default_handler, impl_manager_activate_connection):
4893                         return the active connection to the caller
4894                 - (add_one_connection_element, impl_manager_get_active_connections):
4895                         remove
4896                 - (impl_manager_deactivate_connection): new function; deactivate an
4897                         active connection
4898
4899         * libnm-glib/nm-device.c
4900           libnm-glib/nm-device.h
4901                 - Remove Deactivate() function
4902
4903 2008-03-19  Dan Williams  <dcbw@redhat.com>
4904
4905         * introspection/nm-manager.xml
4906           introspection/nm-manager-client.xml
4907                 - Rename the ActivateDevice method to ActivateConnection to better
4908                         reflect it's usage; it's arguments get reordered a bit too
4909                 - Convert GetActiveConnections method return from a struct to a dict
4910
4911         * include/NetworkManager.h
4912                 - Define the dict keys for return value of GetActiveConnections
4913
4914         * src/nm-manager.c
4915                 - impl_manager_activate_device -> impl_manager_activate_connection
4916                 - (add_one_connection_element): return a populated hash table, not
4917                         a structure
4918
4919         * libnm-glib/nm-client.c
4920           libnm-glib/nm-client.h
4921                 - nm_client_activate_device -> nm_client_activate_connection
4922                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4923                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4924                         instead of the custom structures.  Each element of the returned list
4925                         must be freed with nm_client_free_active_connections_element()
4926
4927 2008-03-18  Dan Williams  <dcbw@redhat.com>
4928
4929         * system-settings/plugins/ifcfg-fedora/parser.c
4930           system-settings/plugins/ifcfg-fedora/parser.h
4931           system-settings/plugins/ifcfg-fedora/plugin.c
4932                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4933                         profiles.  DNS servers and searches must now be stored in the ifcfg
4934                         files themselves
4935
4936 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4937
4938         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4939         print out username and password, it's supposed to be a secret.
4940
4941         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4942         request and set the device state accordingly.
4943
4944 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4945
4946         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4947
4948         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4949
4950 2008-03-18  Dan Williams  <dcbw@redhat.com>
4951
4952         * src/vpn-manager/nm-vpn-connection.c
4953                 - (get_secrets_cb): handle new GetSecrets return format
4954
4955 2008-03-18  Dan Williams  <dcbw@redhat.com>
4956
4957         Adapt system settings service for split 802.1x.
4958
4959         * system-settings/src/nm-system-config-interface.h
4960                 - clarify return value of get_secrets()
4961
4962         * system-settings/src/dbus-settings.c
4963                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4964                 - (check_for_secrets): check if there actually secrets returned by a
4965                         plugin
4966                 - (exported_connection_get_secrets): just return the plugin-returned
4967                         hash of settings' secrets if it looks valid
4968
4969         * system-settings/plugins/ifcfg-fedora/plugin.c
4970                 - (get_secrets): add split secrets with correct format to reply hash
4971
4972         * system-settings/plugins/ifcfg-fedora/parser.c
4973           system-settings/plugins/ifcfg-fedora/parser.h
4974                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4975                    connection_data_free, connection_data_add): keep secrets for
4976                         different settings in different hashes
4977
4978 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4979
4980         Clean up activating device deactivation.
4981
4982         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4983         should be done whether the device activation gets cancelled or the device
4984         is just getting deactivated.
4985         (nm_device_activation_cancel): Remove.
4986         (nm_device_deactivate_quickly): Handle the case where device is activating.
4987
4988         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4989         It does the exact same thing as real_deactivate_quickly().
4990
4991 2008-03-17  Dan Williams  <dcbw@redhat.com>
4992
4993         Split the 802.1x bits out of the wireless-security setting so they are
4994         generalized enough for wired 802.1x to use too.
4995
4996         * introspection/nm-exported-connection.xml
4997                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4998                         of just a hash of the secrets for one setting
4999
5000         * libnm-util/nm-setting-wireless-security.c
5001           libnm-util/nm-setting-wireless-security.h
5002                 - Remove 802.1x-specific stuff
5003                 - Added leap-username and leap-password properties for old-school LEAP
5004
5005         * src/nm-device.c
5006           src/nm-device.h
5007                 - (connection_secrets_updated_cb): take a list of updated settings names,
5008                         not just one
5009
5010         * src/supplicant-manager/nm-supplicant-config.c
5011           src/supplicant-manager/nm-supplicant-config.h
5012                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5013                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5014                         to nm_supplicant_config_add_setting_8021x()
5015                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5016                         the supplicant config
5017
5018         * src/nm-device-802-11-wireless.c
5019                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5020                 - (real_connection_secrets_updated): take a list of updated settings
5021                         names, not just one
5022
5023         * src/nm-device-802-3-ethernet.c
5024           src/nm-cdma-device.c
5025           src/nm-gsm-device.c
5026                 - (real_connection_secrets_updated_cb): take a list of updated settings
5027                         names, not just one
5028
5029         * src/nm-activation-request.c
5030           src/nm-activation-request.h
5031                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5032                         now passes a list of updated settings names, not just one
5033                 - (update_one_setting): new function; handle one updated setting
5034                 - (get_secrets_cb): handle multiple settings returned from the
5035                         settings service; have to be careful of ordering here as there are
5036                         some dependencies between settings (ex. wireless-security and 802.1x
5037                         in some cases)
5038
5039         * src/marshallers/nm-marshal.list
5040                 - new marshaller for connection-secrets-updated signal
5041
5042         * libnm-util/nm-setting-8021x.c
5043                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5044                         methods
5045                 - (verify): a valid 'eap' property is now required
5046
5047         * libnm-util/nm-connection.c
5048                 - (register_default_settings): add priorities to settings; there are
5049                         some dependencies between settings, and during the need_secrets
5050                         calls this priority needs to be respected.  For example, only the
5051                         wireless-security setting knows whether or not the connection is
5052                         going to use 802.1x or now, so it must be asked for secrets before
5053                         any existing 802.1x setting is
5054                 - (nm_connection_lookup_setting_type): expose
5055
5056         * libnm-util/nm-setting-wireless.c
5057                 - (verify): should verify even if all_settings is NULL; otherwise won't
5058                         catch the case where there is missing security
5059
5060         * libnm-util/nm-setting-wireless-security.c
5061                 - Remove everything to do with 802.1x
5062                 - Add old-school LEAP specific properties for username and password
5063                 - (need_secrets): rework LEAP secrets checking
5064                 - (verify): rework for LEAP and 802.1x verification
5065
5066 2008-03-17  Dan Williams  <dcbw@redhat.com>
5067
5068         * src/NetworkManagerPolicy.c
5069                 - (auto_activate_device): always remove the current activation check
5070                         from the pending activation list, otherwise when the policy gets
5071                         destroyed on NM exit it will attempt to free the already freed
5072                         activation check
5073
5074 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5075
5076         * src/backends/NetworkManagerSlackware.c 
5077         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5078
5079         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5080
5081 2008-03-14  Dan Williams  <dcbw@redhat.com>
5082
5083         * src/nm-manager.c
5084                 - (nm_device_interface_get_iface): g_object_get() will return an
5085                         allocated value, so this function must not return const
5086                 - (nm_device_interface_activate): free returned iface
5087
5088 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5089
5090         * libnm-util/Makefile.am: Add new files to build.
5091
5092         * libnm-util/nm-connection.c: Register NMSetting8021x.
5093
5094         * libnm-util/nm-setting-8021x.c
5095         * libnm-util/nm-setting-8021x.h: Implement.
5096
5097 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5098
5099         * libnm-util/Makefile.am: Add new files to build.
5100
5101         * libnm-util/nm-connection.c: Register NMSetting8021x.
5102
5103         * libnm-util/nm-setting-8021x.c
5104         * libnm-util/nm-setting-8021x.h: Implement.
5105
5106 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5107
5108         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5109         data.
5110
5111 2008-03-14  Dan Williams  <dcbw@redhat.com>
5112
5113         * include/wireless-helper.h
5114           include/Makefile.am
5115                 - One place for all the junk needed for #including wireless.h
5116
5117         * test/nm-tool.c
5118           src/NetworkManagerAP.c
5119           src/wpa.c
5120           src/Makefile.am
5121           libnm-util/nm-utils.c
5122           libnm-util/nm-setting-wireless.c
5123           libnm-glib/nm-device-802-11-wireless.c
5124           libnm-glib/nm-access-point.c
5125           libnm-glib/libnm-glib-test.c
5126                 - include wireless-helper.h, not iwlib.h
5127
5128         * configure.in
5129                 - Don't need libiw really, just need to check for wireless.h
5130
5131         * src/kernel-types.h
5132                 - Remove; used types moved into wpa.c
5133
5134         * src/nm-device-802-11-wireless.c
5135                 - (nm_device_802_11_wireless_update_signal_strength,
5136                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5137                    nm_device_802_11_wireless_set_mode,
5138                    nm_device_802_11_wireless_get_frequency,
5139                    nm_device_802_11_wireless_get_ssid,
5140                    nm_device_802_11_wireless_set_ssid,
5141                    nm_device_802_11_wireless_get_bitrate,
5142                    nm_device_802_11_wireless_get_bssid,
5143                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5144                         instead of iwlib functions
5145
5146 2008-03-14  Dan Williams  <dcbw@redhat.com>
5147
5148         * src/ppp-manager/nm-ppp-manager.c
5149                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5150                         should only take the DBusGMethodInvocation argument, not user/pass
5151                         too.  With dbus-glib, async functions only take 2 C arguments since
5152                         the real dbus method arguments get passed back with
5153                         dbus_g_method_return()
5154
5155 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5156
5157         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5158         Adapt the changes of NMSettingIP4Config.
5159
5160 2008-03-13  Dan Williams  <dcbw@redhat.com>
5161
5162         * src/NetworkManagerUtils.c
5163           src/NetworkManagerUtils.h
5164                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5165
5166         * src/NetworkManagerAP.c
5167           src/nm-device-802-11-wireless.c
5168           src/nm-device-802-3-ethernet.c
5169                 - s/iw_ether_ntop/nm_ether_ntop/g
5170
5171 2008-03-13  Dan Williams  <dcbw@redhat.com>
5172
5173         * src/NetworkManagerPolicy.c
5174                 - (update_routing_and_dns): never set the default route through an
5175                         IPv4LL addressed device
5176
5177 2008-03-13  Dan Williams  <dcbw@redhat.com>
5178
5179         * NetworkManagerUtils.c
5180           NetworkManagerUtils.h
5181                 - Remove NMSock stuff
5182                 - Remove the completion stuff
5183
5184         * nm-device.c
5185           nm-device.h
5186           NetworkManager.c
5187           NetworkManagerSystem.c
5188           autoip.c
5189           nm-device-802-11-wireless.c
5190           nm-device-802-3-ethernet.c
5191                 - Remove NMSock and completion stuff
5192                 - Remove nm_ioctl_info()
5193
5194 2008-03-12  Dan Williams  <dcbw@redhat.com>
5195
5196         * src/nm-device.c
5197                 - (merge_ip4_config): avoid duplicates
5198
5199 2008-03-12  Dan Williams  <dcbw@redhat.com>
5200
5201         * libnm-util/nm-setting-ip4-config.c
5202           libnm-util/nm-setting-ip4-config.h
5203                 - Remove 'manual' and 'autoip' properties
5204                 - Add 'method' property
5205                 - (verify): fix verification with 'method'
5206                 - (finalize): free 'method'
5207                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5208                         up for 'method'
5209
5210         * src/nm-device.c
5211                 - (real_act_stage3_ip_config_start): check IP4Config method
5212                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5213                         the future
5214                 - (merge_ip4_config): IP settings are valid with DHCP too
5215                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5216                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5217
5218         * src/nm-device-802-11-wireless.c
5219                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5220                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5221                         only on demand
5222
5223         * system-settings/plugins/ifcfg-fedora/parser.c
5224           system-settings/plugins/ifcfg-suse/parser.c
5225                 - (make_ip4_setting): fix up for 'method'
5226
5227 2008-03-12  Dan Williams  <dcbw@redhat.com>
5228
5229         * system-settings/plugins/ifcfg-fedora/parser.c
5230           system-settings/plugins/ifcfg-fedora/parser.h
5231                 - (get_ifcfg_name): ignore more file suffixes
5232                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5233
5234 2008-03-12  Dan Williams  <dcbw@redhat.com>
5235
5236         * configure.in
5237                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5238
5239 2008-03-12  Dan Williams  <dcbw@redhat.com>
5240
5241         * system-settings/plugins/ifcfg-fedora/plugin.c
5242                 - (write_auto_wired_connection): new function; write out an auto
5243                         wired connection file since the applet isn't doing it any more
5244                 - (reload_all_connections): write out the auto wired connection file
5245                         if there aren't any wired connections already
5246                 - (init): don't leak a GError
5247
5248 2008-03-12  Dan Williams  <dcbw@redhat.com>
5249
5250         * src/nm-device-interface.c
5251                 - (nm_device_interface_activate): print the ID of the connection
5252                         that's about to be activated
5253
5254 2008-03-12  Dan Williams  <dcbw@redhat.com>
5255
5256         Harmonize the 802.11 bitrate API
5257
5258         * introspection/nm-access-point.xml
5259                 - 'Rate' -> 'MaxBitrate'; clarify units
5260
5261         * introspection/nm-device-802-11-wireless.xml
5262                 - Clarify units of 'Bitrate'
5263
5264         * src/NetworkManagerAP.c
5265           src/NetworkManagerAP.h
5266                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5267                         property to 'max-bitrate'
5268                 - (foreach_property_cb): convert rate to Kb/s
5269
5270         * src/nm-device-802-11-wireless.c
5271                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5272
5273         * libnm-glib/nm-access-point.c
5274           libnm-glib/nm-access-point.h
5275                 - 'rate' -> 'max-bitrate'
5276
5277         * test/nm-tool.c
5278           libnm-glib/libnm-glib-test.c
5279                 - Fix up for these changes
5280
5281 2008-03-12  Dan Williams  <dcbw@redhat.com>
5282
5283         * src/nm-device.c
5284                 - (nm_device_set_ip4_config): don't send property notifications when
5285                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5286                         which dbus-glib can't parse because the value is NULL, which isn't
5287                         a legal object path.  Setting the IP4 config to NULL is only
5288                         valid when deactivating a device anyway, so the device state change
5289                         will alert listeners that the ip4 config is invalid.
5290
5291 2008-03-12  Dan Williams  <dcbw@redhat.com>
5292
5293         * src/nm-properties-changed-signal.c
5294                 - (add_to_string): better handling of NULL objects
5295
5296 2008-03-12  Dan Williams  <dcbw@redhat.com>
5297
5298         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5299         convert the libnm-glib NMDevice8023Ethernet to cached properties
5300
5301         * introspection/nm-device-802-3-ethernet.xml
5302                 - New 'Carrier' property
5303                 - New 'PropertiesChanged' signal
5304
5305         * introspection/nm-device.xml
5306                 - Remove 'Carrier' property
5307                 - Remove 'CarrierChanged' signal
5308
5309         * src/nm-device-interface.c
5310           src/nm-device-interface.h
5311                 - (nm_device_interface_init): remove 'carrier' property and
5312                         'carrier-changed' signal
5313
5314         * src/nm-device.c
5315           src/nm-device.h
5316                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5317                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5318                         the link here; wired device will handle that
5319                 - (handle_dhcp_lease_change): don't bother updating link here
5320                 - (get_property, nm_device_class_init): remove carrier property
5321
5322         * src/nm-device-802-11-wireless.c
5323                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5324                         real_update_link(); wireless devices don't use carrier at all
5325                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5326                    supplicant_iface_connection_state_cb_handler,
5327                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5328
5329         * src/nm-device-802-3-ethernet.c
5330           src/nm-device-802-3-ethernet.h
5331                 - (nm_device_802_3_ethernet_carrier_on,
5332                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5333                         instead of nm_device_set_carrier()
5334                 - (device_state_changed): update link from sysfs on activation;
5335                         replaces real_update_link()
5336                 - (real_update_link): remove, replaced by device_state_changed()
5337                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5338                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5339                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5340                         new get_carrier function
5341                 - (get_property): add 'carrier' property
5342                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5343                         hook into property-changed signal helper
5344
5345         * src/NetworkManagerPolicy.c
5346                 - (device_carrier_changed): will only ever be called with a wired device
5347                 - (device_added): only hook up to carrier-changed for wired devices
5348
5349         * libnm-glib/nm-device.c
5350           libnm-glib/nm-device.h
5351                 - (constructor, nm_device_class_init): remove carrier-changed signal
5352                 - (device_carrier_changed_proxy): remove; unused
5353                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5354
5355         * libnm-glib/nm-device-802-3-ethernet.c
5356           libnm-glib/nm-device-802-3-ethernet.h
5357                 - Convert to cached properties like AP and Wireless objects
5358                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5359                         instead of a 'char *', return value should not be freed
5360                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5361                 - (constructor): hook into properties-changed helper
5362                 - (set_property, get_property): new functions
5363                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5364
5365         * test/nm-tool.c
5366                 - (detail_device): strdup the wired hardware address too since it's
5367                         cached now
5368
5369         * libnm-glib/libnm-glib-test.c
5370                 - (dump_wired): strdup the wired hardware address too since it's
5371                         cached now
5372
5373 2008-03-12  Dan Williams  <dcbw@redhat.com>
5374
5375         * libnm-util/nm-setting-ip4-config.c
5376           libnm-util/nm-setting-ip4-config.h
5377                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5378                         the 'autoip' property from the spec
5379
5380 2008-03-11  Dan Williams  <dcbw@redhat.com>
5381
5382         * src/backends/NetworkManagerGeneric.c
5383           src/backends/NetworkManagerGeneric.h
5384                 - (nm_generic_device_get_use_dhcp): remove
5385
5386 2008-03-11  Dan Williams  <dcbw@redhat.com>
5387
5388         * src/nm-device.c
5389                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5390                         already in nm_device_set_ip4_config()
5391                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5392                         due to a DHCP rebind fails
5393                 - (nm_device_set_ip4_config): send property notifications when the
5394                         ip4 config changes
5395                 - (get_property): only report IP4Config property during valid states
5396
5397         * src/NetworkManagerPolicy.c
5398                 - (update_routing_and_dns): ignore devices that don't have an ip4
5399                         config; add parameter 'force_update' to allow callers to specify
5400                         that changes should be made even if the default device doesn't change
5401                 - (device_ip4_config_changed): update DNS and routing when the device's
5402                         IP4Config changes, like for DHCP updates
5403                 - (device_added): listen for ip4-config property changes
5404
5405 2008-03-11  Dan Williams  <dcbw@redhat.com>
5406
5407         Fix address handling as a result of DHCP rebind/renew/reboot.
5408
5409         * src/NetworkManagerSystem.c
5410                 - (check_one_address): delete an address if it doesn't match a given
5411                         one for the same interface
5412                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5413                         be smarter about flushing addresses (only flush ones that don't
5414                         match the one we're about to apply)
5415
5416         * src/backends/NetworkManagerDebian.c
5417           src/backends/NetworkManagerSuSE.c
5418           src/backends/NetworkManagerArch.c
5419           src/backends/NetworkManagerSlackware.c
5420           src/backends/NetworkManagerRedHat.c
5421           src/backends/NetworkManagerPaldo.c
5422           src/backends/NetworkManagerFrugalware.c
5423           src/backends/NetworkManagerGentoo.c
5424                 - (nm_system_delete_default_route): remove
5425
5426         * src/backends/NetworkManagerGeneric.c
5427           src/backends/NetworkManagerGeneric.h
5428                 - (nm_generic_enable_loopback): fix the loopback device label
5429                 - (nm_generic_delete_default_route): remove; no longer used
5430
5431 2008-03-11  Dan Williams  <dcbw@redhat.com>
5432
5433         * src/nm-device-interface.h
5434                 - Delimit property name words with '-', otherwise g_object_notify()
5435                         doesn't work the way we expect
5436
5437 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5438
5439         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5440
5441 2008-03-11  Dan Williams  <dcbw@redhat.com>
5442
5443         * src/NetworkManagerPolicy.c
5444                 - (update_routing_and_dns): don't change anything if the default device
5445                         hasn't changed; print something out when switching the default route
5446                         and DNS
5447
5448 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5449
5450         Implement PPPoE.
5451
5452         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5453         setting. Use "nic-$eth".
5454
5455         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5456         the device is activating here to fix a race condition.
5457
5458         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5459
5460         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5461         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5462         (nm_ppp_manager_start): Take activation request instead of connection, we might
5463         need it for asking secrets.
5464         (nm_ppp_manager_update_secrets): Implement.
5465
5466         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5467         ppp manager start. It might be needed for asking secrets.
5468
5469         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5470         (ppp_state_changed): Handle pppd daemon disappearing.
5471         (pppoe_stage2_config): Send activation request to ppp manager start.
5472
5473         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5474
5475         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5476         username and password.
5477         
5478 2008-03-10  Dan Williams  <dcbw@redhat.com>
5479
5480         * src/nm-device.c
5481                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5482                         response to a DHCP lease change
5483                 - (dhcp_state_changed): handle DHCP lease changes while activated
5484                 - (nm_device_set_ip4_config): remove a previously set named config
5485                         when setting an ip4 config
5486
5487 2008-03-10  Dan Williams  <dcbw@redhat.com>
5488
5489         * src/nm-serial-device.c
5490                 - (nm_serial_device_send_command): report errno on error
5491                 - (get_reply_got_data): limit the size of the overall buffer
5492                 - (wait_for_reply_info_destroy): destroy result string
5493                 - (wait_for_reply_got_data): append received data to an overall buffer
5494                         until timeout, filled buffer, or error instead of keeping a per-call
5495                         buffer.  Some devices send data slowly enough that this function
5496                         gets called multiple times for the same command stream.
5497                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5498                         wait_for_reply_got_data() here
5499
5500 2008-03-10  Dan Williams  <dcbw@redhat.com>
5501
5502         * src/nm-cdma-device.c
5503                 - (do_dial, init_modem): handle errors from
5504                         nm_serial_device_send_command_string()
5505
5506         * src/nm-gsm-device.c
5507                 - (do_dial, manual_registration, automatic_registration_get_network,
5508                    automatic_registration, enter_pin, check_pin, init_modem): handle
5509                         errors from nm_serial_device_send_command_string()
5510
5511 2008-03-10  Dan Williams  <dcbw@redhat.com>
5512
5513         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5514
5515         * src/named-manager/nm-named-manager.c
5516                 - (compute_searches): prefer searches before domains
5517                 - (compute_domain): new function
5518                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5519                 - (merge_one_ip4_config): if there are no searches in the source config,
5520                         merge domains of the source config into the target config
5521                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5522
5523 2008-03-10  Dan Williams  <dcbw@redhat.com>
5524
5525         * src/nm-serial-device.c
5526                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5527                 - (wait_for_reply_got_data): try to handle slower serial devices where
5528                         the reply is broken up into multiple reads by concatenating replies
5529                         together until either an error is received or the search string is
5530                         found
5531
5532 2008-03-10  Dan Williams  <dcbw@redhat.com>
5533
5534         * src/nm-device.c
5535                 - (nm_device_bring_down): deactivate the device if it's activating too,
5536                         not just if it's already activated.  This makes sure that everything
5537                         from an association attempt is cleaned up (like DHCP for example)
5538
5539 2008-03-10  Dan Williams  <dcbw@redhat.com>
5540
5541         * src/nm-serial-device.c
5542                 - (config_fd): report error from TCSETA
5543                 - (nm_serial_device_open): fail when config_fd() fails
5544
5545 2008-03-10  Dan Williams  <dcbw@redhat.com>
5546
5547         * src/nm-ip4-config.c
5548                 - (nm_ip4_config_init): allocate searches list
5549                 - (finalize): free searches list
5550
5551 2008-03-09  Dan Williams  <dcbw@redhat.com>
5552
5553         Patch from Bas Zoetekouw <bas@debian.org>
5554
5555         * src/dhcp-manager/nm-dhcp-manager.c
5556                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5557
5558 2008-03-09  Dan Williams  <dcbw@redhat.com>
5559
5560         Patch from Bas Zoetekouw <bas@debian.org>
5561
5562         * src/nm-ip4-config.c
5563           src/nm-ip4-config.h
5564                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5565                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5566                         domains.  'searches' is the correct way to store multiple search
5567                         domains, whereas 'domains' is really just supposed to store one
5568                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5569                         search domains to the client.
5570                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5571
5572 2008-03-09  Dan Williams  <dcbw@redhat.com>
5573
5574         * src/dhcp-manager/nm-dhcp-manager.c
5575                 - (dhclient_run): send interface-specific config files to dhclient
5576
5577 2008-03-07  Dan Williams  <dcbw@redhat.com>
5578
5579         * system-settings/plugins/ifcfg-fedora/parser.c
5580                 - (is_wireless_device): new function; test a device for wireless
5581                         extensions
5582                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5583                         test the device for wireless extensions to determine the type
5584
5585 2008-03-07  Dan Williams  <dcbw@redhat.com>
5586
5587         Change manager's StateChange signal to StateChanged for consistency.
5588
5589         * introspection/nm-manager.xml
5590                 - Add 'StateChanged' signal
5591                 - Move 'StateChange' down to the deprecated section
5592
5593         * src/nm-hal-manager.c
5594                 - (nm_hal_manager_new): connect to 'state-changed' instead
5595
5596         * src/NetworkManagerPolicy.c
5597                 - (nm_policy_new): connect to 'state-changed' instead
5598
5599         * src/nm-manager.c
5600           src/nm-manager.h
5601                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5602                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5603                         of 'state-change'
5604
5605         * libnm-glib/nm-client.c
5606           libnm-glib/nm-client.h
5607                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5608                         track and proxy 'state-changed' instead of 'state-change'
5609
5610 2008-03-07  Dan Williams  <dcbw@redhat.com>
5611
5612         First pass of multiple active device support.  Expect bugs.
5613
5614         * src/nm-ip4-config.c
5615           src/nm-ip4-config.h
5616                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5617                         there are better ways to do this in the named manager
5618
5619         * src/nm-device.c
5620           src/nm-device.h
5621                 - (nm_device_can_activate): return whether the device can activate a
5622                         connection right now; taking into account things like carrier state
5623                         and rfkill state
5624                 - (nm_device_get_best_auto_connection): renamed from
5625                         nm_device_get_best_connection
5626                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5627                         device subclasses themselves, so that each device can override the
5628                         MTU from it's NMSetting subclass if needed
5629                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5630                         in NetworkManagerSystem.c, not here
5631
5632         * src/named-manager/nm-named-manager.c
5633           src/named-manager/nm-named-manager.h
5634                 - (nm_named_manager_name_owner_changed,
5635                    nm_named_manager_dbus_connection_changed): fix for changes to
5636                         rewrite_resolv_conf()
5637                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5638                         from parameter list
5639                 - (merge_one_ip4_config): new function; merge ip4 configs together
5640                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5641                         ip4 configs; the VPN config takes precedence, then the best
5642                         device config, then the rest of the configs
5643                 - (get_domain_for_config): take the NMNamedManager as an argument
5644                         to check whether the config is the VPN config
5645                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5646                         attribute from ip4 configs
5647                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5648                 - (remove_ip4_config_from_named): fix for changes to
5649                         get_domain_for_config()
5650                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5651                         based on its type; callers must pass in the type now
5652                 - (get_last_default_domain): remove, unused
5653                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5654
5655         * src/nm-device-802-11-wireless.c
5656                 - (real_can_activate): new function
5657                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5658                 - (real_act_stage4_get_ip4_config): handle MTU override
5659
5660         * src/nm-device-802-3-ethernet.c
5661                 - (real_can_activate): new function
5662                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5663                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5664
5665         * src/vpn-manager/nm-vpn-connection.c
5666                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5667                         attribute on the ip4 config
5668
5669         * src/NetworkManagerPolicy.c
5670                 - (nm_policy_auto_get_best_device): remove
5671                 - (nm_policy_device_change_check): remove
5672                 - (update_default_route): new function; set the default route via
5673                         the specified device
5674                 - (get_device_priority): new function; return the priority number of
5675                         a device type WRT which one should have the default route.  Order is
5676                         (highest to lowest)  wired, wireless, GSM, CDMA.
5677                 - (update_routing_and_dns): new function; determine which device should
5678                         have the default route, then update the routing table and DNS
5679                 - (maybe_auto_activate_device): new function; if a device is now
5680                         available for activation, find out what connection it would like to
5681                         activate and do it
5682                 - (schedule_activate_check): new function; if a device can be activated
5683                         now, schedule the activation.  Each device may have only one
5684                         pending activation at a given time.
5685                 - (device_state_changed): if activation was canceled, try again,
5686                         possibly with another connection; if the device was activated,
5687                         update routing and DNS; if the device was deactivated, try again
5688                         with another connection
5689                 - (device_carrier_changed): if there is no carrier, deactivate the
5690                         device; otherwise schedule an activation check for the device
5691                 - (wireless_networks_changed): schedule an activation check for the
5692                         device
5693                 - (device_added): keep track of the signal handler IDs so they can
5694                         be removed when the device goes away
5695                 - (device_removed): remove any signal handlers that might be attached
5696                         to the device; update routing and DNS
5697                 - (schedule_activate_all): new function
5698                 - (connections_added, connection_added, connection_updated): when
5699                         connections change, schedule all devices for an activation check
5700                 - (connection_removed): when a device is deactivated because its
5701                         connection was removed, schedule another activation check for it
5702                 - (nm_policy_destroy): destroy pending activations and disconnect
5703                         all device signal handlers
5704
5705         * src/nm-manager.c
5706                 - (nm_manager_activate_device): if the device was already actived,
5707                         deactivate it
5708                 - (deactivate_old_device): remove
5709                 - (connection_added_default_handler, impl_manager_activate_device):
5710                         don't deactivate other devices when activating this one
5711
5712         * src/backends/NetworkManagerGentoo.c
5713           src/backends/NetworkManagerFrugalware.c
5714           src/backends/NetworkManagerPaldo.c
5715           src/backends/NetworkManagerRedHat.c
5716           src/backends/NetworkManagerSlackware.c
5717           src/backends/NetworkManagerArch.c
5718           src/backends/NetworkManagerSuSE.c
5719           src/backends/NetworkManagerDebian.c
5720                 - (nm_system_get_mtu): remove; MTU should be provided through the
5721                         distro's system settings service plugin instead
5722                 - (nm_system_device_add_default_route_via_device): remove
5723                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5724                 - (nm_system_device_replace_default_route): new function; call
5725                         generic implementation
5726
5727         * src/backends/NetworkManagerGeneric.c
5728           src/backends/NetworkManagerGeneric.h
5729                 - (nm_generic_device_add_default_route_via_device,
5730                    nm_generic_device_add_default_route_via_device_with_iface): remove
5731                 - (nm_generic_device_replace_default_route): replace the default route
5732                         with the given route via some gateway
5733
5734         * src/NetworkManagerSystem.c
5735           src/NetworkManagerSystem.h
5736                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5737                         to routing and DNS; but set the MTU here
5738                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5739                         ip_iface of the active device; use the standard MTU setting function
5740                 - (nm_system_set_mtu): remove
5741                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5742
5743 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5744
5745         Rework the interaction between ppp manager and pppd plugin. Register a well
5746         known DBUS service in manager and let the plugin call it's methods instead
5747         of listening plugin's signals.
5748
5749         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5750         of emitting signals.
5751
5752         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5753
5754         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5755
5756         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5757         nm_ppp_manager_start().
5758
5759         * introspection/nm-ppp-manager.xml: New file.
5760
5761         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5762         the case correctly where driver is trying to send -1 for the speed, which gets
5763         casted to u16 and thus is always > 0.
5764
5765 2008-03-07  Dan Williams  <dcbw@redhat.com>
5766
5767         * src/nm-hal-manager.c
5768                 - (nm_get_device_driver_name): use net.originating_device first, fall
5769                         back to physical device.  HAL has deprecated physical_device.
5770
5771         * libnm-glib/nm-device.c
5772                 - (get_product_and_vendor): use net.originating_device first, fall
5773                         back to physical device.  HAL has deprecated physical_device.
5774                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5775
5776 2008-03-07  Dan Williams  <dcbw@redhat.com>
5777
5778         * src/nm-netlink.c
5779                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5780                         last commit; fix that
5781                 - (get_link_cache): print error string
5782
5783 2008-03-07  Dan Williams  <dcbw@redhat.com>
5784
5785         * src/nm-netlink.c
5786                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5787                         don't need this hack any more (Benoit Boissinot)
5788
5789 2008-03-06  Dan Williams  <dcbw@redhat.com>
5790
5791         * autogen.sh
5792                 - Die gnome-common, die
5793
5794 2008-03-04  Dan Williams  <dcbw@redhat.com>
5795
5796         Patch from Michael Biebl <biebl@debian.org>
5797
5798         * NetworkManager.pc.in
5799                 - doesn't actually depend on dbus-1
5800
5801         * libnm-util/nm-utils.h
5802                 - remove unused #include <dbus/dbus.h>
5803
5804         * libnm-glib/libnm_glib.pc.in
5805                 - depends on glib and dbus-glib
5806
5807 2008-03-02  Dan Williams  <dcbw@redhat.com>
5808
5809         * src/NetworkManagerPolicy.c
5810                 - s/device_state_changed_idle_id/update_state_id/
5811
5812 2008-03-02  Dan Williams  <dcbw@redhat.com>
5813
5814         * src/nm-device.c
5815           src/nm-device.h
5816           src/nm-device-802-11-wireless.c
5817           src/nm-device-802-3-ethernet.c
5818           src/NetworkManagerPolicy.c
5819                 - s/link_active/carrier
5820                 - nm_device_set_active_link() -> nm_device_set_carrier()
5821                 - nm_device_has_active_link() -> nm_device_get_carrier()
5822
5823 2008-03-02  Dan Williams  <dcbw@redhat.com>
5824
5825         * system-settings/plugins/ifcfg-fedora/parser.c
5826                 - (make_wireless_setting): fail connection creation on missing SSID
5827
5828 2008-02-29  Dan Williams  <dcbw@redhat.com>
5829
5830         * src/NetworkManagerPolicy.c
5831                 - (nm_policy_device_change_check): ensure that a previously active
5832                         device with a system connection has a link before denying a switch
5833                         to a user connection
5834
5835 2008-02-29  Dan Williams  <dcbw@redhat.com>
5836
5837         * src/nm-device-802-11-wireless.c
5838                 - (link_timeout_cb): try again if scanning; deactivate the device when
5839                         activated if the link dies
5840                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5841                         15 seconds
5842
5843 2008-02-29  Dan Williams  <dcbw@redhat.com>
5844
5845         * src/nm-device-802-11-wireless.c
5846           src/nm-device-802-11-wireless.h
5847                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5848                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5849                 - (device_cleanup): reset the scan interval lower when the device
5850                         deactivates
5851                 - (can_scan): base decision mostly off device state, not supplicant
5852                         interface state since the supplicant interface state isn't a
5853                         great indicator of whether the device is active or not
5854                 - (request_wireless_scan): clean up; schedule the next scan here
5855                 - (schedule_scan): only back the scan interval off if a new scan
5856                         actually gets scheduled; and make scan intervals tighter when the
5857                         device is disconnected
5858                 - (supplicant_iface_state_cb_handler): fold in the bits of
5859                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5860                         interval to minimum
5861                 - (activation_success_handler): reset scan interval to something
5862                         reasonable 
5863
5864 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5865
5866         reviewed by: Steev <steev@steev.net>
5867
5868         * configure.in:
5869         * src/backends/NetworkManagerGentoo.c:
5870         (nm_system_restart_mdns_responder):
5871                 Howl is no longer a supported mDNS provider
5872
5873 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5874
5875         Get rid of a bunch of unused distro specific functions.
5876
5877 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5878
5879         Implement suse plugin for system settings daemon.
5880
5881         * system-settings/plugins/ifcfg-suse/*: Implement.
5882
5883         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5884         suse.
5885
5886         * configure.in: Check (without failing) for gio.
5887         Create ifcfg-suse plugin's Makefile.
5888
5889 2008-02-20  Dan Williams  <dcbw@redhat.com>
5890
5891         * libnm-util/nm-connection.c
5892           libnm-util/nm-connection.h
5893                 - (nm_connection_compare): accept compare flags and pass them to the
5894                         setting compare function
5895
5896         * libnm-util/nm-setting.c
5897           libnm-util/nm-setting.h
5898                 - (nm_setting_compare): accept compare flags; ignore properties that are
5899                         marked fuzzy
5900
5901         * libnm-util/nm-setting-connection.c
5902           libnm-util/nm-setting-wireless.c
5903           libnm-util/nm-setting-ppp.c
5904           libnm-util/nm-setting-wired.c
5905                 - Mark some setting properties as ignorable when doing a fuzzy compare
5906
5907         * src/nm-device.c
5908                 - (device_activation_precheck): use exact compare
5909
5910 2008-02-20  Dan Williams  <dcbw@redhat.com>
5911
5912         * src/NetworkManagerPolicy.c
5913                 - (nm_policy_device_change_check): get scope off the connection, not
5914                         using the manager helper
5915
5916         * src/nm-manager.c
5917           src/nm-manager.h
5918                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5919                 - (connection_get_settings_cb): set scope and path on connection, not
5920                         using GObject data items
5921                 - (get_connection_for_proxy): don't need to return path, since that
5922                         can be gotten from the connection
5923                 - (get_connection_for_proxy): get path off the connection, not from
5924                         parameters
5925                 - (connection_removed_cb, connection_updated_cb): don't need to get
5926                         path from get_connection_for_proxy(); get scope off the connection
5927                         instead of using GObject data items
5928                 - (connection_added_default_handler, add_one_connection_element): use
5929                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5930                 - (nm_manager_get_connection_dbus_path): remove
5931                 - (nm_manager_get_connection_scope): remove
5932
5933 2008-02-20  Dan Williams  <dcbw@redhat.com>
5934
5935         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5936                 on confusing names
5937
5938         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5939                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5940                 NMExportedConnection
5941
5942         * Internally rename NMConnectionType -> NMConnectionScope
5943
5944         * Provide default implementations of the 'get_id' and 'get_settings' methods
5945                 of NMExportedConnection
5946
5947 2008-02-15  Dan Williams  <dcbw@redhat.com>
5948
5949         * src/nm-device-802-11-wireless.c
5950                 - (device_cleanup): release the AP list here too so that the AP list
5951                         doesn't survive across suspend/resume and up/down.  There is some
5952                         room for optimization, for example blow the list away when the card
5953                         brought back up, but only if the device has only been down for a
5954                         minute or more.
5955
5956 2008-02-15  Dan Williams  <dcbw@redhat.com>
5957
5958         * src/nm-hal-manager.c
5959                 - (modem_device_creator): recognize new HAL modem capabilities
5960
5961 2008-02-12  Dan Williams  <dcbw@redhat.com>
5962
5963         * system-settings/plugins/ifcfg-fedora/plugin.c
5964                 - (watch_path): handle IN_DELETE_SELF too
5965                 - (handle_connection_changed): notify when removing a connection
5966                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5967                         case of a file moving out of the profile directory
5968
5969 2008-02-12  Dan Williams  <dcbw@redhat.com>
5970
5971         * system-settings/plugins/ifcfg-fedora/parser.c
5972                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5973
5974 2008-02-12  Dan Williams  <dcbw@redhat.com>
5975
5976         * libnm-util/nm-utils.c
5977                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5978                         just any empty array
5979
5980 2008-02-12  Dan Williams  <dcbw@redhat.com>
5981
5982         * system-settings/src/nm-system-config-interface.c
5983           system-settings/src/nm-system-config-interface.h
5984                 - (load_connections): get_connections() should now return an allocated
5985                         GSList that the system settings service will free
5986
5987         * system-settings/plugins/ifcfg-fedora/plugin.c
5988           system-settings/plugins/ifcfg-fedora/parser.h
5989           system-settings/plugins/ifcfg-fedora/parser.c
5990                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5991                         in the profile directory, handle resolv.conf file changes
5992
5993 2008-02-10  Dan Williams  <dcbw@redhat.com>
5994
5995         * src/nm-device-802-3-ethernet.c
5996                 - (real_bring_up): save the supplicant interface state signal id
5997                 - (real_bring_down): disconnect from the supplicant interface state
5998                         signal
5999
6000 2008-02-07  Dan Williams  <dcbw@redhat.com>
6001
6002         * initscript/RedHat/NetworkManager.in
6003           initscript/RedHat/NetworkManagerDispatcher.in
6004                 - Add new-style LSB init headers
6005
6006 2008-02-07  Dan Williams  <dcbw@redhat.com>
6007
6008         * system-settings/src/dbus-settings.c
6009           system-settings/src/dbus-settings.h
6010                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6011                         table of secrets
6012                 - (connection_settings_get_secrets): consolidate error returns into
6013                         one place; use the new get_secrets() plugin interface function to
6014                         get secrets from the plugin itself rather than using GObject data
6015                         magic
6016
6017         * system-settings/src/main.c
6018                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6019                    load_connections): keep a private list of the plugin-returned
6020                         connections, don't use the plugin's GSList
6021
6022         * system-settings/plugins/ifcfg-fedora/plugin.c
6023                 - (watch_path): watch the path, not the filename (duh)
6024                 - (reload_all_connections): use the direct hash/equal functions; the
6025                         ones for int aren't appropriate here
6026                 - (get_secrets, system_config_interface_init): implement the
6027                         get_secrets() function
6028                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6029                         now in the connection's ConnectionData instead of being a GObject
6030                         data property
6031                 - (handle_profile_item_changed): ifcfg file path is now in the
6032                         connection's ConnectionData instead of being a GObject data property;
6033                         be sure to copy secrets over from the new connection to the existing
6034                         connection when updating the connection's settings
6035                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6036                         file descriptor
6037
6038         * system-settings/plugins/ifcfg-fedora/parser.c
6039           system-settings/plugins/ifcfg-fedora/parser.h
6040                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6041                    connection_data_copy_secrets, connection_data_free,
6042                    connection_data_add): new functions; connection data manipulation
6043                 - (make_wireless_security_setting): stuff secrets into the
6044                         connection data, not as GObject data items; make sure to close
6045                         the keys ifcfg file
6046                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6047                         connection data to the connection
6048
6049 2008-02-07  Dan Williams  <dcbw@redhat.com>
6050
6051         * system-settings/src/nm-system-config-interface.c
6052           system-settings/src/nm-system-config-interface.h
6053                 - Add a get_secrets() interface function to retrieve secrets for a
6054                         specific setting of a specific connection.  Document the interface
6055                         a bit more too.
6056
6057 2008-02-07  Dan Williams  <dcbw@redhat.com>
6058
6059         * src/nm-device-802-11-wireless.c
6060                 - (handle_auth_or_fail): new function; consolidate device activation
6061                         failure check after a certain number of failures getting secrets
6062                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6063                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6064                         the connection if secrets were requested more than a few times
6065                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6066                         tries here; otherwise they are cleared before the IP configure
6067                         timeout, which happens with open system WEP when key is wrong
6068                 - (activation_success_handler): clear wireless secrets tries here too
6069
6070 2008-02-07  Dan Williams  <dcbw@redhat.com>
6071
6072         * src/NetworkManagerPolicy.c
6073                 - (connection_updated): clear invalid tag when connection gets updated
6074                         to allow that connection to be tried again
6075                 - (nm_policy_new): save signal ids so they can be disconnected when
6076                         the policy is destroyed
6077                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6078                         and disconnect all signals from the manager object so that none
6079                         of the policy functions gets called after the policy is destroyed
6080
6081 2008-02-06  Dan Williams  <dcbw@redhat.com>
6082
6083         * src/nm-manager.c
6084                 - (finalize): remove devices a bit earlier; clean up system settings
6085                         poke
6086                 - (nm_manager_name_owner_changed): clean up system settings poke when
6087                         the service appears, and try to restart it if it fails
6088                 - (poke_system_settings_daemon_cb): try to get the system settings
6089                         service started through D-Bus service activation
6090                 - (initial_get_connections): start the system settings daemon if it's
6091                         not already running
6092
6093 2008-02-05  Dan Williams  <dcbw@redhat.com>
6094
6095         * src/supplicant-manager/nm-supplicant-config.c
6096                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6097                         broadcast networks too
6098
6099 2008-02-04  Dan Williams  <dcbw@redhat.com>
6100
6101         * system-settings/plugins/ifcfg-fedora/parser.c
6102                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6103                         need key_mgmt set too
6104                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6105                         .bak files; ensure that an error is set whenever NULL gets returned
6106
6107 2008-02-04  Dan Williams  <dcbw@redhat.com>
6108
6109         * system-settings/src/Makefile.am
6110                 - Install D-Bus service activation file for the system settings
6111                         service
6112
6113         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6114                 - D-Bus service activation file for system settings service
6115
6116 2008-02-04  Dan Williams  <dcbw@redhat.com>
6117
6118         * system-settings/src/main.c
6119                 - (parse_config_file): parse a config file
6120                 - (main): accept --config option and read plugins from config file
6121
6122 2008-02-04  Dan Williams  <dcbw@redhat.com>
6123
6124         * system-settings/plugins/ifcfg-fedora/plugin.c
6125                 - Change reported name to 'ifcfg-fedora'
6126                 - Use IFCFG_PLUGIN_NAME
6127
6128         * system-settings/plugins/ifcfg-fedora/plugin.c
6129                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6130
6131 2008-02-04  Dan Williams  <dcbw@redhat.com>
6132
6133         * system-settings/plugins/ifcfg-fedora/parser.c
6134                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6135                 - (make_connection_setting): use get_ifcfg_name()
6136                 - (make_wireless_security_setting): handle shadow key files
6137                 - (get_one_wep_key): treat empty string as NULL
6138
6139 2008-02-04  Dan Williams  <dcbw@redhat.com>
6140
6141         * src/supplicant-manager/nm-supplicant-manager.c
6142                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6143                         glib automatically reschedule
6144                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6145                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6146                         the supplicant
6147
6148 2008-02-01  Dan Williams  <dcbw@redhat.com>
6149
6150         * src/NetworkManagerPolicy.c
6151                 - (device_state_changed): schedule a change check when a device gets
6152                         deactivated so something happens if you disconnect GSM/CDMA
6153
6154 2008-01-31  Dan Williams  <dcbw@redhat.com>
6155
6156         * src/nm-device-802-11-wireless.h
6157           src/nm-device-802-11-wireless.c
6158                 - (ap_list_get_ap_by_ssid, is_associated,
6159                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6160                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6161                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6162                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6163                         function
6164
6165 2008-01-30  Dan Williams  <dcbw@redhat.com>
6166
6167         * system-settings/plugins/ifcfg
6168         * system-settings/plugins/ifcfg-fedora
6169                 - Move the ifcfg plugin to ifcfg-fedora
6170
6171 2008-01-24  Dan Williams  <dcbw@redhat.com>
6172
6173         * libnm-glib/nm-device-802-11-wireless.c
6174                 - (get_access_point): move the "/" check here; check for invalid path
6175                         too
6176                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6177                         to get_access_point()
6178                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6179                         to send signals for non-existent access points
6180
6181 2008-01-24  Dan Williams  <dcbw@redhat.com>
6182
6183         * libnm-glib/nm-device-802-11-wireless.c
6184                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6185
6186 2008-01-23  Dan Williams  <dcbw@redhat.com>
6187
6188         * libnm-glib/libnm_glib.c
6189                 - (libnm_glib_init): make thread joinable
6190                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6191
6192 2008-01-23  Dan Williams  <dcbw@redhat.com>
6193
6194         * test/libnm_glib_test.c
6195                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6196                 - (main): set up signal handlers; call libnm_glib_shutdown
6197
6198 2008-01-21  Dan Williams  <dcbw@redhat.com>
6199
6200         * include/NetworkManager.h
6201                 - Add CDMA mobile broadband card device type
6202
6203         * src/nm-hal-manager.c
6204                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6205                         must now be tagged with 'cdma' or 'gsm' capability
6206
6207         * src/nm-cdma-device.c
6208           src/nm-cdma-device.h
6209           src/Makefile.am
6210                 - Add the CDMA mobile broadband card device class
6211
6212         * libnm-util/nm-connection.c
6213                 - (register_default_settings): add NMSettingCdma
6214
6215         * libnm-util/nm-setting-cdma.c
6216           libnm-util/nm-setting-cdma.h
6217           libnm-util/Makefile.am
6218                 - Add the CDMA mobile broadband card setting class
6219
6220         * libnm-glib/nm-cdma-device.c
6221           libnm-glib/nm-cdma-device.h
6222           libnm-glib/Makefile.am
6223                 - Add the CDMA mobile broadband card GLib proxy class
6224
6225         * libnm-glib/nm-client.c
6226                 - (get_device): handle CDMA devices too
6227
6228 2008-01-21  Dan Williams  <dcbw@redhat.com>
6229
6230         * src/ppp-manager/nm-ppp-manager.c
6231                 - (ip4_config_get): set peer address too
6232
6233         * src/ppp-manager/nm-pppd-plugin.c
6234                 - (nm_ip_up): try harder to get the peer's address
6235
6236         * src/NetworkManagerSystem.c
6237                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6238                         address, use that too.  Otherwise, some PPP connections won't work.
6239
6240 2008-01-19  Dan Williams  <dcbw@redhat.com>
6241
6242         * src/NetworkManagerPolicy.c
6243                 - (nm_policy_device_change_check): system connections override user
6244                         connections; don't activate a user connection if there's a currently
6245                         active system connection, and new, better system connections always
6246                         interrupt user connections
6247
6248 2008-01-19  Dan Williams  <dcbw@redhat.com>
6249
6250         * src/nm-manager.h
6251                 - (nm_manager_get_connection_type): new function
6252
6253 2008-01-19  Dan Williams  <dcbw@redhat.com>
6254
6255         * src/nm-device-802-11-wireless.c
6256                 - (real_get_best_connection): collapse find_best_connection() into this
6257                         function
6258
6259 2008-01-19  Dan Williams  <dcbw@redhat.com>
6260
6261         * src/nm-device-802-3-ethernet.c
6262                 - (real_get_best_connection): collapse find_best_connection() into this
6263                         function
6264
6265 2008-01-18  Dan Williams  <dcbw@redhat.com>
6266
6267         * src/nm-device-802-3-ethernet.c
6268                 - (find_best_connection): check MAC address too
6269                 - (real_get_best_connection): let autoconnect=True connections activate
6270                         for devices that don't have carrier detection
6271
6272         * src/nm-device-802-11-wireless.c
6273                 - (find_best_connection): check MAC address too
6274
6275 2008-01-18  Dan Williams  <dcbw@redhat.com>
6276
6277         * system-settings/plugins/ifcfg/parser.c
6278                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6279
6280 2008-01-17  Dan Williams  <dcbw@redhat.com>
6281
6282         * src/nm-device-802-3-ethernet.c
6283                 - (nm_device_802_3_ethernet_carrier_on,
6284                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6285                         carrier events that might come in for devices that don't support
6286                         carrier detect
6287
6288 2008-01-17  Dan Williams  <dcbw@redhat.com>
6289
6290         * src/nm-device-interface.c
6291                 - (nm_device_interface_check_connection_conflicts): need to actually
6292                         get the interface, not cast to the object
6293
6294         * src/nm-device.c
6295                 - (nm_device_check_connection_conflicts): need to get the device class,
6296                         not cast the device to the device class
6297
6298 2008-01-17  Dan Williams  <dcbw@redhat.com>
6299
6300         * src/nm-device-802-11-wireless.c
6301                 - (real_check_connection_conflicts): ignore connections that aren't
6302                         wireless connections
6303
6304 2008-01-17  Dan Williams  <dcbw@redhat.com>
6305
6306         * src/NetworkManagerPolicy.c
6307                 - (nm_policy_device_change_check): clear change check idle here
6308                 - (device_change_check_done): remove
6309                 - (schedule_change_check): simplify
6310
6311 2008-01-17  Dan Williams  <dcbw@redhat.com>
6312
6313         * src/nm-manager.c
6314                 - (check_connection_allowed): take an NMDeviceInterface instead of
6315                         an NMDevice object as an argument
6316                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6317                         check_connection_allowed()
6318
6319 2008-01-13  Dan Williams  <dcbw@redhat.com>
6320
6321         * libnm-glib/nm-device-802-11-wireless.c
6322                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6323
6324 2008-01-12  Dan Williams  <dcbw@redhat.com>
6325
6326         * src/nm-device-802-11-wireless.c
6327                 - (activation_success_handler): if a match was found in the scan list
6328                         and that match is a hidden AP, update that AP's SSID
6329
6330 2008-01-11  Dan Williams  <dcbw@redhat.com>
6331
6332         * src/NetworkManagerAP.c
6333                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6334
6335         * src/nm-device-802-11-wireless.c
6336                 - (get_active_ap): do two passes over the scan list if the caller
6337                         requests that hidden APs get matched too; during the second pass
6338                         when matching hidden APs, ignore the SSID since hidden APs in the
6339                         scan list don't have an SSID yet
6340                 - (periodic_update): move some checks to
6341                         nm_device_802_11_periodic_update() because not all callers need them
6342                 - (nm_device_802_11_periodic_update): move some checks here from
6343                         perodic_update()
6344                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6345                         matching on incoming scan results, because the fake AP's flags
6346                         might be slightly different (yet still compatible) with the incoming
6347                         scan result's flags and they might actually be the same AP; update
6348                         the rate on merged APs too
6349                 - (activation_success_handler): update the frequency of the fake AP
6350                         on successful connection; match hidden APs too since if the
6351                         current AP is fake, there might already be a scan result in the
6352                         scan list for the desired AP, just without it's SSID filled in yet
6353
6354 2008-01-10  Dan Williams  <dcbw@redhat.com>
6355
6356         * src/NetworkManagerAP.c
6357                 - (foreach_property_cb): catch more hidden SSID formats
6358
6359 2008-01-10  Dan Williams  <dcbw@redhat.com>
6360
6361         Fix gnome.org #464215.  Requires the kernel patch titled
6362         "Introduce WEXT scan capabilities" but will handle the patch not being
6363         present, you'll just continue to have problems with hidden SSIDs when
6364         using mac80211-based drivers.
6365
6366         * src/supplicant-manager/nm-supplicant-config.h
6367           src/supplicant-manager/nm-supplicant-config.c
6368                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6369                         whether the driver supports SSID scans or not.  If it does, and if
6370                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6371
6372         * src/nm-device-802-11-wireless.c
6373                 - (constructor): check whether or not the driver supports SSID scans
6374                 - (build_supplicant_config): pass driver SSID scan capability when
6375                         building the wireless bits of the supplicant config
6376
6377 2008-01-09  Dan Williams  <dcbw@redhat.com>
6378
6379         * src/nm-device.c
6380           src/nm-device.h
6381                 - (device_activation_precheck, check_connection_complete): remove this
6382                         virtual function; incomplete connections should be invalid by
6383                         definition, complete-ness should be checked in the setting's
6384                         verify function
6385
6386         * src/nm-serial-device.c
6387           src/nm-gsm-device.c
6388                 - (real_check_connection_complete): remove
6389
6390         * libnm-util/nm-setting-serial.c
6391                 - (verify): new function; ensure there is a PPP setting too
6392
6393         * libnm-util/nm-setting-gsm.c
6394                 - (verify): ensure there is a serial setting too
6395
6396 2008-01-06  Dan Williams  <dcbw@redhat.com>
6397
6398         * src/dhcp-manager/nm-dhcp-manager.c
6399                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6400                         (gnome.org #332953)
6401
6402 2008-01-04  Dan Williams  <dcbw@redhat.com>
6403
6404         * src/named-manager/nm-named-manager.c
6405                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6406                         nameservers if the secondary config doesn't have any
6407                         (gnome.org #346833)
6408
6409 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6410
6411         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6412         with G_PARAM_CONSTRUCT so that they get the default values.
6413
6414         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6415         the monitoring device and prints out the output for now. Or more precicely, doesn't
6416         do absolutely anything right now since the montoring device argument is never set.
6417
6418         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6419         requires it's own knob to turn it on.
6420         (config_fd): Add NMSettingSerial to the arguments list.
6421         (nm_serial_device_open): Ditto.
6422         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6423         (nm_serial_device_get_io_channel): Implement.
6424
6425         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6426         a new reference every time (and forgetting to release it sometimes) is a pain and
6427         it's not like NMManager could work without dbus.
6428         (nm_manager_add_device): Register the added device on dbus here.
6429
6430         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6431         device.
6432
6433         * src/nm-device.c (constructor): Don't export the device here, instead export
6434         it when it's added to the NMManager's device list.
6435
6436 2007-12-31  Dan Williams  <dcbw@redhat.com>
6437
6438         * src/nm-device-interface.c
6439           src/nm-device-interface.h
6440                 - (nm_device_interface_check_connection_conflicts): new function
6441
6442         * src/nm-device.c
6443           src/nm-device.h
6444                 - (nm_device_check_connection_conflicts): new function
6445                 - (device_activation_precheck): don't require subclasses to implement
6446                         check_connection_complete()
6447                 - check_connection() -> check_connection_complete()
6448
6449         * src/nm-device-802-11-wireless.c
6450                 - (real_check_connection): remove; unused
6451                 - (real_check_connection_conflicts): implement, handle lockdown for
6452                         system connections
6453
6454         * src/nm-device-802-3-ethernet.c
6455                 - (real_check_connection): remove; unused
6456
6457         * src/nm-manager.c
6458                 - (check_connection_allowed): new function
6459                 - (nm_manager_activate_device): ensure the connection being requested
6460                         is allowed to be activated
6461
6462         * src/nm-serial-device.c
6463           src/nm-gsm-device.c
6464                 - real_check_connection() -> real_check_connection_complete()
6465
6466 2007-12-27  Dan Williams  <dcbw@redhat.com>
6467
6468         * src/nm-device-interface.c
6469           src/nm-device-interface.h
6470                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6471                         normalize and expand errors
6472                 - (nm_device_interface_init): register errors so they can be marshalled
6473                         through dbus-glib
6474                 - (nm_device_interface_activate): ensure that failure of activation
6475                         returns an error
6476
6477         * src/nm-device.c
6478           src/nm-device.h
6479                 - (device_activation_precheck): implementations of check_connection()
6480                         now take a GError and must fill it in if the check fails.  Return
6481                         more descriptive error if the requested connection is already
6482                         activating
6483                 - (nm_device_activate): actually try to return descriptive errors on
6484                         failures
6485
6486         * src/nm-device-802-11-wireless.c
6487           src/nm-device-802-3-ethernet.c
6488           src/nm-serial-device.c
6489           src/nm-gsm-device.c
6490                 - (real_check_connection): return more descriptive errors on failure
6491
6492         * src/NetworkManagerPolicy.c
6493                 - (nm_policy_device_change_check): print activation errors in the logs
6494
6495         * src/nm-manager.c
6496                 - (nm_manager_error_quark, nm_manager_error_get_type,
6497                    nm_manager_class_init): new errors
6498                 - (nm_manager_activate_device): handle errors
6499                 - (nm_manager_error_new): removed
6500                 - (wait_for_connection_expired, connection_added_default_handler,
6501                    impl_manager_activate_device): better error handling
6502
6503 2007-12-27  Dan Williams  <dcbw@redhat.com>
6504
6505         Fixes gnome.org #466954
6506
6507         * src/supplicant-manager/nm-supplicant-settings-verify.c
6508                 - Allow 'frequency' network property
6509
6510         * src/supplicant-manager/nm-supplicant-config.c
6511           src/supplicant-manager/nm-supplicant-config.h
6512                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6513                         for callers to specify the frequency an Ad-Hoc network should operate
6514                         on.  Some drivers require this to successfully create an Ad-Hoc
6515                         network.
6516
6517         * src/nm-device-802-11-wireless.c
6518                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6519                         guint32 value in MHz
6520                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6521                         iw_freq_to_uint32()
6522                 - (find_supported_frequency): new function; find a free supported
6523                         frequency for a user-created Ad-Hoc network
6524                 - (build_supplicant_config): if no frequency was specified for a user-
6525                         created Ad-Hoc network, find a free one to use
6526                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6527                         a specific object as user-created
6528
6529 2007-12-27  Dan Williams  <dcbw@redhat.com>
6530
6531         * libnm-util/nm-utils.c
6532           libnm-util/nm-utils.h
6533                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6534                         for adhoc networks
6535
6536 2007-12-24  Dan Williams  <dcbw@redhat.com>
6537
6538         * libnm-util/nm-setting-wireless.c
6539                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6540                         185, 187, 188, 192, and 196
6541
6542 2007-12-24  Dan Williams  <dcbw@redhat.com>
6543
6544         * src/nm-device-802-11-wireless.c
6545                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6546                         a channel # instead of a frequency
6547
6548 2007-12-24  Dan Williams  <dcbw@redhat.com>
6549
6550         * src/NetworkManagerAP.c
6551           src/NetworkManagerAP.h
6552                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6553                 - (freq_to_channel): handle split band tables
6554                 - (channel_to_freq): handle split band tables, take a band argument
6555
6556 2007-12-24  Dan Williams  <dcbw@redhat.com>
6557
6558         * libnm-util/nm-setting-connection.h
6559           libnm-util/nm-setting-connection.c
6560                 - Add 'lockdown' member
6561
6562 2007-12-22  Dan Williams  <dcbw@redhat.com>
6563
6564         * libnm-util/nm-setting-wireless.c
6565                 - (nm_setting_wireless_class_init): add missing 'rate' property
6566                         specification
6567
6568 2007-12-18  Dan Williams  <dcbw@redhat.com>
6569
6570         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6571
6572         * src/nm-netlink-monitor.c
6573           src/nm-netlink-monitor.h
6574                 - Remove handrolled netlink, use libnl instead
6575
6576         * src/nm-device-802-3-ethernet.c
6577                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6578                    nm_device_802_3_ethernet_carrier_on): use new names
6579
6580 2007-12-17  Dan Williams  <dcbw@redhat.com>
6581
6582         * configure.in
6583                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6584                         and fixes memory leaks)
6585
6586         * src/nm-netlink.c
6587                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6588                         automatically handle the netlink PID
6589
6590 2007-12-17  Dan Williams  <dcbw@redhat.com>
6591
6592         Patch from Michael Biebl <biebl@debian.org>
6593
6594         * configure.in
6595           src/ppp-manager/Makefile.am
6596                 - fix up install dir of pppd plugin
6597                 - clean up configure.in a bit
6598
6599 2007-12-12  Dan Williams  <dcbw@redhat.com>
6600
6601         * system-settings/src/nm-system-settings.conf
6602                 - Allow non-root clients (like the applet) to read settings
6603
6604 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6605
6606         * Replace all occurences of 'UMTS' with 'GSM'.
6607
6608 2007-12-07  Dan Williams  <dcbw@redhat.com>
6609
6610         * src/nm-serial-device.c
6611                 - (real_is_up): serial devices are always "up"
6612
6613 2007-12-07  Dan Williams  <dcbw@redhat.com>
6614
6615         * src/nm-netlink.c
6616           src/NetworkManagerSystem.c
6617                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6618                         twice (gnome.org #491047)
6619                 - Make more robust against allocation-related failures should they occur
6620
6621 2007-12-07  Dan Williams  <dcbw@redhat.com>
6622
6623         Noticed by Christian Persch <chpe@gnome.org>
6624
6625         Always chain up to parent object in dispose and finalize handlers.
6626                 (gnome.org #433112)
6627
6628 2007-12-07  Dan Williams  <dcbw@redhat.com>
6629
6630         * src/nm-device-802-11-wireless.c
6631                 - Wrap #include of linux/mii.h to fix redefined structures due to
6632                         incorrect kernel headers (gnome.org #350061)
6633
6634 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6635
6636         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6637         before doing anything else.
6638         (init_modem): Move modem initialization here.
6639
6640         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6641         (nm_serial_device_flash): Implement.
6642
6643         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6644         changes signal is "StateChanged" and not "Status".
6645         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6646
6647 2007-12-06  Dan Williams  <dcbw@redhat.com>
6648
6649         * src/supplicant-manager/nm-supplicant-config.c
6650                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6651                         to only send some options when they make sense; also send phase2
6652                         option to the supplicant (possible fix for rh #399631)
6653
6654 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6655
6656         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6657         arguments: This whole file shouldn't really know anything about NMDevices, it
6658         should deal only with device interfaces. Devices might have different ifaces for
6659         different stuff and this place shouldn't know anything about it.
6660
6661         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6662         (global_state_changed): Implement. In the current NM it's not really important,
6663         but will be required in the case of multiple active devices. (Or even better,
6664         if stuff like that gets moved out from NM).
6665
6666         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6667         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6668         instead.
6669
6670         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6671         devices like serial devices (ttyS0 and ppp0 for example).
6672         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6673         set.
6674         (nm_device_set_ip_iface): Implement.
6675         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6676         after setting ip4_config from here ...
6677         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6678         than this function should call nm_system_device_set_from_ip4_config() because no
6679         other code has enough information on which arguments to use. So instead, other code
6680         could just set the new ip4 config using this function and everyone is happy.
6681
6682         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6683         if we happen to get deactivated while something is pending.
6684         (automatic_registration): Handle the response that indicates pending network
6685         registration and wait until the pending registration is done.
6686         (real_deactivate_quickly): If there's a pending operation, cancel it.
6687
6688         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6689         (real_deactivate_quickly): ... and remove it when it's down.
6690         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6691         it if needed.
6692         (nm_serial_device_wait_for_reply): Ditto.
6693
6694 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6695
6696         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6697         (get_network_done): Remove newline, nm_info() does it already.
6698         (real_act_stage1_prepare): Turn the modem echo off.
6699
6700         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6701         device, set the route to the device interface. This is a hack.
6702
6703         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6704         return, no need for a new-line.
6705         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6706         Change the device iface here (ugh).
6707         (real_act_stage4_get_ip4_config): Implement.
6708         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6709         Restore the device iface.
6710
6711         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6712         device is not wired or wireless (eg, automatically upped) device.
6713
6714         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6715         it isn't.
6716         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6717
6718         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6719         before calling it's is_device_fn().
6720
6721 2007-12-05  Dan Williams  <dcbw@redhat.com>
6722
6723         * libnm-util/nm-utils.c
6724                 - (nm_utils_register_value_transformations,
6725                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6726                         GHashTables of GValues too
6727
6728 2007-12-04  Dan Williams  <dcbw@redhat.com>
6729
6730         * initscript/RedHat/NetworkManager.in
6731                 - No longer start named; it's D-Bus interface is going away
6732
6733 2007-12-04  Dan Williams  <dcbw@redhat.com>
6734
6735         Patch from Michael Biebl <biebl@debian.org>
6736
6737         * system-settings/plugins/ifcfg/Makefile.am
6738           system-settings/src/main.c
6739           system-settings/src/Makefile.am
6740                 - Put system settings plugins in NM plugins dir
6741
6742         * src/ppp-manager/Makefile.am
6743           src/ppp-manager/nm-ppp-manager.c
6744                 - Move pppd plugin to NM plugins dir
6745
6746 2007-12-04  Dan Williams  <dcbw@redhat.com>
6747
6748         * libnm-util/nm-setting-vpn-properties.h
6749                 - Clarify usage of the 'data' member of the setting
6750
6751         * libnm-util/nm-setting-vpn-properties.c
6752                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6753                 - (set_property): just remove all the settings; don't recreate the has
6754                 - (update_one_secret): don't need to create the hash table here since
6755                         it should always be present
6756
6757 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6758
6759         Implement PIN and PUK requesting.
6760
6761         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6762         (enter_pin): Handle PIN and PUK requests.
6763         (real_act_stage1_prepare): Clear the secret type.
6764         (real_connection_secrets_updated): Implement this class method to get
6765         notified when new secrets arrive.
6766         (nm_umts_device_class_init): Add private data back to the umts device class
6767         to store the required secret type.
6768
6769 2007-12-01  Dan Williams  <dcbw@redhat.com>
6770
6771         * system-settings/plugins/ifcfg/parser.c
6772                 - (parser_parse_file): don't try to verify NULL connections
6773
6774 2007-12-01  Dan Williams  <dcbw@redhat.com>
6775
6776         * system-settings/src/main.c
6777                 - (load_connections, add_connection_to_settings): actually export
6778                         plugin-provided connections over D-Bus so NM can get them
6779
6780 2007-12-01  Dan Williams  <dcbw@redhat.com>
6781
6782         * system-settings/plugins/ifcfg/parser.c
6783           system-settings/plugins/ifcfg/parser.h
6784           system-settings/plugins/ifcfg/plugin.c
6785                 - Hook up more inotify bits (untested)
6786
6787 2007-11-29  Dan Williams  <dcbw@redhat.com>
6788
6789         * system-settings/src/nm-system-config-interface.h
6790           system-settings/src/nm-system-config-interface.c
6791                 - (nm_system_config_interface_init,
6792                    nm_system_config_interface_get_connections): add
6793
6794         * system-settings/src/main.c
6795                 - (load_plugins, load_connections, main): use a GSList for plugins
6796                         to ensure priority ordering
6797
6798         * system-settings/plugins/ifcfg/parser.c
6799                 - (ifcfg_error_quark): move to plugin.c, and rename
6800
6801         * system-settings/plugins/ifcfg/plugin.h
6802           system-settings/plugins/ifcfg/plugin.c
6803                 - (ifcfg_plugin_error_quark): move here from parser.c
6804                 - rework connection loading and initialization
6805                 - Add preliminary inotify support for network profile config file
6806
6807 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6808
6809         Merge the beginnings of the new GSM card support.
6810
6811         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6812         ppp watch source before killing pppd - If this happens from g_object_unref()
6813         then the ppp manager is already destroyed by the time the watch callback runs.
6814
6815         * src/nm-hal-manager.c: Add a device_type_name string to the device
6816         creators, so that we can print a nice human readable string when a
6817         device is added.
6818
6819         * src/nm-umts-device.c (automatic_registration_get_network): Query
6820         for the activated network, not much is done with the result thought.
6821
6822         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6823         (ppp_ip4_config): Change the device state to activated here for now.
6824         (real_check_connection): Make sure the connection includes ppp setting.
6825
6826         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6827
6828         * libnm-glib/Makefile.am: Add the new files to build.
6829
6830         * libnm-glib/nm-umts-device.c: 
6831         * libnm-glib/nm-umts-device.h: Implement.
6832
6833 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6834
6835         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6836         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6837
6838         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6839         the timeout source - this function is only called when the timeout source has
6840         been removed.
6841         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6842         to be big enough to contain the terminating zero element as well.
6843         The timeout argument is meant to be in seconds now.
6844         (real_deactivate_quickly): Implement.
6845
6846         * src/NetworkManager.conf: Allow root to own 
6847         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6848
6849         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6850         (not unsigned ints).
6851
6852         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6853         small issue with parity bounds - capital letters have lower ascii codes
6854         than lower case letters.
6855
6856         * libnm-util/nm-connection.c (register_default_settings): Register serial
6857         and umts settings.
6858
6859 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6860
6861         Remove the "index" property from devices as not all device types have this.
6862
6863         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6864
6865         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6866         (wired_device_creator): Get the device interface from hal to create the device.
6867         (wireless_device_creator): Ditto.
6868
6869         * src/nm-device.c (nm_device_init): Remove the index member.
6870         (constructor): Remove the checks for index property, make interface property
6871         a require constructor property.
6872         Use the HAL udi for DBus path for devices.
6873         (nm_device_get_index): Remove.
6874         (set_property): Remove index handling.
6875         (get_property): Ditto.
6876         (nm_device_get_dbus_path): Remove.
6877
6878         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6879         property.
6880
6881         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6882         Access the device index through it's interface.
6883         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6884         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6885         index argument. Add interface argument.
6886
6887         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6888         the useless test_dev argument. Remove index argument. Add interface arugment.
6889
6890         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6891         device index through interface.
6892         (nm_system_set_mtu): Ditto.
6893
6894         * introspection/nm-device.xml: Remove the "Index" property.
6895
6896 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6897
6898         * src/nm-serial-device.c: 
6899         * src/nm-serial-device.c: 
6900         * src/nm-umts-device.c:
6901         * src/nm-umts-device.h: Implement.
6902
6903         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6904         allocated by libhal.
6905         (modem_device_creator): Implement.
6906         (register_built_in_creators): Register the modem creator.
6907
6908         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6909         Remove the unused test_dev argument.
6910
6911         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6912
6913         * src/Makefile.am: Add new files to build.
6914         Link in ppp-manager.
6915
6916         * libnm-util/nm-setting-umts.c: 
6917         * libnm-util/nm-setting-umts.h: 
6918         * libnm-util/nm-setting-serial.c: 
6919         * libnm-util/nm-setting-serial.h: Implement.
6920
6921         * libnm-util/Makefile.am: Add new files to build.
6922
6923 2007-11-28  Dan Williams  <dcbw@redhat.com>
6924
6925         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6926
6927         Support DHCP-provided static routes.
6928
6929         * src/nm-ip4-config.h
6930           src/nm-ip4-config.c
6931                 - Add get/set functions for static routes
6932
6933         * src/dhcp-manager/nm-dhcp-manager.c
6934                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6935                         DHCP response
6936
6937         * src/NetworkManagerSystem.c
6938                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6939                         interface when applying the IP4Config
6940
6941 2007-11-28  Dan Williams  <dcbw@redhat.com>
6942
6943         * src/nm-device-802-11-wireless.c
6944                 - (real_act_stage1_prepare): mark APs created for hidden networks
6945                         as non-broadcasting
6946
6947 2007-11-27  Dan Williams  <dcbw@redhat.com>
6948
6949         * system-settings/src/nm-system-config-interface.h
6950                 - Note how to store secrets on NMSetting objects
6951
6952         * system-settings/src/dbus-settings.c
6953                 - (connection_settings_get_secrets): implement
6954
6955 2007-11-27  Dan Williams  <dcbw@redhat.com>
6956
6957         * system-settings/plugins/ifcfg/Makefile.am
6958           system-settings/plugins/ifcfg/parser.c
6959           system-settings/plugins/ifcfg/parser.h
6960           system-settings/plugins/ifcfg/plugin.c
6961                 - Parse wireless connections too
6962
6963         * system-settings/src/dbus-settings.c
6964           system-settings/src/dbus-settings.h
6965           system-settings/src/main.c
6966                 - Handle connection update/removal if the plugin supports it
6967
6968 2007-11-27  Dan Williams  <dcbw@redhat.com>
6969
6970         * src/nm-dbus-manager.h
6971           src/nm-hal-manager.c
6972                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6973                         do it for them
6974
6975         * src/Makefile.am
6976           src/NetworkManagerDbusUtils.c
6977           src/NetworkManagerDbusUtils.h
6978                 - Remove these two source files; they are unused
6979
6980 2007-11-27  Dan Williams  <dcbw@redhat.com>
6981
6982         * src/vpn-manager/nm-vpn-manager.c
6983                 - (impl_vpn_manager_connect): fix system settings check (found by
6984                         James M. Leddy)
6985
6986 2007-11-26  Dan Williams  <dcbw@redhat.com>
6987
6988         * Fix warnings so everything compiles with --enable-more-warnings
6989
6990 2007-11-25  Dan Williams  <dcbw@redhat.com>
6991
6992         * system-settings/*
6993                 - Rework structure and code to use GModule-loaded plugins and a plugin
6994                         interface that plugins export to the system settings service
6995
6996 2007-11-21  Dan Williams  <dcbw@redhat.com>
6997
6998         * system-settings/*
6999                 - Add Soren's system settings service.  Needs work for distros other
7000                         than Fedora; the backends from NM should mostly migrate to here
7001                         and be converted to GObjects
7002
7003 2007-11-21  Dan Williams  <dcbw@redhat.com>
7004
7005         * libnm-util/nm-setting-vpn-properties.c
7006                 - (set_property): must deep-copy the given settings hash, otherwise
7007                         double-free errors occur when the setting is disposed of
7008
7009 2007-11-21  Dan Williams  <dcbw@redhat.com>
7010
7011         * src/vpn-manager/nm-vpn-act-request.h
7012           src/vpn-manager/nm-vpn-act-request.c
7013                 - Remove; unused
7014
7015 2007-11-20  Dan Williams  <dcbw@redhat.com>
7016
7017         * libnm-util/nm-utils.c
7018                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7019                    nm_utils_convert_ip4_addr_struct_array_to_string,
7020                    nm_utils_register_value_transformations): print out the readable
7021                         values of more types of properties of NMSettings subclasses
7022
7023 2007-11-20  Dan Williams  <dcbw@redhat.com>
7024
7025         * libnm-util/nm-setting-ip4-config.c
7026                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7027                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7028                         marshal GValueArrays inside collections, so switch to types that it
7029                         can actually marshal/demarshal
7030
7031 2007-11-16  Dan Williams  <dcbw@redhat.com>
7032
7033         * libnm-util/nm-setting-wireless-security.c
7034                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7035                         minimal verification of EAP methods too
7036                 - (verify): verify phase1 eap methods too
7037
7038 2007-11-15  Dan Williams  <dcbw@redhat.com>
7039
7040         * libnm-glib/nm-device.h
7041           libnm-glib/nm-device.c
7042                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7043                         const char *
7044
7045 2007-11-15  Dan Williams  <dcbw@redhat.com>
7046
7047         * libnm-glib/nm-device.c
7048                 - (get_product_and_vendor): don't try to free things that should be
7049                         freed
7050
7051 2007-11-15  Dan Williams  <dcbw@redhat.com>
7052
7053         * src/NetworkManagerUtils.c
7054                 - (nm_ethernet_address_is_valid): unbreak previous fix
7055
7056 2007-11-15  Dan Williams  <dcbw@redhat.com>
7057
7058         * src/supplicant-manager/nm-supplicant-config.c
7059                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7060                         options
7061
7062 2007-11-15  Dan Williams  <dcbw@redhat.com>
7063
7064         * src/NetworkManagerUtils.c
7065                 - (nm_ethernet_address_is_valid): fix style, clarify
7066                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7067
7068         * src/nm-device-802-11-wireless.c
7069                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7070                 - (nm_device_802_11_wireless_get_ssid,
7071                    nm_device_802_11_wireless_get_bssid,
7072                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7073                         before calling the ioctl; fixes valgrind-reported jump depends on
7074                         uninitialized value errors
7075
7076 2007-11-15  Dan Williams  <dcbw@redhat.com>
7077
7078         * libnm-util/nm-setting.c
7079                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7080                         unecessary to serialize 'name'
7081
7082         * src/nm-activation-request.c
7083                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7084                         the GetSecrets call
7085
7086 2007-11-15  Dan Williams  <dcbw@redhat.com>
7087
7088         * libnm-util/nm-setting-connection.h
7089           libnm-util/nm-setting-connection.c
7090                 - Rename the 'name' property to 'id', because it conflicted with the
7091                         NMSetting superclass' 'name' property.
7092
7093         * libnm-util/nm-setting.c
7094                 - (nm_setting_to_hash): serialize the 'name' property
7095                 - (one_property_cb): ignore 'name' on deserialization of a connection
7096
7097         * src/nm-device-802-11-wireless.c
7098           src/vpn-manager/nm-vpn-connection.c
7099           src/NetworkManagerPolicy.c
7100                 - Fix up for NMSettingConnection 'name'->'id' changes
7101
7102 2007-11-13  Dan Williams  <dcbw@redhat.com>
7103
7104         * libnm-glib/nm-device-802-11-wireless.h
7105           libnm-glib/nm-device-802-11-wireless.c
7106                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7107
7108         * test/nm-tool.c
7109           libnm-glib/libnm-glib-test.c
7110                 - Fixes for above change
7111
7112 2007-11-12  Dan Williams  <dcbw@redhat.com>
7113
7114         * src/supplicant-manager/nm-supplicant-settings-verify.c
7115                 - Allow fragment_size option
7116
7117         * src/supplicant-manager/nm-supplicant-settings-verify.c
7118                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7119                         EAP fragment size than the default to help some TLS connections
7120
7121 2007-11-12  Dan Williams  <dcbw@redhat.com>
7122
7123         Make certs actually work.  The private key is now a secret, and should be
7124         decrypted when requested by NM.  The private key and phase2 private key
7125         passwords are no longer interesting to NM because they should be used by
7126         the settings service to decrypt the private key itself before passing it
7127         to NM, and hence have been removed as fields.
7128
7129         * libnm-util/nm-setting-wireless-security.h
7130           libnm-util/nm-setting-wireless-security.c
7131                 - Remove private-key-passwd and phase2-private-key-passwd from
7132                         properties
7133                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7134                    need_secrets): use property #defines instead strings to keep things
7135                         consistent
7136                 - (need_secrets_tls): if a client certificate is present but no
7137                         private key, request the private key
7138                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7139                         remove private key password stuff, mark private keys as secret
7140
7141         * src/supplicant-manager/nm-supplicant-settings-verify.c
7142                 - Remove private_key_passwd and private_key2_passwd from opt_table
7143
7144 2007-11-09  Dan Williams  <dcbw@redhat.com>
7145
7146         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7147         Since the vpn-properties are managed and known by the VPN daemons themselves,
7148         libnm-util doesn't know what's secret and what's in the setting's 'data'
7149         member.
7150
7151         * libnm-util/nm-setting.h
7152           libnm-util/nm-setting.c
7153                 - Add the ability for subclasses to override update_one_secret
7154
7155         * libnm-util/nm-setting-vpn-properties.c
7156                 - Override update_one_secret and just copy the values into the
7157                         internal table
7158
7159 2007-11-09  Dan Williams  <dcbw@redhat.com>
7160
7161         * libnm-glib/nm-settings.h
7162           libnm-glib/nm-settings.c
7163                 - (nm_settings_new_error): remove
7164                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7165                         clients should use g_set_error() with NM_SETTINGS_ERROR
7166
7167 2007-11-09  Dan Williams  <dcbw@redhat.com>
7168
7169         * src/supplicant-manager/nm-supplicant-config.c
7170                 - (nm_supplicant_config_add_setting_wireless_security): private key
7171                         passwords are never sent to wpa_supplicant, because the supplicant
7172                         should never be reading random files from the disk.  Clients like
7173                         the applet are required to decrypt the private keys and send NM
7174                         the decrypted blobs.
7175
7176 2007-11-08  Dan Williams  <dcbw@redhat.com>
7177
7178         * libnm-util/nm-setting-wireless-security.h
7179           libnm-util/nm-setting-wireless-security.c
7180                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7181                         members to 802-11-wireless-security structure.  This should be used
7182                         to indicate that the values in private-key and phase2-private-key
7183                         are already decrypted by the user agent, and that no
7184                         private-key-passwd or phase2-private-key-passwd should be expected.
7185                         It is not meant to be a stored configuration value, but meant to
7186                         be set when the conneciton is sent to NM over dbus.
7187
7188 2007-11-08  Dan Williams  <dcbw@redhat.com>
7189
7190         * libnm-util/nm-connection.h
7191           libnm-util/nm-connection.c
7192                 - (nm_connection_need_secrets): add argument to return hints
7193
7194         * src/nm-device-802-11-wireless.c
7195                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7196                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7197                         nm_connection_need_secrets() change
7198
7199 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7200
7201         Rework NMSetting structures: Move each setting to it's own file.
7202         Convert to GObject. Remove home grown setting types and use GTypes.
7203         Use GObject property introspection for hash conversion, enumerating
7204         properties, etc.
7205
7206         * libnm-util/nm-setting-connection.[ch]
7207         * libnm-util/nm-setting-ip4-config.[ch]
7208         * libnm-util/nm-setting-ppp.[ch]
7209         * libnm-util/nm-setting-vpn.[ch]
7210         * libnm-util/nm-setting-vpn-properties.[ch]
7211         * libnm-util/nm-setting-wired.[ch]
7212         * libnm-util/nm-setting-wireless.[ch]
7213         * libnm-util/nm-setting-wireless-security.[ch]
7214
7215         New files, each containing a setting.
7216
7217         * libnm-util/nm-setting-template.[ch]: A template for creating new
7218         settings. To use it, just replace 'template' with the new setting
7219         name, and you're half-way done.
7220
7221         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7222         introspection instead of internal types and tables.
7223
7224         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7225
7226         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7227         GValue types defined by dbus-glib for composed types like collections,
7228         structures and maps.
7229
7230         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7231         a setting from connection takes the setting type now. Also, since
7232         the settings are in multiple files, include relevant settings.
7233
7234 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7235
7236         * configure.in:
7237         * src/backends/NetworkManagerGentoo.c:
7238         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7239         providers in Gentoo.
7240
7241 2007-10-31  Dan Williams  <dcbw@redhat.com>
7242
7243         * libnm-util/nm-connection.c
7244                 - (gvalue_to_string): handle UINT32 arrays
7245
7246 2007-10-31  Dan Williams  <dcbw@redhat.com>
7247
7248         * libnm-glib/nm-device.h
7249           libnm-glib/nm-device.c
7250                 - (nm_device_get_description): remove
7251                 - (nm_device_get_product, nm_device_get_vendor): add
7252                 - (nm_device_update_description): new function (private); walk HAL
7253                         devices to get product and vendor IDs for a specific device
7254
7255 2007-10-31  Dan Williams  <dcbw@redhat.com>
7256
7257         * src/nm-device-802-11-wireless.c
7258                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7259
7260 2007-10-29  Dan Williams  <dcbw@redhat.com>
7261
7262         * src/nm-hal-manager.c
7263                 - (device_added, device_new_capability): ignore device additions while
7264                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7265                         kernel module is unloaded and reloaded and recognized by NM again.
7266
7267 2007-10-26  Dan Williams  <dcbw@redhat.com>
7268
7269         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7270
7271         * src/NetworkManagerAP.c
7272           src/NetworkManagerAP.h
7273           libnm-glib/nm-access-point.c
7274           libnm-glib/nm-access-point.h
7275                 - Make 'rate' property a guint32 to better match with WEXT and
7276                         wpa_supplicant and to allow representation of higher bitrates
7277
7278         * src/nm-device-802-11-wireless.c
7279           introspection/nm-device-802-11-wireless.xml
7280           libnm-glib/nm-device-802-11-wireless.c
7281           libnm-glib/nm-device-802-11-wireless.h
7282                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7283
7284         * src/nm-device-802-3-ethernet.c
7285           src/nm-device-802-3-ethernet.h
7286           introspection/nm-device-802-3-ethernet.xml
7287           libnm-glib/nm-device-802-3-ethernet.c
7288           libnm-glib/nm-device-802-3-ethernet.h
7289                 - Make 'speed' property a guint32 to match other speed/rate types
7290                 - Make nm_device_802_3_ethernet_get_speed() static
7291
7292         * test/nm-tool.c
7293                 - Update for the changes above
7294
7295 2007-10-26  Dan Williams  <dcbw@redhat.com>
7296
7297         * src/named-manager/nm-named-manager.c
7298                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7299                     not calling fclose() twice on some error conditions
7300
7301 2007-10-26  Dan Williams  <dcbw@redhat.com>
7302
7303         * src/nm-activation-request.c
7304                 - (dispose): clean up indentation; get the right DBusGProxy object to
7305                         cancel the GetSecrets pending call on.  Need to use the Secrets
7306                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7307                         pending call doesn't get canceled, and pressing Cancel in the
7308                         applet's password dialog could cause get_secrets_cb() to be called
7309                         after the activation request has already been destroyed
7310
7311 2007-10-24  Dan Williams  <dcbw@redhat.com>
7312
7313         * src/supplicant-manager/nm-supplicant-config.c
7314                 - (nm_supplicant_config_add_blob): pass blob data and length for
7315                         verification
7316                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7317
7318 2007-10-24  Dan Williams  <dcbw@redhat.com>
7319
7320         * src/supplicant-manager/nm-supplicant-settings-verify.c
7321                 - (opt_table): max length for certificates should be 65536
7322
7323 2007-10-24  Dan Williams  <dcbw@redhat.com>
7324
7325         * src/supplicant-manager/nm-supplicant-interface.c
7326                 - (blob_free): correctly free blob data after use
7327                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7328
7329 2007-10-24  Dan Williams  <dcbw@redhat.com>
7330
7331         * libnm-util/nm-setting.c
7332                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7333                         EAP method need secrets
7334
7335 2007-10-24  Dan Williams  <dcbw@redhat.com>
7336
7337         * src/backends/NetworkManagerRedHat.c
7338                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7339
7340 2007-10-23  Dan Williams  <dcbw@redhat.com>
7341
7342         * libnm-util/nm-setting.c
7343           libnm-util/nm-setting.c
7344                 - (nm_setting_compare): implement
7345                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7346                    compare_one_hash_gvalue): compare the contents of a setting
7347
7348         * libnm-util/nm-connection.c
7349                 - (nm_connection_compare): implement
7350
7351 2007-10-23  Dan Williams  <dcbw@redhat.com>
7352
7353         * src/nm-activation-request.c
7354                 - (get_secrets_cb): handle getting a setting back that is more than
7355                         just secrets (ie, user changed auth or EAP method or something)
7356
7357 2007-10-23  Dan Williams  <dcbw@redhat.com>
7358
7359         * libnm-util/nm-setting.c
7360           libnm-util/nm-setting.h
7361                 - (nm_setting_verify): new function; verify one setting
7362                 - (nm_settings_verify_all): rename from nm_settings_verify()
7363                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7364                         all_settings
7365
7366         * libnm-util/nm-connection.c
7367                 - (nm_connection_replace_settings, nm_connection_verify,
7368                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7369
7370 2007-10-23  Dan Williams  <dcbw@redhat.com>
7371
7372         * src/nm-device-802-11-wireless.c
7373                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7374                         desired behavior
7375
7376 2007-10-23  Dan Williams  <dcbw@redhat.com>
7377
7378         * src/supplicant-manager/nm-supplicant-settings-verify.c
7379                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7380                         nm-settings.c
7381
7382 2007-10-23  Dan Williams  <dcbw@redhat.com>
7383
7384         * src/nm-device-802-11-wireless.c
7385                 - (real_act_stage2_config): after the first association failure,
7386                         if the connection still needs secrets ask the user for them
7387                         explicitly.  After the fourth association failure due to bad
7388                         secrets, fail the connection entirely.  Handles the GetSecrets
7389                         loop that NM gets into when the provided secrets don't match up
7390                         with the connection details.
7391
7392 2007-10-23  Dan Williams  <dcbw@redhat.com>
7393
7394         * src/supplicant-manager/nm-supplicant-config.c
7395                 - (nm_supplicant_config_add_setting_wireless_security): only add
7396                         WPA-specific options when WPA is in use
7397
7398 2007-10-23  Dan Williams  <dcbw@redhat.com>
7399
7400         * src/supplicant-manager/nm-supplicant-config.c
7401                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7402                         secret doesn't need to be unhexified
7403
7404 2007-10-23  Dan Williams  <dcbw@redhat.com>
7405
7406         * libnm-util/nm-setting.c
7407                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7408                         before trying to do something with it
7409
7410 2007-10-23  Dan Williams  <dcbw@redhat.com>
7411
7412         * src/nm-device-802-11-wireless.c
7413                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7414
7415 2007-10-23  Dan Williams  <dcbw@redhat.com>
7416
7417         * src/nm-device-802-11-wireless.c
7418                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7419                         non-SSID-broadcasting APs
7420
7421 2007-10-23  Dan Williams  <dcbw@redhat.com>
7422
7423         * src/NetworkManagerAP.c
7424                 - (match_cipher, security_compatible): remove
7425                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7426                         libnm-util instead
7427
7428 2007-10-23  Dan Williams  <dcbw@redhat.com>
7429
7430         * libnm-util/nm-utils.c
7431           libnm-util/nm-utils.h
7432                 - (nm_utils_ap_security_compatible): common function for checking
7433                         whether a specific AP is compatible with an NMConnection
7434
7435 2007-10-23  Dan Williams  <dcbw@redhat.com>
7436
7437         * libnm-util/nm-setting.c
7438                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7439                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7440                    need_secrets_password, setting_wireless_security_verify): fix
7441                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7442                         secrets logic for each supported EAP method
7443
7444 2007-10-23  Dan Williams  <dcbw@redhat.com>
7445
7446         * src/supplicant-manager/nm-supplicant-config.c
7447                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7448                         config option name, should be "private_key2_passwd"
7449
7450 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7451
7452         Implement support for static IP addresses, additional/overridden DNS and
7453         DNS domain search lists.
7454
7455         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7456         (ip4_addresses_to_gvalue): Implement.
7457         (convert_array_to_byte_array): Implement.
7458         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7459         NM_S_TYPE_IP4_ADDRESSES.
7460         (nm_setting_hash): Ditto.
7461         (default_setting_clear_secrets): Add a default case for the switch: IP address
7462         shouldn't be secret, ever.
7463         (setting_ip4_config_verify): Update, requires addresses in case of manual
7464         configurations.
7465         (setting_ip4_config_destroy): Free stuff.
7466
7467         * src/nm-device.c (merge_ip4_config): Implement.
7468         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7469
7470 2007-10-22  Dan Williams  <dcbw@redhat.com>
7471
7472         * libnm-util/nm-setting.c
7473                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7474                         pairwise cipher options for Dynamic WEP
7475
7476 2007-10-21  Dan Williams  <dcbw@redhat.com>
7477
7478         * src/NetworkManagerAP.c
7479           src/NetworkManagerAP.h
7480                 - Rename 'articifical' -> 'fake' since that's what they are until
7481                         noticed in scans
7482                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7483                         from the attributes in an NMConnection object
7484                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7485                         WPA Enterprise
7486                 - (nm_ap_match_in_list): find a matching AP in a scan list
7487
7488         * src/nm-device-802-11-wireless.c
7489                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7490                         AP when searching the scan list; match on frequency and mode too
7491                 - (nm_device_802_11_wireless_get_frequency): implement
7492                 - (merge_scanned_ap): replace duplicate matching logic with
7493                         nm_ap_match_in_list()
7494                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7495                         the user is trying to connect to a hidden network that is not yet
7496                         known from the scan list
7497                 - (activation_success_handler): now that the card knows the AP's BSSID,
7498                         there may already be a scanned AP in the scan list that is what
7499                         we really wanted to connect to, but didn't know at the time.  Use
7500                         that instead of the 'fake' AP created at activation start and get
7501                         rid of the 'fake' AP 
7502                 - (cull_scan_list): don't remove fake APs
7503
7504 2007-10-21  Dan Williams  <dcbw@redhat.com>
7505
7506         * src/nm-activation-request.h
7507           src/nm-activation-request.c
7508                 - (nm_act_request_set_specific_object): new function; allow setting the
7509                         specific object if one isn't set yet
7510
7511 2007-10-20  Dan Williams  <dcbw@redhat.com>
7512
7513         * src/supplicant-manager/nm-supplicant-config.h
7514           src/supplicant-manager/nm-supplicant-config.c
7515                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7516                         table to store blobs
7517                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7518                         blob hash table
7519                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7520                 - (nm_supplicant_config_add_setting_wireless_security): handle
7521                         options that use certificates (ie, blobs)
7522
7523         * src/nm-device-802-11-wireless.c
7524                 - (build_supplicant_config): pass a UID (just use the connection path)
7525                         to the supplicant config as now required
7526
7527         * src/supplicant-manager/nm-supplicant-interface.c
7528                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7529                         there are any blobs to send to wpa_supplicant, send those first
7530                         before sending the network configuration
7531
7532 2007-10-19  Dan Williams  <dcbw@redhat.com>
7533
7534         Split the GetSecrets() call off to a separate D-Bus interface so that it
7535         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7536         should be able to call GetSecrets().
7537
7538         * include/NetworkManager.h
7539                 - Define the connection secrets D-Bus interface
7540
7541         * src/vpn-manager/nm-vpn-connection.c
7542                 - (clear_need_auth): get the right proxy object for the connection
7543                         secrets interface
7544                 - (get_connection_secrets): use the connection secrets proxy; send
7545                         empty hints in get secrets request
7546
7547         * src/nm-activation-request.c
7548                 - (nm_act_request_request_connection_secrets): use the connection
7549                         secrets proxy; send empty hints in get secrets request
7550
7551         * src/nm-manager.c
7552           src/nm-manager.h
7553                 - (connection_get_settings_cb): set the connection secrets proxy on
7554                         the connection object too
7555                 - (internal_new_connection_cb): create the connection secrets proxy
7556
7557         * introspection/nm-settings-connection.xml
7558                 - Define Connection.Secrets interface and move GetSecrets there
7559                 - Add a 'hints' argument to GetSecrets
7560
7561         * libnm-glib/nm-settings.c
7562           libnm-glib/nm-settings.h
7563                 - (impl_connection_settings_get_secrets): add 'hints' argument
7564
7565 2007-10-19  Dan Williams  <dcbw@redhat.com>
7566
7567         * src/nm-device.c
7568                 - (constructor): add message about what path a device is exported as
7569                         to help in debugging rh #339011
7570
7571 2007-10-17  Dan Williams  <dcbw@redhat.com>
7572
7573         * libnm-util/nm-utils.h
7574           libnm-util/nm-utils.c
7575                 - (nm_utils_security_valid): common function to help find the intersection
7576                         of capabilities of devices and (optionally) access points
7577
7578 2007-10-17  Dan Williams  <dcbw@redhat.com>
7579
7580         * src/nm-device-802-11-wireless.c
7581                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7582                         don't get erroneously cleared
7583
7584 2007-10-17  Dan Williams  <dcbw@redhat.com>
7585
7586         * src/nm-manager.h
7587           src/nm-manager.c
7588           src/nm-hal-manager.c
7589                 - (device_removed, finalize, nm_manager_remove_device,
7590                    nm_manager_sleep): add a 'deactivate' argument to 
7591                    nm_manager_remove_device() to fully deactivate devices when necessary
7592                    (ie, always except when waking up)
7593
7594 2007-10-16  Dan Williams  <dcbw@redhat.com>
7595
7596         * libnm-util/nm-setting.c
7597                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7598                         also isn't valid phase2 autheap method
7599
7600 2007-10-16  Dan Williams  <dcbw@redhat.com>
7601
7602         * libnm-glib/nm-client.c
7603                 - (update_wireless_status): consolidate updates of wireless status
7604                 - (constructor): use update_wireless_status()
7605                 - (manager_running): set wireless status off when NM goes away; requery
7606                         the wireless status when NM comes back
7607
7608 2007-10-16  Dan Williams  <dcbw@redhat.com>
7609
7610         * libnm-glib/nm-client.c
7611                 - (nm_client_activate_device): actually use the fixed-up specific
7612                         object path
7613
7614 2007-10-16  Dan Williams  <dcbw@redhat.com>
7615
7616         * src/nm-hal-manager.c
7617                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7618                         killswitch error messages once
7619
7620 2007-10-16  Dan Williams  <dcbw@redhat.com>
7621
7622         * src/nm-manager.c
7623                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7624                         if it's disabled in hardware; don't touch network devices while
7625                         NM is asleep
7626
7627 2007-10-16  Dan Williams  <dcbw@redhat.com>
7628
7629         * libnm-util/nm-client.c
7630                 - (nm_client_activate_device): convert NULL specific_object to "/",
7631                         which is used in place of NULL
7632
7633         * src/nm-manager.c
7634                 - (impl_manager_activate_device): convert "/" specific_object back into
7635                         NULL
7636
7637 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7638
7639         Implement a generic NMSetting creator from setting name.
7640         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7641         add a virtual function 'populate_fn'.
7642
7643         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7644         (register_default_creators): Register setting creators instead of functions
7645         that create and then populate.
7646         (parse_one_setting): Use the common setting creator and then setting specific
7647         poplulation function.
7648
7649         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7650         they all looked exactly the same.
7651         Add a 'populate_fn' virtual function to NMSetting.
7652         Use default virtual functions in case they are not overriden.
7653         (nm_setting_populate_from_hash): Implement.
7654
7655         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7656         name, use a defined string.
7657         (real_act_stage4_get_ip4_config): Ditto.
7658
7659 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7660
7661         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7662         HAL is int, not uint.
7663
7664 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7665
7666         Implement killswitch polling through HAL.
7667
7668         * src/nm-manager.c: Add wireless hardware status property. Add 
7669         'properties-changed' signal for changes in wireless and wireless hardware
7670         state changes.
7671
7672         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7673         and update NMManager's wireless hardware state when it has changed.
7674         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7675         already does that.
7676
7677         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7678         values of wireless state and wireless hardware state. Listen for the
7679         'properties-changed' signals, update the cached values and emit notify.
7680
7681         * include/NetworkManager.h: Fix a typo in a comment.
7682
7683 2007-10-14  Dan Williams  <dcbw@redhat.com>
7684
7685         * libnm-util/nm-setting.c
7686                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7687
7688 2007-10-13  Dan Williams  <dcbw@redhat.com>
7689
7690         * libnm-util/nm-setting.h
7691           libnm-util/nm-setting.c
7692           src/supplicant-manager/nm-supplicant-config.c
7693                 - Make the 'proto' field of the 802-11-wireless-security field a
7694                         string list
7695
7696 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7697
7698         Rework the "properties-changed" signal listening implementation.
7699         Add a generic implementation to NMObject class that listens for
7700         the signal and calls property setters of the target NMObject.
7701
7702         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7703
7704         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7705         code to the end of file so that all the static functions are available
7706         without extra declarations.
7707         Remove the "properties-changed" signal handling and use the framework from
7708         NMObject.
7709         Implement property setters for properties that change with 
7710         "properties-changed" signal.
7711
7712         * libnm-glib/nm-access-point.c: Ditto.
7713
7714 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7715
7716         Rework the "properties-changed" signal implementation.
7717         In classes that need to use it, just emit "GObject::notify" and the new
7718         framework takes care of the rest to make the signal available on dbus.
7719         The framework queues the notifications and tries to send as many together
7720         in one signal as possible.
7721
7722         * src/nm-properties-changed-signal.c:
7723         * src/nm-properties-changed-signal.h: Implement.
7724
7725         * src/Makefile.am: Add new files to build.
7726
7727         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7728         signal.
7729
7730         * src/nm-device-802-11-wireless.c: Ditto.
7731
7732 2007-10-10  Dan Williams  <dcbw@redhat.com>
7733
7734         * src/nm-manager.c
7735                 - (wait_for_connection_expired): ensure info is valid
7736                 - (connection_added_default_handler): Should only remove pending
7737                         connection info when the manager has the connection that it's
7738                         waiting for.  Fixes segfault in wait_for_connection_info().  
7739
7740 2007-10-10  Dan Williams  <dcbw@redhat.com>
7741
7742         * libnm-util/nm-setting.c
7743           libnm-util/nm-setting.h
7744                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7745                         can use if they choose.  Should be filled in by the settings service
7746                         on-the-fly with the currently logged in user's username
7747
7748 2007-10-10  Dan Williams  <dcbw@redhat.com>
7749
7750         * src/nm-device-802-11-wireless.c
7751                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7752                         as such, because even if the manager fills in the SSID, NM still
7753                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7754                         its SSID
7755
7756 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7757
7758         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7759         code that used NM's own version of dbus signal handling and custom dictionary
7760         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7761         and we get to maintain over 2000 lines less code.
7762
7763         * libnm-util/dbus-dict-helpers.c:
7764         * libnm-util/dbus-dict-helpers.h: Remove.
7765
7766         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7767
7768         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7769
7770         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7771         handlers.
7772
7773         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7774
7775         * configure.in: Remove test/libnm-util/Makefile creation.
7776
7777         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7778
7779         * test/libnm-util/: Remove the whole directory.
7780
7781 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7782
7783         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7784         device_state_changed_idle_id variable or it would contain some random value and the
7785         schedule_change_check calls would not do anything.
7786
7787 2007-10-09  Dan Williams  <dcbw@redhat.com>
7788
7789         * src/nm-device-802-11-wireless.c
7790                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7791                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7792                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7793                         merging of non-SSID-broadcasting APs
7794
7795 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7796
7797         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7798         "guint8 *" since it's usually used with GByteArray->data.
7799         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7800
7801 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7802
7803         * src/NetworkManagerUtils.c
7804         (nm_utils_is_empty_ssid):
7805         (nm_utils_escape_ssid):
7806         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7807         lot of places, so they belong to libnm-utils instead.
7808
7809         Now with 100% less compiler warnings:
7810
7811         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7812         (nm_dbus_unescape_object_path): Ditto.
7813         (nm_utils_ssid_to_utf8): Ditto.
7814         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7815         (nm_utils_escape_ssid): Ditto.
7816         (nm_utils_same_ssid): Ditto.
7817
7818         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7819         (add_one_connection_element): Remove an unused variable.
7820         (impl_manager_get_active_connections): Ditto.
7821
7822         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7823         variable.
7824
7825         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7826         from the previous commit.
7827
7828         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7829         (real_act_stage1_prepare): Ditto.
7830         (activation_success_handler): Ditto.
7831         (get_property): Ditto.
7832
7833         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7834         variable.
7835
7836         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7837         it's always set.
7838
7839         * src/supplicant-manager/nm-supplicant-config.c 
7840         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7841         to expected "char *".
7842         (nm_supplicant_config_add_setting_wireless): Ditto.
7843         (nm_supplicant_config_remove_option): Remove, not used.
7844
7845         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7846         not double.
7847         (test_wireless_enabled): Ifdef out unused function.
7848         (device_deactivate): Ditto.
7849         (device_state_changed): Ditto.
7850         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7851         (nm_utils_escape_ssid): Ditto.
7852
7853         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7854         (nm_utils_is_empty_ssid): Ditto.
7855
7856         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7857         unused variable.
7858
7859         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7860         (setting_vpn_properties_update_secrets): Ditto.
7861         (int_to_gvalue): Ifdef out for now, not used.
7862         (byte_to_gvalue): Ditto.
7863
7864         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7865         Unused, remove.
7866
7867 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7868
7869         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7870         about dbus manager, not named manager.
7871         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7872
7873         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7874         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7875         However, the same signal is emitted when we destroy it and there's 
7876         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7877
7878         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7879         releasing the DBusGConnection, since proxy needs a conneciton.
7880         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7881
7882 2007-10-08  Dan Williams  <dcbw@redhat.com>
7883
7884         * src/NetworkManager.c
7885                 - (main): error on unknown command-line options
7886
7887 2007-10-08  Dan Williams  <dcbw@redhat.com>
7888
7889         Reimplement the invalid connection list.  Don't try to re-activate a
7890         connection that just failed or was canceled.
7891
7892         * src/nm-device.c
7893                 - (connection_secrets_failed_cb): fail device activation, don't just
7894                         deactivate the device.  Listeners have to know about the failure.
7895
7896         * src/NetworkManagerPolicy.c
7897                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7898                         the connection list given to a device's get_best_connection()
7899                         method
7900                 - (device_state_changed): tag failed connections as invalid; clear the
7901                         tag from successful connections
7902
7903 2007-10-08  Dan Williams  <dcbw@redhat.com>
7904
7905         Fix problems with interrupted activation.  Previously, choosing an AP
7906         from the menu, then choosing another one before the first connection was
7907         successful wouldn't deactivate the device before starting the new connection
7908         on that same device.
7909
7910         * src/NetworkManagerPolicy.c
7911                 - (deactivate_old_device, device_state_changed, state_changed,
7912                    nm_policy_new): wrong place to deactivate old devices
7913
7914         * src/nm-manager.c
7915                 - (pending_connection_info_destroy, finalize,
7916                    wait_for_connection_expired): decouple destruction of the pending
7917                         connection info from the manager device
7918                 - (connection_added_default_handler): deactivate any active or
7919                         activating device before starting a new activation
7920                 - (impl_manager_activate_device): deactivate any active or activating
7921                         device before starting a new activation; be sure not to leak
7922                         pending connection info if a new activation request arrives but
7923                         there's already a pending one in-process
7924
7925 2007-10-08  Dan Williams  <dcbw@redhat.com>
7926
7927         * src/NetworkManagerAP.h
7928           src/NetworkManagerAP.c
7929                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7930                         should handle default SSIDs and whether or not to autoconnect
7931                         to them
7932
7933 2007-10-08  Dan Williams  <dcbw@redhat.com>
7934
7935         * src/NetworkManagerPolicy.c
7936                 - (nm_policy_device_change_check): print out connection name where
7937                         possible
7938
7939 2007-10-08  Dan Williams  <dcbw@redhat.com>
7940
7941         * src/nm-device-802-11-wireless.c
7942           src/nm-device-802-11-wireless.h
7943                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7944                         'hidden-ap-found' signal (for internal use only) that allows the
7945                         NMManager to fill in the AP's SSID if a connection has that AP's
7946                         BSSID in its seen-bssids list
7947
7948         * src/nm-manager.c
7949                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7950                         wireless device's hidden-ap-found signal and fill in the APs SSID
7951                         if possible
7952
7953 2007-10-07  Dan Williams  <dcbw@redhat.com>
7954
7955         * src/nm-manager.c
7956           src/nm-manager.h
7957                 - Add a 'connections-added' signal to batch together updates of large
7958                         numbers of connections, like when reading from a settings service
7959                         the first time.  Otherwise, the policy would just activate the first
7960                         suitable connection it saw rather than waiting for the full list
7961                         to arrive.
7962                 - (nm_manager_class_init): register new signal
7963                 - (get_type_for_proxy, connection_get_settings_cb,
7964                    get_connection_for_proxy): centralize places where a proxy's setting
7965                         service is determined
7966                 - (free_get_settings_info): if the call being freed is the last call
7967                         in a pending call group, fire off the connections-added signal
7968                 - (internal_new_connection_cb): add call to a pending call group if
7969                         requested
7970                 - (list_connections_cb): always create a call group here, because this
7971                         call results in a batch of new connections
7972                 - (initial_get_connections): start getting system connections first
7973                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7974                         removed signal when destroying connections
7975
7976         * src/NetworkManagerPolicy.c
7977                 - (nm_policy_new, connections_added): handle connections-added signal
7978                         from the manager
7979
7980 2007-10-06  Dan Williams  <dcbw@redhat.com>
7981
7982         * src/nm-device-802-11-wireless.c
7983                 - (constructor): fix leaked socket
7984
7985 2007-10-06  Dan Williams  <dcbw@redhat.com>
7986
7987         * src/NetworkManagerPolicy.c
7988                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7989                         connection in the list returned by nm_manager_get_connections() is
7990                         reffed, but they weren't getting unreffed before returning
7991
7992 2007-10-06  Dan Williams  <dcbw@redhat.com>
7993
7994         * src/nm-manager.c
7995                 - (connections_to_slist): sort connections first on autoconnect, then
7996                         on timestamp
7997
7998 2007-10-06  Dan Williams  <dcbw@redhat.com>
7999
8000         * libnm-util/nm-connection.c
8001                 - (gvalue_to_string): handle UINT64
8002
8003 2007-10-06  Dan Williams  <dcbw@redhat.com>
8004
8005         * src/NetworkManagerPolicy.c
8006                 - (connection_updated, nm_policy_new): recheck state when a connection
8007                         gets updated
8008
8009 2007-10-06  Dan Williams  <dcbw@redhat.com>
8010
8011         * src/nm-manager.c
8012           src/nm-manager.h
8013                 - (nm_manager_get_connection_dbus_path): make static
8014                 - (nm_manager_update_connections): remove; unused
8015                 - Add a connection-updated signal
8016                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8017                         handle connection object updates
8018
8019 2007-10-06  Dan Williams  <dcbw@redhat.com>
8020
8021         * src/NetworkManagerPolicy.c
8022                 - (connection_removed): deactivate removed connections
8023
8024 2007-10-06  Dan Williams  <dcbw@redhat.com>
8025
8026         * libnm-util/nm-connection.c
8027           libnm-util/nm-connection.h
8028                 - (nm_connection_replace_settings): new function
8029
8030 2007-10-06  Dan Williams  <dcbw@redhat.com>
8031
8032         * libnm-glib/nm-device-802-11-wireless.c
8033                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8034                         on error when getting the active access point over D-Bus from NM
8035
8036 2007-10-05  Dan Williams  <dcbw@redhat.com>
8037
8038         * libnm-util/nm-setting.c
8039                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8040                         to the NMSettingWireless table; it's now a string array not an array
8041                         of byte arrays
8042
8043 2007-10-05  Dan Williams  <dcbw@redhat.com>
8044
8045         * libnm-glib/nm-device-802-11-wireless.c
8046                 - Cache properties and update cached properties on D-Bus signals from NM
8047
8048 2007-10-05  Dan Williams  <dcbw@redhat.com>
8049
8050         * src/nm-device-802-11-wireless.c
8051                 - (set_current_ap): consolidate current_ap handling code into one place
8052                         to ensure that PropertiesChanged signals are emitted in all cases
8053                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8054                    nm_device_802_11_wireless_dispose): use set_current_ap()
8055
8056 2007-10-05  Dan Williams  <dcbw@redhat.com>
8057
8058         * libnm-glib/nm-access-point.c
8059           libnm-glib/nm-access-point.h
8060                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8061                         because the value is cached internally now.  Callers should not
8062                         free the internal value.
8063                 - Make signal name defines private
8064
8065         * test/nm-tool.c
8066           libnm-glib/libnm-glib-test.c
8067                 - Don't free value returned from nm_access_point_get_hw_address()
8068
8069 2007-10-04  Dan Williams  <dcbw@redhat.com>
8070
8071         * introspection/nm-device-802-11-wireless.xml
8072           src/nm-device-802-11-wireless.h
8073           src/nm-device-802-11-wireless.c
8074                 - Add a PropertiesChanged signal for wireless device
8075                 - Store currently associated access point
8076                 - (periodic_update): generalize; update rate here too and emit the
8077                         correct PropertiesChanged signal when stuff changes
8078                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8079                    real_activation_cancel_handler): clear current_ap when device is
8080                         deactivated
8081                 - (link_to_specific_ap, get_ap_blacklisted,
8082                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8083                         code
8084                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8085                         outside this file
8086                 - (real_set_hw_address): emit property changed signal if the card's
8087                         MAC address changes
8088                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8089                         the card is supposed to be connecting to
8090                 - (activation_success_handler): send out property updates on successful
8091                         activation
8092                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8093                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8094                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8095                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8096                         is now boxed; add PropertiesChanged signal
8097
8098 2007-10-04  Dan Williams  <dcbw@redhat.com>
8099
8100         * libnm-util/nm-connection.c
8101           libnm-util/nm-connection.h
8102                 - (nm_connection_verify): new function
8103
8104 2007-10-04  Dan Williams  <dcbw@redhat.com>
8105
8106         * libnm-util/nm-setting.c
8107                 - (nm_settings_verify): use #defines when possible rather than strings
8108                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8109                 - (setting_vpn_verify): tighter validity check on 'service_type'
8110
8111 2007-10-04  Dan Williams  <dcbw@redhat.com>
8112
8113         * libnm-glib/nm-settings.c
8114                 - (nm_connection_settings_class_init): provide correct type for argument
8115                         to the Updated signal so that dbus-glib knows how to marshal it
8116
8117 2007-10-03  Dan Williams  <dcbw@redhat.com>
8118
8119         * src/nm-device-802-3-ethernet.c
8120                 - (real_get_best_connection): don't create automatic connections
8121                         internally; clients should provide a setting that applies to
8122                         the device with 'autoconnect: True'.  Problem was that these
8123                         internally auto-created connections don't have a proxy or service
8124                         name becuase they weren't created by a settings daemon, and therefore
8125                         clients have no idea what to do with them.
8126
8127 2007-10-03  Dan Williams  <dcbw@redhat.com>
8128
8129         * src/nm-device-802-11-wireless.c
8130           src/nm-device-802-11-wireless.h
8131           introspection/nm-device-802-11-wireless.xml
8132                 - GetActiveNetworks -> GetAccessPoints
8133                 - ActiveNetwork -> ActiveAccessPoint
8134                 - NetworkAdded -> AccessPointAdded
8135                 - NetowrkRemoved -> AccessPointRemoved
8136
8137         * libnm-glib/nm-device-802-11-wireless.c
8138           libnm-glib/nm-device-802-11-wireless.h
8139                 - network-added signal -> access-point-added
8140                 - network-removed signal -> access-point-removed
8141                 - nm_device_802_11_wireless_get_active_network() ->
8142                         nm_device_802_11_wireless_get_active_access_point()
8143                 - nm_device_802_11_wireless_get_network_by_path() ->
8144                         nm_device_802_11_wireless_get_access_point_by_path()
8145                 - nm_device_802_11_wireless_get_networks() ->
8146                         nm_device_802_11_wireless_get_access_points()
8147
8148         * libnm-glib/libnm-glib-test.c
8149           test/nm-tool.c
8150           src/NetworkManagerPolicy.c
8151                 - Fixups for Network -> AccessPoint
8152
8153 2007-10-03  Dan Williams  <dcbw@redhat.com>
8154
8155         Add a GetActiveConnections() method on the Manager object.
8156
8157         * src/nm-manager.c
8158           src/nm-manager.h
8159           introspection/nm-manager.xml
8160                 - (connection_get_settings_cb): keep connection type around too
8161                 - (impl_manager_get_active_connections, add_one_connection_element):
8162                         implement; returns all active connections and what devices they
8163                         apply to
8164
8165         * libnm-glib/nm-client.c
8166           libnm-glib/nm-client.h
8167           introspection/nm-manager-client.xml
8168                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8169                         by the caller; free here to avoid memory leak
8170                 - (nm_client_get_active_connections): implement; return the list of
8171                         active connections
8172                 - (nm_client_free_active_connection_element): implement; free an element
8173                         of the GSList returned by nm_client_get_active_connections()
8174
8175 2007-10-03  Dan Williams  <dcbw@redhat.com>
8176
8177         * src/nm-device-802-11-wireless.c
8178                 - (nm_device_802_11_wireless_update_bssid): remove
8179                 - (get_active_ap): new function; find the AP in the scan list which
8180                         matches the current BSSID and SSID of the wireless device
8181                 - (nm_device_802_11_periodic_update): get current AP using
8182                         get_active_ap() and print AP roam messages
8183
8184 2007-10-01  Dan Williams  <dcbw@redhat.com>
8185
8186         * libnm-util/nm-setting.h
8187                 - Add a 'timestamp' option to NMSettingConnection
8188                 - Add a UINT64 type
8189
8190         * libnm-util/nm-setting.c
8191                 - (uint64_to_gvalue): new function
8192                 - (nm_setting_populate_from_hash, nm_setting_hash,
8193                    default_setting_clear_secrets): handle UINT64 type
8194                 - con_table: add 'timestamp' member
8195
8196 2007-10-01  Dan Williams  <dcbw@redhat.com>
8197
8198         * src/nm-manager.c
8199                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8200                         value when the connection can be activated immediately
8201
8202 2007-10-01  Dan Williams  <dcbw@redhat.com>
8203
8204         * libnm-glib/nm-device.c
8205                 - (nm_device_class_init): actually tell glib about the carrier-changed
8206                         signal
8207
8208 2007-10-01  Dan Williams  <dcbw@redhat.com>
8209
8210         * configure.in
8211           src/marshallers/Makefile.am
8212           src/marshallers/nm-marshal.list
8213           src/marshallers/nm-marshal-main.c
8214                 - Consolidate glib marshallers into one place
8215
8216         * src/dhcp-manager/Makefile.am
8217           src/dhcp-manager/nm-dhcp-manager.c
8218           src/supplicant-manager/Makefile.am
8219           src/supplicant-manager/nm-supplicant-manager.c
8220           src/supplicant-manager/nm-supplicant-interface.c
8221           src/ppp-manager/Makefile.am
8222           src/ppp-manager/nm-ppp-manager.c
8223           src/vpn-manager/Makefile.am
8224           src/vpn-manager/nm-vpn-connection.c
8225           src/Makefile.am
8226                 - Use consolidated marshallers
8227
8228         * src/dhcp-manager/nm-dhcp-marshal.list
8229           src/dhcp-manager/nm-dhcp-marshal-main.c
8230           src/supplicant-manager/nm-supplicant-marshal-main.c
8231           src/supplicant-manager/nm-supplicant-marshal.list
8232           src/nm-marshal-main.c
8233           src/nm-marshal.list
8234           src/ppp-manager/nm-ppp-marshal-main.c
8235           src/ppp-manager/nm-ppp-marshal.list
8236           src/vpn-manager/nm-vpn-marshal-main.c
8237           src/vpn-manager/nm-vpn-marshal.list
8238                 - Remove
8239
8240 2007-10-01  Dan Williams  <dcbw@redhat.com>
8241
8242         * include/NetworkManagerVPN.h
8243                 - define VPN connection state change reason codes
8244
8245         * src/vpn-manager/Makefile.am
8246           src/vpn-manager/nm-vpn-marshal.list
8247           src/vpn-manager/nm-vpn-marshal-main.c
8248                 - Add marshallers for StateChanged signal
8249
8250         * introspection/nm-vpn-connection.xml
8251                 - New Banner property
8252                 - StateChanged signal now includes a 'reason' argument
8253
8254         * src/vpn-manager/nm-vpn-connection.c
8255           src/vpn-manager/nm-vpn-connection.h
8256                 - Add a "Banner" property that contains the returned VPN server login
8257                         banner (if any); valid only in the ACTIVATED state
8258                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8259                         a 'reason' argument and emits that reason along with the
8260                         state-changed signal
8261                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8262                 - (nm_vpn_connection_ip4_config_get): save banner for later
8263                 - (nm_vpn_connection_get_banner, get_property,
8264                    nm_vpn_connection_class_init): implement Banner property
8265
8266         * src/vpn-manager/nm-vpn-service.c
8267                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8268                         connection list because elements may get added/removed from it
8269                         while iterating over the list
8270                 - (connection_state_changed): signal now includes the 'reason' argument
8271
8272         * libnm-glib/nm-vpn-connection.c
8273           libnm-glib/nm-vpn-connection.h
8274                 - (nm_vpn_connection_get_banner): new function
8275                 - (state_changed_proxy): handle reason argument
8276
8277 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8278
8279         * src/nm-manager.c:
8280         * src/nm-manager.h:
8281         Implement device activation through NMManager.
8282         Implement "pending device activation" here - If the connection isn't found,
8283         we try to wait for up to 5 seconds for the connection to be provided.
8284         Add NMConnectionType argument to "connection-added" and "connection-removed"
8285         signals.
8286         (nm_manager_get): Remove. Finally.
8287
8288         * src/nm-activation-request.c: 
8289         * src/nm-activation-request.h: 
8290         Remove all the deferred activation code.
8291
8292         * src/nm-device.c: Remove all the deferred activation code. Once the device
8293         activation is started, it's started. Update the activation virtual function
8294         signature.
8295
8296         * src/nm-device-interface.c:
8297         * src/nm-device-interface.h:
8298         Device activation now takes only NMActRequest argument.
8299         Don't expose device activation directly on dbus, it's supposed to go through
8300         NMManager now.
8301
8302         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8303         a bit more compact.
8304         Use the new device activation methods through NMManager.
8305
8306         * introspection/nm-manager-client.xml: 
8307         * introspection/nm-manager.xml: 
8308         * libnm-glib/nm-client.c:
8309         * libnm-glib/nm-client.h:
8310         Add device activation method.
8311         
8312         * libnm-glib/nm-device.c: 
8313         * libnm-glib/nm-device.h: 
8314         * introspection/nm-device.xml: 
8315         Remove device activation method. It's done through NMManager now.
8316
8317         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8318         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8319
8320 2007-09-28  Dan Williams  <dcbw@redhat.com>
8321
8322         * libnm-glib/nm-vpn-connection.c
8323                 - (nm_vpn_connection_get_state): try to update state if the current
8324                         state is UNKNOWN
8325
8326 2007-09-27  Dan Williams  <dcbw@redhat.com>
8327
8328         Patch from Bill Nottingham
8329
8330         * src/supplicant-manager/nm-supplicant-config.c
8331                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8332                         data to the supplicant
8333
8334 2007-09-27  Dan Williams  <dcbw@redhat.com>
8335
8336         * src/NetworkManagerSystem.c
8337                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8338                         and all address manipulation here should be happening on the
8339                         _VPN_ device, not the active device
8340
8341 2007-09-26  Dan Williams  <dcbw@redhat.com>
8342
8343         * src/nm-manager.c
8344           src/nm-manager.h
8345           src/nm-activation-request.c
8346           src/nm-activation-request.h
8347                 - Move the GetSecrets stuff out of the NMManager instance because it
8348                         doesn't really need to be there and complicates things
8349
8350         * src/nm-device.c
8351                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8352                         connection-secrets-failed signal and deactivate the device if
8353                         the GetSecrets call fails
8354
8355         * src/nm-device-802-11-wireless.c
8356                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8357                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8358                         secrets and give correct hints about whether new secrets should be
8359                         asked for by the client or not
8360
8361 2007-09-26  Dan Williams  <dcbw@redhat.com>
8362
8363         * src/vpn-manager/nm-vpn-connection.c
8364                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8365                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8366                         to the secrets-updated signal of the NMConnection since updating
8367                         the secrets is done within the scope of the NMVPNConnection object
8368                         already
8369                 - (get_connection_secrets): fix an uninialized variable usage error
8370
8371 2007-09-26  Dan Williams  <dcbw@redhat.com>
8372
8373         * libnm-util/nm-setting.c
8374                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8375                         actually get updated when the user enters them
8376
8377 2007-09-26  Dan Williams  <dcbw@redhat.com>
8378
8379         * libnm-glib/nm-vpn-plugin.c
8380                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8381
8382 2007-09-26  Dan Williams  <dcbw@redhat.com>
8383
8384         * include/NetworkManagerVPN.h
8385                 - Add a NEED_AUTH state
8386
8387         * src/vpn-manager/nm-vpn-connection.c
8388                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8389                         the connection needs secrets, and if so, then ask the settings
8390                         service to fill in the secrets.  Then start the connection.
8391
8392 2007-09-26  Dan Williams  <dcbw@redhat.com>
8393
8394         * src/vpn-manager/nm-vpn-manager.c
8395                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8396
8397 2007-09-26  Dan Williams  <dcbw@redhat.com>
8398
8399         * introspection/nm-vpn-plugin.xml
8400           libnm-glib/nm-vpn-plugin.c
8401           libnm-glib/nm-vpn-plugin.h
8402                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8403                         the name of the NMSetting in an NMConnection that may require
8404                         secrets specific to that VPN plugin
8405
8406 2007-09-26  Dan Williams  <dcbw@redhat.com>
8407
8408         * src/nm-manager.c
8409           src/nm-manager.h
8410                 - (nm_manager_get_connection_secrets): make static, unused outside
8411                         the file
8412                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8413
8414 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8415
8416         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8417         method.
8418         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8419         unreference the connection.
8420
8421         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8422         passing properties hash and routes string list, pass NMConnection (in hashed form).
8423
8424         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8425         as GSList, no need to copy stuff around anymore.
8426         (nm_vpn_connection_activate): Update the plugin activation method.
8427
8428         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8429         routes argument to GSList.
8430
8431 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8432
8433         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8434         state and try to get the secrets.
8435
8436         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8437         connections from NMManager and let the device to choose the best from the list.
8438         Since the connection list is sorted by system ones first and user ones later,
8439         the devices still prefer system connections like they did before.
8440         (deactivate_old_device): Implement. When a device starts activation, we have a
8441         policy (for now at least) to deactivate any other device that might be either
8442         active or still activating.
8443
8444         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8445         It's set on construction, there will be no other way to access it.
8446
8447         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8448         device events and drive the device, not the other way around.
8449
8450         * src/nm-device-802-3-ethernet.c: Ditto.
8451
8452         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8453         sent along, pass it on to virtual functions.
8454
8455         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8456         for now, but should really be public instead of nm_device_get_iface() since iface
8457         is a property of the DeviceInterface, not Device.
8458         (impl_device_activate): Don't touch NMManager!
8459
8460 2007-09-26  Jürg Billeter  <j@bitron.ch>
8461
8462         * initscript/paldo/NetworkManager.in:
8463         * initscript/paldo/NetworkManagerDispatcher.in:
8464         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8465         (nm_system_flush_loopback_routes): update paldo backend
8466
8467 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8468
8469         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8470         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8471         which means none of the devices get brought down properly, which in turn leaves
8472         DHCP client running.
8473
8474         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8475         (supplicant_connection_timeout_cb): Ditto.
8476
8477 2007-09-25  Dan Williams  <dcbw@redhat.com>
8478
8479         * src/nm-device.c
8480                 - (device_activation_go): small hack to work around race when
8481                         activating deferred connections; should solve this in a better way
8482
8483 2007-09-25  Dan Williams  <dcbw@redhat.com>
8484
8485         * introspection/nm-device.xml
8486           libnm-glib/nm-device.c
8487           libnm-glib/nm-device.h
8488                 - Add 'Carrier' property to exported NMDevice objects
8489
8490         * src/nm-device-interface.h
8491           src/nm-device-interface.c
8492           src/nm-device.c
8493                 - Add a 'carrier' property to internal NMDevice objects
8494
8495 2007-09-25  Dan Williams  <dcbw@redhat.com>
8496
8497         * src/nm-device-802-11-wireless.c
8498                 - (ap_auth_enforced): also return the encryption status of the AP so
8499                         that callers can differentiate easily between unencrypted APs
8500                         and encrypted ones, in addition to whether the AP has an
8501                         authenticator
8502                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8503                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8504                         previously would request secrets from unencrypted APs at times
8505
8506 2007-09-25  Dan Williams  <dcbw@redhat.com>
8507
8508         * src/nm-manager.c
8509                 - (nm_manager_update_state): new function; updates state and emits
8510                         appropriate signals ensuring a state-change signal for the same state
8511                         never gets emitted twice in a row.
8512                 - (manager_device_state_changed): handle more device state to get a
8513                         better picture of the overall NM state
8514
8515 2007-09-25  Dan Williams  <dcbw@redhat.com>
8516
8517         * libnm-glib/nm-settings.c
8518           libnm-glib/nm-settings.h
8519                 - (new_error -> nm_settings_new_error): make public so that subclasses
8520                         can use the same error domain.  Also pass a valid error code to
8521                         g_error_new_literal() so that libdbus doesn't assert when converting
8522                         the GError into a DBusError
8523                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8524                    impl_connection_settings_get_settings,
8525                    impl_connection_settings_get_secrets): use new error creator
8526                         function
8527
8528 2007-09-25  Dan Williams  <dcbw@redhat.com>
8529
8530         * src/NetworkManager.c
8531                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8532
8533 2007-09-25  Dan Williams  <dcbw@redhat.com>
8534
8535         * src/supplicant-manager/nm-supplicant-manager.c
8536                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8537                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8538                    nm_supplicant_manager_startup): when the supplicant isn't running,
8539                         try to start it periodically via system bus activation.  Fixes
8540                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8541                         for the supplicant to come back
8542
8543 2007-09-25  Dan Williams  <dcbw@redhat.com>
8544
8545         Ensure that old activation requests are forgotten about; previously
8546         hitting Cancel in the password dialog would deactivate whatever device
8547         that password was requested for, even if that wasn't the currently
8548         activating connection.
8549
8550         * src/nm-manager.c
8551           src/nm-manager.h
8552                 - (nm_manager_get_connection_secrets): track the pending call
8553                         object so it can be canceled later if needed
8554                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8555                         GetSecrets call for a particular connection
8556
8557         * src/nm-activation-request.c
8558                 - (dispose): cancel any outstanding GetSecrets calls on the
8559                         connection
8560
8561 2007-09-25  Dan Williams  <dcbw@redhat.com>
8562
8563         * src/NetworkManagerPolicy.c
8564                 - (nm_policy_device_change_check): handle devices that have a
8565                         deferred activation.  These devices are not really active _yet_,
8566                         but need to be treated as such here.  Don't interrupt them
8567                         automatically.
8568
8569         * src/nm-device-interface.c
8570                 - (impl_device_activate): handle devices that have a deferred activation
8571                         like activating or active devices.  When multiple active devices
8572                         get committed, the device shouldn't be deactivated until the
8573                         connection details are available to avoid DoS and such.  Currently,
8574                         any active, activating, or deferred activation device is deactivated
8575                         here before starting the new activation request.
8576
8577 2007-09-25  Dan Williams  <dcbw@redhat.com>
8578
8579         Properly re-query secrets from the settings daemon when stuff fails.
8580
8581         * src/nm-device-802-11-wireless.c
8582                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8583                         between Shared Key and Open System auth modes
8584                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8585                    real_act_stage4_ip_config_timeout): clear existing secrets and
8586                         request new ones when something fails due to a suspected wrong key
8587                 - (real_act_stage2_config): fix for new request_new argument to
8588                         nm_manager_get_connection_secrets()
8589
8590         * src/nm-manager.c
8591           src/nm-manager.h
8592                 - (nm_manager_get_connection_secrets): return error status; pass
8593                         new request_new argument on to the settings daemon
8594
8595         * introspection/nm-settings-connection.xml
8596                 - New 'request_new' argument to the GetSecrets call that hints to the
8597                         settings daemon to ask the user for completely new secrets
8598
8599         * libnm-glib/nm-settings.c
8600           libnm-glib/nm-settings.h
8601                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8602                         argument
8603
8604 2007-09-25  Dan Williams  <dcbw@redhat.com>
8605
8606         * libnm-util/nm-connection.c
8607           libnm-util/nm-connection.h
8608                 - (nm_connection_clear_secrets): new function; clear secrets out of
8609                         each NMSetting in an NMConnection
8610
8611         * libnm-util/nm-setting.h
8612           libnm-util/nm-setting.c
8613                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8614                         secrets out of an NMSetting
8615                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8616                    nm_setting_wired_new, nm_setting_wireless_new,
8617                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8618                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8619                         to default handler default_setting_clear_secrets()
8620
8621 2007-09-25  Dan Williams  <dcbw@redhat.com>
8622
8623         * src/nm-activation-request.c
8624           src/nm-activation-request.h
8625                 - (nm_act_request_is_deferred): new function
8626
8627 2007-09-24  Dan Williams  <dcbw@redhat.com>
8628
8629         * src/nm-device-802-11-wireless.c
8630                 - (activation_success_handler): update signal strength immediately
8631                         after activation
8632
8633 2007-09-24  Dan Williams  <dcbw@redhat.com>
8634
8635         * libnm-util/nm-setting.c
8636                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8637
8638 2007-09-24  Dan Williams  <dcbw@redhat.com>
8639
8640         * src/NetworkManagerPolicy.c
8641                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8642                         device by deactivating it because it doesn't have a "best connection".
8643                         Since autoconnect=False connections aren't automatically chosen,
8644                         NM would interrupt activation of such a connection because it
8645                         would never be "best" due to autoconnect=False.
8646
8647 2007-09-24  Dan Williams  <dcbw@redhat.com>
8648
8649         * src/nm-manager.c
8650                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8651                         actually has some time to enter a key before the GetSecrets call
8652                         times out
8653
8654 2007-09-24  Dan Williams  <dcbw@redhat.com>
8655
8656         * introspection/nm-manager.xml
8657           src/nm-manager.c
8658                 - (impl_manager_legacy_state): fix 'state' method call return value
8659
8660 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8661
8662         * test/Makefile.am: Install nm-tool
8663
8664 2007-09-24  Dan Williams  <dcbw@redhat.com>
8665
8666         Patch from Ross Burton <ross@burtonini.com>
8667
8668         * test/nm-tool.c
8669           callouts/nm-dhcp-client-action.c
8670           src/nm-netlink.c
8671           src/vpn-manager/nm-vpn-connection.c
8672           libnm-glib/libnm-glib-test.c
8673                 - warning fixes
8674
8675 2007-09-24  Dan Williams  <dcbw@redhat.com>
8676
8677         * libnm-util/nm-utils.h
8678           libnm-util/nm-utils.c
8679                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8680                         remove, unused
8681
8682 2007-09-23  Dan Williams  <dcbw@redhat.com>
8683
8684         * vpn-daemons/vpnc/properties/nm-vpnc.c
8685                 - Update for new VPN properties API bits; instead of passing around
8686                         a lot of random things, everything goes into the NMConnection
8687                         object.
8688
8689 2007-09-23  Dan Williams  <dcbw@redhat.com>
8690
8691         * libnm-util/nm-setting.c
8692                 - Correctly dispose of settings objects if creating them from a hash
8693                         table fails
8694
8695 2007-09-23  Dan Williams  <dcbw@redhat.com>
8696
8697         * libnm-util/nm-setting.c
8698                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8699                         the hash table in a standard manner.  Clients of libnm-util should
8700                         only call g_hash_table_remove_all(), never destroy the hash table
8701                         and recreate it.
8702
8703 2007-09-22  Dan Williams  <dcbw@redhat.com>
8704
8705         * src/nm-device-802-11-wireless.c
8706                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8707                         real reason to do it so often, and reduces wakeups for clients.
8708
8709 2007-09-21  Dan Williams  <dcbw@redhat.com>
8710
8711         * src/nm-device-802-11-wireless.c
8712                 - (build_supplicant_config): wpa_supplicant requires the option
8713                         key_mgmt=NONE for unencrypted networks
8714                 - (real_act_stage2_config): clarify log message on activation
8715
8716 2007-09-21  Dan Williams  <dcbw@redhat.com>
8717
8718         * test/nm-supplicant-test.c
8719           test/Makefile.am
8720                 - Remove supplicant test binary; no longer applicable
8721
8722 2007-09-21  Dan Williams  <dcbw@redhat.com>
8723
8724         * src/supplicant-manager/nm-supplicant-manager.c
8725                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8726                         activate it on the system bus
8727
8728 2007-09-20  Dan Williams  <dcbw@redhat.com>
8729
8730         * initscript/RedHat/NetworkManager.in
8731                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8732
8733 2007-09-20  Dan Williams  <dcbw@redhat.com>
8734
8735         * src/nm-device.c
8736                 - (nm_device_is_activating): work around a race between auto-activation
8737                         and the user activating the same device that is being auto-activated
8738
8739 2007-09-20  Dan Williams  <dcbw@redhat.com>
8740
8741         * src/nm-device-interface.c
8742                 - (impl_device_activate): until multiple active device support lands,
8743                         ensure only one device can be active at a time
8744
8745 2007-09-20  Dan Williams  <dcbw@redhat.com>
8746
8747         * src/supplicant-manager/nm-supplicant-config.c
8748           src/supplicant-manager/nm-supplicant-config.h
8749                 - (nm_supplicant_config_add_option): hide secrets from system logs
8750
8751 2007-09-20  Dan Williams  <dcbw@redhat.com>
8752
8753         * src/NetworkManagerPolicy.c
8754                 - (nm_policy_device_change_check): re-enable the wireless device change
8755                         checking code; insted of checking for SSIDs, check for the same
8756                         connection instead
8757
8758 2007-09-20  Dan Williams  <dcbw@redhat.com>
8759
8760         * src/nm-device-802-11-wireless.c
8761                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8762                         composite link state when determining when to start the disconnection
8763                         timer; that link state is already based on the supplicant interface's
8764                         status which is exactly what's already being examined, plus the link
8765                         state is a conglomeration of various things that we don't want here
8766
8767 2007-09-20  Dan Williams  <dcbw@redhat.com>
8768
8769         * libnm-glib/nm-access-point.c
8770                 - (handle_property_changed): strength is a UCHAR
8771
8772 2007-09-20  Dan Williams  <dcbw@redhat.com>
8773
8774         * src/supplicant-manager/nm-supplicant-config.c
8775                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8776                         string list keywords too since that's what wpa_supplicant wants
8777
8778 2007-09-20  Dan Williams  <dcbw@redhat.com>
8779
8780         * libnm-util/nm-setting.c
8781                 - (convert_strv_to_slist): dupe the values in the list because since
8782                         the list is a boxed value, it'll get destroyed when it's container
8783                         (like a hash table or whatever) gets destroyed
8784
8785 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8786
8787         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8788         GSList.
8789
8790         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8791
8792         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8793         just use (g_object_set_data_full).
8794
8795         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8796         that NMSettingVPN->routes is a GSList, convert it to char **.
8797         (nm_vpn_connection_ip4_config_get): Free routes when done.
8798         (nm_vpn_connection_activate): Ditto.
8799
8800         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8801         (real_act_stage2_config): Use defined setting names.
8802
8803 2007-09-20  Dan Williams  <dcbw@redhat.com>
8804
8805         * src/nm-device-802-11-wireless.c
8806           src/nm-manager.c
8807           src/nm-manager.h
8808                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8809                         so that the device can be deactivated if secrets are wrong
8810
8811 2007-09-20  Dan Williams  <dcbw@redhat.com>
8812
8813         * introspection/nm-settings-connection.xml
8814           libnm-glib/nm-settings.c
8815           libnm-glib/nm-settings.h
8816                 - Make GetSecrets asynchronous on the server side
8817
8818 2007-09-20  Dan Williams  <dcbw@redhat.com>
8819
8820         * src/nm-manager.h
8821           src/nm-device.c
8822                 - (nm_device_activate): actually check if a given connection
8823                         exists before assuming it doesn't
8824
8825 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8826
8827         * libnm-util/nm-connection.c (register_default_creators): Use defined
8828         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8829
8830         * libnm-util/nm-setting.c: Define property name strings, use them.
8831         Implement NMSettingVPN and NMSettingVPNProperties settings.
8832         Implement NM_S_TYPE_GVALUE_HASH.
8833         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8834         (setting_connection_verify): Rename 'devtype' property to 'type'.
8835
8836         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8837         properties.
8838
8839         * src/vpn-manager/nm-vpn-service.c: Ditto.
8840
8841         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8842
8843         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8844         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8845
8846         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8847         names. NMSettingConnection->devtype got renamed to 'type'.
8848
8849         * src/nm-device-802-3-ethernet.c (find_best_connection):
8850         (real_get_best_connection): Ditto.
8851
8852         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8853
8854         * libnm-glib/nm-vpn-manager.[ch]: Update.
8855
8856 2007-09-19  Dan Williams  <dcbw@redhat.com>
8857
8858         * src/NetworkManagerAP.c
8859           src/NetworkManagerAP.h
8860           introspection/nm-access-point.xml
8861                 - Change strength-changed signal into a properties-changed signal
8862                         for all properties, not just strength.  Export that signal over dbus
8863                         so listeners don't have to poll NM for changes.
8864                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8865                         get exported over D-Bus, so break up the logic and let other bits
8866                         decided when to export the AP
8867                 - (nm_ap_new_from_ap): remove, unused
8868
8869         * src/nm-device-802-11-wireless.c
8870                 - (merge_scanned_ap): only export APs that are actually on the device
8871                         list, not every AP created internally
8872
8873         * libnm-glib/nm-access-point.c
8874           libnm-glib/nm-access-point.h
8875                 - Cache properties internally and only hit DBus when needed.  Get
8876                         property updates from NM signals
8877
8878 2007-09-16  Dan Williams  <dcbw@redhat.com>
8879
8880         * libnm-util/nm-connection.c
8881           libnm-util/nm-connection.h
8882                 - (nm_connection_for_each_setting_value): new function; iterate over
8883                         each setting's value and call a user-provided function with details
8884                         about that value
8885
8886         * libnm-util/nm-setting.c
8887           libnm-util/nm-setting.h
8888                 - (nm_setting_enumerate_values): new function; enumerate the values
8889                         of a specific NMSetting subclass for a user-provided function with
8890                         details about that value
8891                 - Change wep_tx_keyidx to a uint32
8892                 - Create settings value tables for each setting defining their type,
8893                         key name, offset into the NMSetting subclass' structure, and whether
8894                         they are required and/or a secret
8895                 - (nm_setting_populate_from_hash): generic function to populate an
8896                         NMSetting from a GHash table, make all settings use it
8897                 - (nm_setting_hash): generic function to derive a GHashTable from
8898                         an NMSetting object, make all settings use it
8899
8900 2007-09-14  Dan Williams  <dcbw@redhat.com>
8901
8902         Remove unused stuff in libnm-util
8903
8904         * configure.in
8905           libnm-util/Makefile.am
8906           libnm-util/cipher-private.h
8907           libnm-util/cipher-wep-ascii.c
8908           libnm-util/cipher-wep-ascii.h
8909           libnm-util/cipher-wep-hex.c
8910           libnm-util/cipher-wep-hex.h
8911           libnm-util/cipher-wep-passphrase.c
8912           libnm-util/cipher-wep-passphrase.h
8913           libnm-util/cipher-wpa-psk-hex.c
8914           libnm-util/cipher-wpa-psk-hex.h
8915           libnm-util/cipher-wpa-psk-passphrase.c
8916           libnm-util/cipher-wpa-psk-passphrase.h
8917           libnm-util/cipher.c
8918           libnm-util/cipher.h
8919           libnm-util/dbus-helpers.c
8920           libnm-util/dbus-helpers.h
8921           libnm-util/gnome-keyring-md5.c
8922           libnm-util/gnome-keyring-md5.h
8923           libnm-util/sha1.c
8924           libnm-util/sha1.h
8925           src/nm-device-802-11-wireless.c
8926           test/libnm-util/Makefile.am
8927           test/libnm-util/test-ciphers.c
8928           test/libnm-util/test-dbus-helpers.c
8929           test/libnm-util/test-inputs.h
8930                 - Removed
8931
8932 2007-09-14  Dan Williams  <dcbw@redhat.com>
8933
8934         * libnm-util/dbus-method-dispatcher.c
8935           libnm-util/dbus-method-dispatcher.h
8936                 - Remove, unused
8937
8938 2007-09-14  Dan Williams  <dcbw@redhat.com>
8939
8940         Implement deferred activation support in the device class.
8941
8942         * src/nm-device-interface.c
8943           src/nm-device-interface.h
8944                 - (nm_device_interface_activate): take more arguments to support
8945                         deferred activation; callers must pass one of (connection) OR
8946                         (service_name, connection_path)
8947                 - (impl_device_activate): connection validation is punted to the device
8948                         to be able to handle deferred activation.  Yes, this means errors
8949                         don't get returned from the Activate() dbus call, and yes, that
8950                         should be fixed somehow later.
8951
8952         * src/nm-device.c
8953           src/nm-device.h
8954                 - (clear_act_request): clear additional deferred activation stuff too
8955                 - (deferred_activation_timeout_cb): new function; clean up when
8956                         deferred activation times out.
8957                 - (deferred_activation_start_cb): new function; when the connection
8958                         finally becomes available, start device activation
8959                 - (nm_device_activate): attach to the right signals of the activation
8960                         request if we need to defer activation until the connection is valid
8961
8962         * src/NetworkManagerPolicy.c
8963                 - (nm_policy_device_change_check): update for additional arguments
8964                         required for nm_device_interface_activate().  Pass NULL for these
8965                         though because this function already knows exactly which
8966                         NMConnection to use
8967
8968 2007-09-14  Dan Williams  <dcbw@redhat.com>
8969
8970         Implement deferred activation handling in the NMActRequest class.  When a
8971         client wants to activate a device but must create the NMConnection details
8972         on the fly, there likely hasn't been enough time yet for NM to receive the
8973         new connection signal and grab all the connection details.  So the
8974         activation is deferred (and bounded by a timer) for a while, and if the
8975         connection appears within the window, it is activated.
8976
8977         * src/nm-activation-request.c
8978           src/nm-activation-request.h
8979                 - (nm_act_request_class_init): two new signals to support deferred
8980                         activation, to allow the listener to handle both timeout and success
8981                 - (nm_act_request_new_deferred): new function, starts the deferred
8982                         activation timeout handler and listens to the NMManager for
8983                         new-connection signals to notice when the connection comes in
8984
8985 2007-09-14  Dan Williams  <dcbw@redhat.com>
8986
8987         * src/nm-manager.h
8988           src/nm-manager.c
8989                 - (nm_manager_get_connection_service_name,
8990                    nm_manager_get_connection_dbus_path): get details about a connection
8991                         known internally by the NMManager
8992                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8993                         because NMConnection is now a GObject subclass
8994                 - Use constant for the gobject data tag used on NMConnection objects for
8995                         storing the associated DBusGProxy
8996
8997 2007-09-14  Dan Williams  <dcbw@redhat.com>
8998
8999         * utils/Makefile.am
9000           utils/nm-utils.c
9001           utils/nm-utils.h
9002           src/supplicant-manager/Makefile.am
9003           src/dhcp-manager/Makefile.am
9004           src/backends/Makefile.am
9005           src/named-manager/Makefile.am
9006           src/ppp-manager/Makefile.am
9007           src/vpn-manager/Makefile.am
9008           test/libnm-util/Makefile.am
9009           test/test-common/Makefile.am
9010                 - Remove utils/; it was unused
9011
9012 2007-09-13  Dan Williams  <dcbw@redhat.com>
9013
9014         * libnm-glib/nm-vpn-manager.h
9015           libnm-glib/nm-vpn-manager.c
9016                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9017
9018 2007-09-13  Dan Williams  <dcbw@redhat.com>
9019
9020         * src/nm-device-802-3-ethernet.c
9021                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9022                         netlink monitor carrier signals on dispose, not bring down.  The
9023                         carrier signals should be handled over the entire lifetime of the
9024                         device anyway, not created/destroyed on up or down.
9025
9026 2007-09-13  Dan Williams  <dcbw@redhat.com>
9027
9028         * libnm-glib/nm-device.c
9029           libnm-glib/nm-device.h
9030                 - (nm_device_activate): take a connection object path rather than an
9031                         NMConnection because NMConnection isn't exported over D-Bus and
9032                         therefore it dbus-glib can't automatically get an object path from it
9033
9034 2007-09-13  Dan Williams  <dcbw@redhat.com>
9035
9036         * libnm-util/nm-setting.c
9037                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9038
9039 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9040
9041         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9042
9043 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9044
9045         * src/vpn-manager/nm-vpn-connection.[ch]: 
9046         * src/vpn-manager/nm-vpn-manager.[ch]:
9047         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9048         dbus-glib, GObjects, signals etc.
9049
9050         * libnm-glib/nm-vpn-manager.[ch]: 
9051         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9052         so much, rewrite these too.
9053
9054         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9055         the new introspection files.
9056
9057         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9058
9059         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9060         the header with the same name from libnm-utils.
9061
9062         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9063
9064         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9065
9066         * introspection/nm-vpn-plugin.xml: Implement.
9067
9068         * introspection/nm-vpn-connection.xml: Implement.
9069
9070         * introspection/nm-vpn-manager.xml: Implement.
9071
9072         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9073         the named manager argument, it can just as easily get it as the caller.
9074         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9075
9076         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9077
9078         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9079
9080         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9081         libnm-utils.
9082
9083         * libnm-util/nm-connection.c: Ditto.
9084
9085         * src/NetworkManagerMain.h: Remove, it's finally empty.
9086
9087         * configure.in: Remove utils/ from build.
9088
9089         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9090         of hard-coded strings.
9091
9092         * utils/: Move it over to libnm-util.
9093
9094         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9095
9096         * dispatcher-daemon/Makefile.am: Ditto.
9097
9098         * src/Makefile.am: Ditto.
9099
9100 2007-09-12  Dan Williams  <dcbw@redhat.com>
9101
9102         Wireless connections can be made with config data from the applet now.
9103         
9104         Yay.
9105
9106         * src/supplicant-manager/nm-supplicant-config.h
9107           src/supplicant-manager/nm-supplicant-config.c
9108                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9109                 - (nm_supplicant_config_add_setting_wireless,
9110                    nm_supplicant_config_add_setting_wireless_security): new functions;
9111                         add key/value pairs from the settings objects to the supplicant
9112                         config
9113
9114         * src/nm-device-802-11-wireless.c
9115                 - (cull_scan_list): fix check to not prune currently associated AP
9116                 - (build_supplicant_config, real_act_stage2_config): call the functions
9117                         of the NMSupplicantConfig that parse settings objects rather than
9118                         doing it manually here
9119
9120 2007-09-12  Dan Williams  <dcbw@redhat.com>
9121
9122         * src/supplicant-manager/nm-supplicant-interface.c
9123           src/supplicant-manager/nm-supplicant-marshal.list
9124                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9125                         "connection-error" signal arguments should be STRING not CHAR
9126
9127 2007-09-12  Dan Williams  <dcbw@redhat.com>
9128
9129         * src/NetworkManagerUtils.c
9130           src/NetworkManagerUtils.h
9131                 - (nm_utils_hexstr2bin): new function
9132
9133 2007-09-11  Dan Williams  <dcbw@redhat.com>
9134
9135         * src/nm-manager.c
9136                 - (connection_get_settings_cb): emit connection-added signal
9137                 - (connection_removed_cb): uncomment bits for system settings service,
9138                         send connection-removed when appropriate
9139                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9140                         the stack by trying to g_object_set_data() on something that's
9141                         not a GObject; handle case where settings service returns
9142                         empty settings hash table
9143
9144 2007-09-11  Dan Williams  <dcbw@redhat.com>
9145
9146         * src/NetworkManagerPolicy.c
9147                 - (connection_added, connection_removed): trigger device change checks
9148                         on connection changes
9149
9150 2007-09-11  Dan Williams  <dcbw@redhat.com>
9151
9152         * src/nm-activation-request.c
9153                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9154
9155 2007-09-11  Dan Williams  <dcbw@redhat.com>
9156
9157         * src/nm-device-802-11-wireless.c
9158                 - (real_connection_secrets_updated): fix erroneous check
9159
9160 2007-09-11  Dan Williams  <dcbw@redhat.com>
9161
9162         * introspection/nm-device.xml
9163           libnm-glib/nm-device.c
9164           libnm-glib/nm-device.c
9165                 - Fix Activate call argument borkage; Activate takes 3 arguments
9166
9167 2007-09-11  Dan Williams  <dcbw@redhat.com>
9168
9169         * libnm-glib/nm-access-point.c
9170           libnm-glib/nm-access-point.c
9171                 - (nm_access_point_get_frequency): now returns guint32 to match
9172                         property change on 2007-09-10
9173
9174 2007-09-11  Dan Williams  <dcbw@redhat.com>
9175
9176         * src/nm-device-802-11-wireless.c
9177                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9178                         somewhere defines 'index' and I missed this one when I fixed the
9179                         shadow declaration errors earlier
9180
9181 2007-09-11  Dan Williams  <dcbw@redhat.com>
9182
9183         * libnm-util/nm-connection.c
9184                 - (nm_connection_update_secrets, need_secrets_check): move
9185                         802-11-wireless-security need_secrets checks to the setting object
9186                         itself, where it belongs
9187
9188         * libnm-util/nm-setting.c
9189           libnm-util/nm-setting.h
9190                 - (nm_setting_need_secrets): new function
9191                 - (setting_wireless_security_verify,
9192                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9193                 - (setting_wireless_security_need_secrets): mostly copy code over
9194                         from nm-connection.c
9195
9196 2007-09-11  Dan Williams  <dcbw@redhat.com>
9197
9198         * libnm-util/nm-setting.c
9199           libnm-util/nm-setting.h
9200                 - (nm_setting_update_secrets): new function; add a virtual function that
9201                         subclasses can implement to update their secrets
9202                 - (setting_wireless_security_update_secrets): implement that function
9203                         for the 802-11-wireless-security subclass
9204
9205         * libnm-util/nm-connection.c
9206           libnm-util/nm-connection.h
9207                 - (nm_connection_update_secrets): update secrets for a Setting and
9208                         emit a signal on success
9209
9210         * src/nm-manager.c
9211           src/nm-manager.h
9212           src/nm-marshal.list
9213                 - (connection_get_settings_cb): enable system settings bits
9214                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9215                         to request secrets from the settings dbus service and to
9216                         push those secrets to the NMConnection itself
9217
9218         * src/nm-activation-request.c
9219           src/nm-activation-request.h
9220                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9221                         currently being activated, and proxy that signal to other listeners.
9222                         Goes through the activation request because the activation request
9223                         is the thing that manages the lifetime of the NMConnection that's
9224                         being activated.
9225
9226         * src/nm-device-802-11-wireless.c
9227                 - (real_connection_secrets_updated): implement the connection secrets
9228                         updated notification and restart activation when secrets are
9229                         received
9230                 - (real_act_stage2_config): request secrets from the settings dbus
9231                         service if secrets are needed
9232
9233         * src/nm-device.c
9234           src/nm-device.h
9235                 - (clear_act_request, nm_device_activation_cancel,
9236                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9237                         where the activation request is cleared
9238                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9239                         updated secrets signal of activation request and add a function
9240                         that subclasses can override to handle it easily
9241
9242 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9243
9244         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9245         removal of NetworkManagerAPList.
9246
9247 2007-09-10  Dan Williams  <dcbw@redhat.com>
9248
9249         * src/NetworkManagerAP.c
9250           src/NetworkManagerAP.h
9251           introspection/nm-access-point.xml
9252                 - Change 'freq' property to a guint32 instead of a double since we
9253                         weren't using the floating point bits anyway
9254
9255 2007-09-10  Dan Williams  <dcbw@redhat.com>
9256
9257         * NetworkManagerAP.c
9258           NetworkManagerAP.h
9259           NetworkManagerPolicy.c
9260           NetworkManagerSystem.c
9261           NetworkManagerUtils.c
9262           NetworkManagerUtils.h
9263           nm-device-802-11-wireless.c
9264           nm-device-802-3-ethernet.c
9265           nm-hal-manager.c
9266           nm-manager.c
9267           vpn-manager/nm-dbus-vpn.c
9268                 - Warning fixes; casts and removal of unused variables
9269
9270 2007-09-10  Dan Williams  <dcbw@redhat.com>
9271
9272         * include/NetworkManager.h
9273                 - Kill NMNetworkType; AP types don't matter any more
9274
9275         * src/NetworkManagerAPList.c
9276           src/NetworkManagerAPList.h
9277           src/Makefile.am
9278                 - Kill; NMAccessPointList has outlived it's usefulness
9279
9280         * src/NetworkManagerAP.c
9281           src/NetworkManagerAP.h
9282                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9283                         functions; check if an NMConnection object is compatible with the
9284                         settings of this AP
9285                 - (freq_to_channel, channel_to_freq): utility functions for
9286                         channel <-> frequency conversion
9287
9288         * src/nm-device.c
9289           src/nm-device.h
9290                 - (nm_device_get_best_connection): pass the specific object around
9291                          (which might be the object path of a specific AP to connect to).
9292                          The get_best_connection() call should populate this on return
9293                          if needed (wireless does).
9294
9295         * src/nm-device-802-3-ethernet.c
9296                 - (real_get_best_connection): handle specific_object argument
9297
9298         * src/NetworkManager.c
9299           src/NetworkManagerMain.h
9300                 - Remove unused includes
9301
9302         * src/nm-device-802-11-wireless.c
9303           src/nm-device-802-11-wireless.h
9304                 - Convert the ap_list into a GSList from an NMAccessPointList
9305                 - No need for caching the 'activation_ap' since this is now determined
9306                         from the specific_object of the activation request, which is
9307                         populated from the get_best_connection() call or from a user request
9308                 - (nm_device_802_11_wireless_update_bssid): fix warning
9309                 - (get_wireless_capabilities): fix error message format arguments
9310                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9311                 - (find_best_connection, real_get_best_connection): implement
9312                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9313                         move here from NetworkManagerAPList
9314                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9315                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9316                         already verified earlier
9317                 - (real_act_stage2_config): use nm_connection_need_secrets()
9318
9319         * src/NetworkManagerPolicy.c
9320                 - (nm_policy_auto_get_best_device): handle specific objects
9321                 - (create_connection): remove; automatic connection creation functionality
9322                         is handled by the Connection objects
9323                 - (nm_policy_device_change_check): handle specific_object
9324
9325         * libnm-util/nm-connection.c
9326                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9327
9328 2007-09-10  Dan Williams  <dcbw@redhat.com>
9329
9330         * src/nm-manager.c
9331                 - (query_connections): fix uninitialized variable problem that caused
9332                         segfault
9333                 - (nm_manager_add_device): take devices down on startup so that we can
9334                         be assured that nm_device_is_up() won't short-circuit the init
9335                         process.  Hack until the is_up check gets split into two pieces
9336                         that aren't behaviorally confusing.
9337
9338 2007-09-09  Dan Williams  <dcbw@redhat.com>
9339
9340         * introspection/nm-device.xml
9341                 - The 'Activate' method now takes 3 arguments, a service name for the
9342                 settings service (user or system), the object path of the connection
9343                 to activate, and the specific object to activate, if any
9344
9345         * src/nm-device-interface.c
9346                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9347                 Add error bits
9348                 - (impl_device_activate): adapt to new Activate arguments; validate
9349                 the service name and get the Connection object from the NMManager
9350                 before starting to activate the device with the specified connection
9351
9352         * src/nm-device-802-3-ethernet.c
9353                 - (real_get_best_connection): find the best connection, or create a
9354                 default one if no existing connections can be used
9355
9356         * src/NetworkManagerPolicy.c
9357                 - (nm_policy_auto_get_best_device): Get the device's best connection
9358                 and only pick the device if it has one
9359                 - (nm_policy_device_change_check): disable wireless bits for now until
9360                 wireless get_best_connection() can be implemented (replacing "best_ap");
9361                 don't create a default connection here as the device subclass will do
9362                 that if needed
9363
9364         * src/nm-manager.h
9365           src/nm-manager.c
9366                 - (nm_manager_get): make NMManager a singleton and expose the getter
9367                 internally
9368                 - Rework internal NMManager connection handling to use the same
9369                 routines for both the system and user settings services.  Most calls
9370                 take a new NMConnectionType argument specifying either system or user
9371                 connections
9372                 - (nm_manager_get_connection_by_object_path): new function; get a
9373                 connection keyed on its object path
9374
9375         * src/NetworkManager.c
9376                 - (main): use nm_manager_get()
9377
9378 2007-09-09  Dan Williams  <dcbw@redhat.com>
9379
9380         * src/nm-device.h
9381           src/nm-device.c
9382                 - (nm_device_get_best_connection): new function; get best connection
9383                         for the device at that time
9384
9385 2007-09-09  Dan Williams  <dcbw@redhat.com>
9386
9387         * src/nm-device-interface.h
9388                 - Add NMDeviceInterfaceError with an UnknownConnection error
9389
9390 2007-09-09  Dan Williams  <dcbw@redhat.com>
9391
9392         Stupid mistake on my part; object path and interface for settings service
9393         and connection objects can be the same, only the service name must be
9394         different for the system and user settings services.
9395
9396         * include/NetworkManager.h
9397           src/nm-manager.c
9398           introspection/nm-settings-connection.xml
9399           introspection/nm-settings.xml
9400           libnm-glib/nm-settings.c
9401                 - (nm_connection_settings_init, query_user_connections,
9402                    new_connection_cb): Unify NetworkManagerSettings and Connection
9403                    interface name and object path
9404
9405 2007-09-06  Dan Williams  <dcbw@redhat.com>
9406
9407         * libnm-glib/nm-object.c
9408                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9409                    nm_object_get_int_property, nm_object_get_uint_property,
9410                    nm_object_get_boolean_property, nm_object_get_byte_property,
9411                    nm_object_get_double_property, nm_object_get_byte_array_property):
9412                         clear GValues after copying their contents, fixes memory leaks
9413                         after every property access because dbus-glib copies the values
9414                         from the DBusMessage into the GValue already.
9415
9416 2007-09-06  Dan Williams  <dcbw@redhat.com>
9417
9418         * introspection/nm-access-point.xml
9419                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9420                         them to be.  There's some magic property name parsing going on in
9421                         dbus-glib that breaks up property names based on studly-caps and
9422                         puts - between words.
9423
9424         * libnm-glib/nm-access-point.c
9425                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9426                         Fix property names
9427
9428 2007-09-06  Dan Williams  <dcbw@redhat.com>
9429
9430         * src/nm-manager.c
9431                 - (nm_manager_user_connections_destroy): clear the user connections hash
9432                         table, don't destroy it
9433                 - (finalize): only destroy the hash table on NMManager finalization
9434
9435 2007-09-02  Dan Williams  <dcbw@redhat.com>
9436
9437         * include/NetworkManager.h
9438           libnm-glib/nm-settings.c
9439                 - defines for the user settings daemon D-Bus bits
9440
9441         * src/NetworkManager.c
9442                 - Remove stuff that referred to the old NetworkManagerInfo service
9443
9444         * src/vpn-manager/nm-dbus-vpn.h
9445                 - Move old NMI defines to the only place they are used still
9446
9447         * libnm-util/nm-connection.c
9448           libnm-util/nm-connection.h
9449           src/nm-activation-request.c
9450                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9451
9452         * src/nm-manager.c
9453           src/nm-manager.h
9454                 - Get connections and their settings from the user settings daemon
9455                         at the appropriate times
9456
9457 2007-09-02  Dan Williams  <dcbw@redhat.com>
9458
9459         * libnm-util/nm-setting.c
9460                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9461                 - (setting_wireless_hash): set the right value on the item
9462
9463 2007-09-02  Dan Williams  <dcbw@redhat.com>
9464
9465         * test/Makefile.am
9466           test/nminfotest.c
9467                 - Remove, no longer useful
9468
9469 2007-08-30  Dan Williams  <dcbw@redhat.com>
9470
9471         * src/Makefile.am
9472           src/NetworkManagerDbus.c
9473           src/NetworkManagerDbus.h
9474           src/vpn-manager/nm-dbus-vpn.c
9475                 - Remove, no longer necessary.  Move last bits to the only place its
9476                 used, in nm-dbus-vpn.c
9477
9478         * src/NetworkManagerAPList.c
9479           src/nm-device.c
9480           src/NetworkManager.c
9481           src/nm-device-802-11-wireless.c
9482           src/vpn-manager/nm-vpn-manager.c
9483           src/vpn-manager/nm-vpn-service.c
9484           src/NetworkManagerPolicy.c
9485           src/nm-manager.c
9486                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9487                 that was message_is_error()
9488
9489 2007-08-30  Dan Williams  <dcbw@redhat.com>
9490
9491         * libnm-util/sha1.c
9492                 - Include config.h to get defines for endiannes (gnome.org #420216)
9493
9494 2007-08-30  Dan Williams  <dcbw@redhat.com>
9495
9496         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9497
9498         * src/ppp-manager/Makefile.am
9499                 - use -fPIC (gnome.org #471825)
9500
9501 2007-08-29  Dan Williams  <dcbw@redhat.com>
9502
9503         * include/NetworkManager.h
9504                 - Keep NMConnection object path in sync
9505
9506         * libnm-glib/nm-settings.c
9507           libnm-glib/nm-settings.h
9508                 - Break D-Bus object registration out of the init function, because
9509                 every object that's exported over D-Bus needs to use the _same_
9510                 DBusConnection.  Otherwise, each object would get a different object
9511                 path tree and wouldn't be callable.
9512
9513 2007-08-29  Dan Williams  <dcbw@redhat.com>
9514
9515         * libnm-util/nm-setting.h
9516           libnm-util/nm-setting.c
9517           libnm-util/nm-connection.c
9518           src/NetworkManagerPolicy.c
9519                 - 'info' settings object should be 'connection' says the spec
9520                 at NetworkManagerConfigurationSpecification
9521
9522 2007-08-29  Dan Williams  <dcbw@redhat.com>
9523
9524         * libnm-glib/nm-settings.c
9525           libnm-glib/nm-settings.h
9526                 - make the dbus path a property of the object, and autogenerate it.
9527                 It can't be composed of the 'id' field becuase that's not available
9528                 yet during the GObject creation in nm_connection_settings_init()
9529
9530 2007-08-29  Dan Williams  <dcbw@redhat.com>
9531
9532         * introspection/nm-settings-connection.xml
9533           introspection/nm-settings.xml
9534                 - Service name -> NetworkManagerUserSettings because two services
9535                 can't share part of the same path.  I'm not really sure how we'll use
9536                 the same code with the system-settings daemon...
9537
9538 2007-08-28  Dan Williams  <dcbw@redhat.com>
9539
9540         * src/nm-device-interface.c
9541           src/nm-device-interface.h
9542                 - Kill one more bit of NMData
9543
9544 2007-08-28  Dan Williams  <dcbw@redhat.com>
9545
9546         * src/NetworkManagerSystem.h
9547           src/nm-device.c
9548           src/nm-device.h
9549           src/nm-hal-manager.c
9550           src/NetworkManager.c
9551           src/nm-device-802-11-wireless.c
9552           src/nm-hal-manager.h
9553           src/nm-device-802-3-ethernet.c
9554           src/vpn-manager/nm-vpn-service.h
9555           src/vpn-manager/nm-vpn-manager.c
9556           src/vpn-manager/nm-vpn-manager.h
9557           src/vpn-manager/nm-vpn-service.c
9558           src/nm-device-802-11-wireless.h
9559           src/NetworkManagerMain.h
9560           src/nm-device-802-3-ethernet.h
9561           src/backends/NetworkManagerGentoo.c
9562           src/backends/NetworkManagerPaldo.c
9563           src/backends/NetworkManagerFrugalware.c
9564           src/backends/NetworkManagerRedHat.c
9565           src/backends/NetworkManagerSlackware.c
9566           src/backends/NetworkManagerGeneric.c
9567           src/backends/NetworkManagerArch.c
9568           src/backends/NetworkManagerSuSE.c
9569           src/backends/NetworkManagerGeneric.h
9570           src/backends/NetworkManagerDebian.c
9571                 - Kill NMData
9572
9573 2007-08-28  Dan Williams  <dcbw@redhat.com>
9574
9575         * src/NetworkManagerMain.h
9576           src/nm-device-802-11-wireless.c
9577           src/NetworkManager.c
9578                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9579                 for now we should set the 'invalid' property on individual APs, and when
9580                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9581                 that ESS
9582
9583 2007-08-28  Dan Williams  <dcbw@redhat.com>
9584
9585         * src/NetworkManagerAP.c
9586           src/NetworkManagerAP.h
9587                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9588                         'autoconnect' property instead
9589
9590         * src/NetworkManager.c
9591           src/NetworkManagerMain.h
9592           src/NetworkManagerPolicy.c
9593           src/NetworkManagerPolicy.h
9594                 - Remove the 'allowed_ap_list', which should be replaced by 
9595                         NMConnection/NMSettings instead, since _those_ are the allowed
9596                         things that NM can connect to
9597
9598         * src/nm-device-802-11-wireless.c
9599                 - Remove both allowed_ap_list usage and 'fallback' checking
9600
9601 2007-08-28  Dan Williams  <dcbw@redhat.com>
9602
9603         * src/nm-device.c
9604           src/named-manager/nm-named-manager.c
9605           src/named-manager/nm-named-manager.h
9606           src/NetworkManager.c
9607           src/vpn-manager/nm-vpn-manager.c
9608           src/NetworkManagerMain.h
9609           src/NetworkManagerSystem.c
9610                 - Remove the named-manager object from NMData structure in preparation
9611                 for NMData's timely death.  Make the NMNamedManager the singleton that
9612                 it really is
9613
9614 2007-08-28  Dan Williams  <dcbw@redhat.com>
9615
9616         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9617         each AP's capabilities, and by NMConnection/NMSettings objects for user
9618         defined connections.
9619
9620         * include/NetworkManager.h
9621                 - Redefine 802.11 security properties.  There are now device capabilities
9622                         and AP flags and AP security flags.  It was way to unclear before.
9623
9624         * src/Makefile.am
9625           src/nm-ap-security-leap.h
9626           src/nm-ap-security-leap.c
9627           src/nm-ap-security-wpa-eap.c
9628           src/nm-ap-security-wpa-eap.h
9629           src/nm-ap-security-private.h
9630           src/nm-ap-security-wpa-psk.c
9631           src/nm-ap-security-wpa-psk.h
9632           src/nm-ap-security-wep.c
9633           src/nm-ap-security-wep.h
9634           src/nm-ap-security.c
9635           src/nm-ap-security.h
9636                 - Removed, to be replaced with NMConnection/NMSettings objects
9637
9638         * src/nm-dbus-nmi.c
9639           src/nm-dbus-nmi.h
9640                 - Removed, to be replaced by code that talks to the new info daemon
9641                         interface and gets NMConnection/NMSettings objects
9642
9643         * src/backends/NetworkManagerSuSE.c
9644                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9645                         info-daemon that does the same thing but talks the new info-daemon
9646                         D-Bus interface
9647
9648         * src/NetworkManagerAP.h
9649           src/NetworkManagerAP.c
9650           src/NetworkManagerAPList.c
9651           libnm-glib/libnm-glib-test.c
9652                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9653                         WPA/RSN
9654
9655         * libnm-glib/nm-access-point.c
9656           libnm-glib/nm-access-point.h
9657           introspection/nm-access-point.xml
9658           test/nm-tool.c
9659                 - Adjust to new flags for AP security
9660
9661         * utils/nm-utils.c
9662           utils/nm-utils.h
9663           src/vpn-manager/nm-dbus-vpn.c
9664                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9665                         stuff which is the only place it's used
9666
9667         * src/nm-device-interface.c
9668           src/nm-device-interface.h
9669           introspection/nm-device.xml
9670           src/nm-activation-request.c
9671           src/nm-activation-request.h
9672           src/nm-device.c
9673                 - Add a new 'specific_object' argument that hints to NM what actual
9674                         AP or other device-specific thing the connection should apply to.
9675                         NMConnection objects can apply to more than one actual device/AP.
9676
9677         * libnm-util/nm-connection.c
9678         * libnm-util/nm-connection.h
9679                 - Add 'have_secrets" call stubs
9680
9681         * libnm-util/cipher.h
9682                 - Move NM_AUTH_TYPE_* defines here for now
9683
9684         * src/nm-device-802-11-wireless.c
9685                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9686                         NMSettings objects
9687
9688         * src/NetworkManagerDbus.c
9689         * src/NetworkManagerPolicy.c
9690                 - Remove usage of update_allowed_networks, should be pushing data in
9691                         a different manner
9692
9693 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9694
9695         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9696         dbus-glib frees it when the call is done.
9697
9698 2007-08-26  Dan Williams  <dcbw@redhat.com>
9699
9700         * introspection/nm-device.xml
9701                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9702
9703 2007-08-26  Dan Williams  <dcbw@redhat.com>
9704
9705         * src/nm-device-802-3-ethernet.c
9706                 - (constructor): move connection of interface-connected/disconnected
9707                         signals here from real_bring_up().  Should be listening to netlink
9708                         for carrier events no matter what the initial state of the device
9709                         is.
9710
9711 2007-08-26  Dan Williams  <dcbw@redhat.com>
9712
9713         * src/nm-netlink-monitor.c
9714                 - (nm_netlink_monitor_class_init): fix marshalling types for
9715                         interface-connected/interface-disconnected
9716                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9717                         check
9718
9719 2007-08-26  Dan Williams  <dcbw@redhat.com>
9720
9721         Convert to using interface indexes as the primary method of identifying
9722         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9723         be renamed at any time.  Device object paths now refer to the device
9724         index rather than the name, and you can map those two manually if you like
9725         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9726         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9727         to use interface indexes rather than names.
9728
9729 2007-08-26  Dan Williams  <dcbw@redhat.com>
9730
9731         * src/nm-netlink-monitor.h
9732                 - Remove one last bit of wireless-event signal
9733
9734 2007-08-26  Dan Williams  <dcbw@redhat.com>
9735
9736         * src/nm-netlink-monitor.c
9737                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9738                         don't need the 'wireless-event' signal anymore since that's all
9739                         handled by wpa_supplicant
9740
9741 2007-08-25  Dan Williams  <dcbw@redhat.com>
9742
9743         It's 2007. Remove support for drivers that don't support wireless scanning.
9744
9745         * test/nm-tool.c
9746           include/NetworkManager.h
9747           src/NetworkManagerUtils.c
9748           src/NetworkManagerPolicy.c
9749           src/nm-device-802-11-wireless.c
9750                 - Remove special handling for non-scanning devices and mark them
9751                         as unsupported/unhandled
9752
9753 2007-08-20  Dan Williams  <dcbw@redhat.com>
9754
9755         * src/nm-device-802-11-wireless.c
9756           src/nm-device-802-3-ethernet.c
9757                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9758                         because when the card is pulled or the module removed, the device
9759                         is already !IFF_UP and then device-specific cleanup (removing
9760                         the supplicant interface, periodic checks, etc) never gets done
9761
9762 2007-08-20  Dan Williams  <dcbw@redhat.com>
9763
9764         * src/nm-manager.c
9765                 - (nm_manager_remove_device): bring device down before disconnecting
9766                         signal handlers, so that the 'state' signal will get broadcast when
9767                         the device enters the DOWN state
9768                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9769                         of states that cause the NMManager to recheck its state
9770
9771 2007-08-20  Dan Williams  <dcbw@redhat.com>
9772
9773         * src/supplicant-manager/nm-supplicant-interface.c
9774                 - (interface_disconnect_done): don't try to dispose of the net proxy
9775                         when it may already have been disposed of
9776
9777 2007-08-20  Dan Williams  <dcbw@redhat.com>
9778
9779         * src/nm-device-802-11-wireless.c
9780                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9781                         the SSID isn't available; this can happen when the card is pulled
9782                         or the module unloaded, during the post-removal deactivation
9783                         paths, when the ioctl returns ENODEV
9784
9785 2007-08-20  Dan Williams  <dcbw@redhat.com>
9786
9787         * src/nm-device-802-11-wireless.c
9788                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9789                         frequency, and mode match.  Applets are now responsible for grouping
9790                         access points
9791
9792 2007-08-20  Dan Williams  <dcbw@redhat.com>
9793
9794         * src/NetworkManagerAP.c
9795         * src/NetworkManagerAP.h
9796                 - (nm_ap_print_self): new function
9797
9798         * src/NetworkManagerAPList.c
9799                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9800                         to do it all here
9801         
9802 2007-08-17  Dan Williams  <dcbw@redhat.com>
9803
9804         * src/nm-device-802-3-ethernet.c
9805                 - (real_bring_down): don't try to dispose of stuff that might not
9806                         exist
9807
9808 2007-08-17  Dan Williams  <dcbw@redhat.com>
9809
9810         * src/NetworkManagerAP.c
9811                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9812                         applet.  This ensures that the case between the seen-bssids and
9813                         the bssids reported by the driver match.
9814
9815 2007-08-17  Dan Williams  <dcbw@redhat.com>
9816
9817         * src/nm-device-802-11-wireless.c
9818                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9819                         we dispose of the interface proxy in NM
9820
9821 2007-08-16  Dan Williams  <dcbw@redhat.com>
9822
9823         * libnm-glib/nm-client.c
9824                 - (nm_client_init): create VPN connections hash table with key free
9825                         function
9826                 - (proxy_vpn_connection_added): VPN connections hash table key should
9827                         be a duplicated value, not the same memory address as the VPN
9828                         connection name.  This is because the VPN connection name could
9829                         potentially be freed and set to something else during the lifetime
9830                         of the NMVPNConnection object.
9831
9832 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9833
9834         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9835         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9836         with the file descriptors. Send a child setup function to change the pppd
9837         progress group.
9838
9839 2007-08-15  Dan Williams  <dcbw@redhat.com>
9840
9841         * src/supplicant-manager/nm-supplicant-interface.c
9842                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9843                         an interface
9844                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9845                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9846                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9847                         the interface internally
9848
9849 2007-08-15  Dan Williams  <dcbw@redhat.com>
9850
9851         * src/nm-device-802-11-wireless.c
9852                 - (real_bring_down): move most of this function into device_cleanup()
9853                         so that it can be called from elsewhere
9854                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9855                         and stuff on dispose.  These would normally get cleaned up when
9856                         the device is marked down and deactivated, but when the device is
9857                         hot-unplugged, it's already down and real_down() never gets run
9858
9859 2007-08-15  Dan Williams  <dcbw@redhat.com>
9860
9861         * src/nm-dbus-nmi.c
9862                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9863                         caused a reference leak on device for which NM requested a key
9864
9865 2007-08-15  Dan Williams  <dcbw@redhat.com>
9866
9867         * libnm-glib/nm-client.c
9868                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9869
9870 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9871
9872         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9873         nothing is using it at the moment, but it'll be all useful and stuff later on.
9874
9875         * libnm-util/nm-setting.h: Define NMSettingPPP.
9876
9877         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9878
9879         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9880
9881         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9882
9883         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9884
9885         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9886
9887 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9888
9889         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9890
9891         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9892         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9893         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9894         name and different arguments and it won't compile anymore. To fix this, we now have
9895         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9896         that is new API + compatibility API and used by the daemon. The other, 
9897         nm-manager-client.xml is only the new API without compatibility bits and is used
9898         by libnm-glib to make it compile.
9899
9900         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9901
9902         * src/nm-manager.c (impl_manager_legacy_sleep)
9903         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9904         interface functions for 0.6 branch.
9905
9906 2007-08-14  Dan Williams  <dcbw@redhat.com>
9907
9908         * src/NetworkManagerAP.c
9909                 - (nm_ap_new_from_properties): fix mistaken check of return value
9910                         from memcmp (should expect 0)
9911
9912 2007-08-14  Dan Williams  <dcbw@redhat.com>
9913
9914         (force-commit to fix wrong comment and partial commit of r2685; this
9915          commit actually applies to r2685)
9916
9917         * src/NetworkManagerUtils.c
9918                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9919                         ignores trailing nulls in the SSID to work around mismatches in
9920                         expectations between WEXT and what the info-daemon passes back.  The
9921                         info-daemon would pass back the correct length, but due to the
9922                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9923                         the device would always have an SSID + 1 depending on what versions
9924                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9925                         visible by just quitting the applet and relaunching, which caused
9926                         NM to reassociated to the same network over again when reloading
9927                         the save networks.
9928
9929         * src/NetworkManagerPolicy.c
9930           src/NetworkManagerUtils.h
9931           src/nm-device-802-11-wireless.c
9932                 - Update for new parameter to nm_utils_same_ssid()
9933
9934 2007-08-14  Dan Williams  <dcbw@redhat.com>
9935
9936         * src/NetworkManagerAP.c
9937                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9938                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9939                         setting the BSSID to all 0s.  That confused the heck out of NM,
9940                         plus it's useless and probably out-of-spec.
9941
9942 2007-08-14  Dan Williams  <dcbw@redhat.com>
9943
9944         * callouts/Makefile.am
9945           src/dhcp-manager/nm-dhcp-manager.c
9946           src/dhcp-manager/nm-dhcp-manager.h
9947           src/dhcp-manager/Makefile.am
9948                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9949
9950 2007-08-14  Dan Williams  <dcbw@redhat.com>
9951
9952         * src/dhcp-manager/nm-dhcp-manager.c
9953                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9954                         it's really needed, get rid of unused xtra_args parameter
9955
9956 2007-08-14  Dan Williams  <dcbw@redhat.com>
9957
9958         * include/NetworkManagerVPN.h
9959           src/vpn-manager/nm-dbus-vpn.c
9960           src/vpn-manager/nm-dbus-vpn.h
9961           src/vpn-manager/nm-vpn-act-request.c
9962           src/vpn-manager/nm-vpn-act-request.h
9963           src/vpn-manager/nm-vpn-service.c
9964           src/vpn-manager/nm-vpn-service.h
9965           libnm-glib/nm-vpn-connection.c
9966           libnm-glib/nm-vpn-connection.h
9967           libnm-glib/nm-client.h
9968                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9969                         NMVPNServiceState to clarify what they apply to
9970                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9971                         NMVPNActStage -> NMVPNConnectionState for the same reason
9972
9973         * libnm-glib/nm-client.c
9974                 - Constant + type renames from above
9975                 - Properly handle NameOwnerChanged/manager_running signals
9976                         for NM service; only emit when state really changes
9977                 - Use hash tables correctly so that the key (which was previously owned
9978                         by the D-Bus message) now has the same lifetime as the value, since
9979                         the key is now taken from the the NMVPNConnection itself.  This
9980                         really fixes the double-VPN names in the applet
9981
9982 2007-08-13  Dan Williams  <dcbw@redhat.com>
9983
9984         Patch from Michael Biebl <biebl@debian.org>
9985
9986         * po/POTFILES.in
9987           po/POTFILES.skip
9988                 - Update for vpn-properties move
9989
9990 2007-08-13  Dan Williams  <dcbw@redhat.com>
9991
9992         * libnm-glib/nm-client.c
9993                 - Convert internal VPN connection tracking from a list to a hash table
9994                         to easily avoid duplicates
9995                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9996                         must be freed by the caller, like nm_client_get_devices()
9997                 - (nm_client_remove_vpn_connection): don't let the removal signal
9998                         leak through for NMVPNConnection objects that aren't actually
9999                         tracked.
10000                 - (manager_running): throw away VPN connection list when NM goes away,
10001                         like with the device list
10002
10003 2007-08-13  Dan Williams  <dcbw@redhat.com>
10004
10005         * src/dhcp-manager/nm-dhcp-manager.c
10006                 - Stop any dhclient instance that might be already running for a
10007                         particular interface before starting an NM spawned dhclient.  Fixes
10008                         dhclient processes left over if NM crashes, stuff like that.
10009
10010 2007-08-13  Dan Williams  <dcbw@redhat.com>
10011
10012         * src/NetworkManagerAP.c
10013                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10014                         when the AP wasn't broadcasting it's SSID
10015
10016 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10017
10018         * include/NetworkManager.h: added DBus path for connection settings.
10019
10020         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10021         nm_connection_settings_signal_updated,
10022         nm_connection_settings_signal_removed): new functions to wrap the
10023         objects' signals.
10024         (nm_connection_settings_init): register GObject with DBus.
10025         (nm_connection_settings_get_dbus_object_path): new function.
10026
10027         * libnm-glib/Makefile.am: added libnmutil to link flags.
10028
10029 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10030
10031         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10032
10033         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10034         libnm_glib directory got merged with libnm-glib/.
10035
10036         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10037
10038         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10039         Rename the library from libnm-glib to libnm_glib to maintain the library API
10040         compatibility with 0.6 branch.
10041
10042         * Makefile.am: Remove gnome/ SUBDIR.
10043
10044         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10045
10046         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10047
10048         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10049
10050         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10051         anymore.
10052         Remove checks for wpa_supplicant binary, it's used over dbus.
10053         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10054
10055         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10056         Link the binaries with libnm_glib.la.
10057
10058 2007-08-12  Dan Williams  <dcbw@redhat.com>
10059
10060         * src/NetworkManagerPolicy.c
10061                 - (nm_policy_device_change_check): fix policy to deactivate old device
10062                         before activating new one, at least until the multiple active
10063                         device support lands
10064
10065 2007-08-12  Dan Williams  <dcbw@redhat.com>
10066
10067         * src/NetworkManagerPolicy.c
10068                 - (nm_policy_new): hook up to connection-added / connection-removed
10069                         signals instead of connections-changed
10070
10071 2007-08-12  Dan Williams  <dcbw@redhat.com>
10072
10073         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10074         Robert Frank <rfrank@redhat.com>
10075
10076         * src/dhcp-manager/nm-dhcp-manager.c
10077           src/dhcp-manager/nm-dhcp-manager.c
10078           src/nm-device.c
10079                 - Spawn and communicate with dhclient directly, through means of a
10080                 custom dhclient callout script.  Process callout D-Bus signals
10081                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10082                 sent via gobject signals rather than being driven by the dhcp manager
10083                 directly.
10084
10085 2007-08-12  Dan Williams  <dcbw@redhat.com>
10086
10087         * callouts/nm-dhcp-client-action.c
10088                 - (build_message): ignore non-DHCP-related environment variables
10089
10090 2007-08-12  Dan Williams  <dcbw@redhat.com>
10091
10092         * Makefile.am
10093           configure.in
10094           callouts/Makefile.am
10095           callouts/nm-dhcp-client-action.c
10096           callouts/nm-dhcp-client.conf
10097                 - Add dhclient-executed callout that takes the place of dhclient-script
10098                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10099                 NM then listens for
10100
10101 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10102
10103         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10104
10105         * libnm-glib/nm-client.h:
10106         * libnm-glib/nm-object.h:
10107         * libnm-glib/nm-vpn-connection.h:
10108         * libnm-glib/nm-settings.h:
10109         * libnm-glib/nm-device.h:
10110         * libnm-glib/nm-ip4-config.h:
10111         * libnm-glib/nm-access-point.h:
10112         * libnm-glib/nm-device-802-3-ethernet.h:
10113         * libnm-util/nm-setting.h: 
10114         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10115
10116         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10117
10118         * libnm-glib/nm-access-point.c: Strength has type char.
10119
10120         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10121         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10122
10123         * introspection/nm-access-point.xml: Strength property is char, not int.
10124
10125         * src/NetworkManagerAP.c (set_property): Set strength from char.
10126         (get_property): Handle hidden APs (with empty SSID).
10127         Get strength value from char.
10128         (nm_ap_class_init): Strength property has char type.
10129
10130 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10131
10132         * introspection/Makefile.am:
10133         * introspection/nm-settings.xml:
10134         * introspection/nm-settings-connection.xml: added Settings interfaces.
10135
10136         * libnm-glib/nm-settings.[ch]:
10137         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10138         containing the DBus implementation.
10139
10140 2007-07-26  Dan Williams  <dcbw@redhat.com>
10141
10142         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10143
10144         * src/NetworkManagerSystem.c
10145                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10146                         same subnet (#437396)
10147
10148 2007-07-26  Dan Williams  <dcbw@redhat.com>
10149
10150         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10151
10152         * gnome/vpn-properties/nm-vpn-properties.c
10153                 - Fix translatable strings (#445865)
10154
10155 2007-07-26  Dan Williams  <dcbw@redhat.com>
10156
10157         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10158
10159         * configure.in
10160                 - Remove useless junk (#412530)
10161
10162 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10163
10164         Patch from Robert Buchholz <rbu@gentoo.org>:
10165
10166         * configure.in:
10167         * Makefile.am:
10168         * introspection/Makefile.am:
10169         Make make distcheck work again.
10170
10171 2007-06-27  Dan Williams  <dcbw@redhat.com>
10172
10173         * Make SSIDs GByteArrays everywhere
10174         * Rename "essid" -> "ssid" everywhere that's appropriate
10175         * Refcount activation_ap member of the 802.11 wireless device class
10176
10177 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10178
10179         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10180
10181 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10182
10183         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10184         that we got a new AP when we just update existing AP properties.
10185
10186 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10187
10188         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10189
10190         * nm-utils.[ch]: Remove.
10191
10192         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10193         objects for easy property access and dbus connection handling.
10194
10195         * libnm-glib/nm-client.c: Derive from NMObject.
10196
10197         * libnm-glib/nm-device.c: Ditto.
10198
10199         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10200
10201         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10202
10203         * libnm-glib/nm-ip4-config.c: Ditto.
10204
10205         * libnm-glib/nm-access-point.c: Ditto.
10206
10207         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10208         comparision. Currently used by the device activation code to determine if the new
10209         activation is the same as the old one.
10210
10211         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10212         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10213         able to ask password for the AP.
10214
10215         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10216         up if the device is already connected, tear down it's connection (if it isn't the
10217         same as new one) and start the activation.
10218
10219         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10220
10221         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10222         the issue where all APs are always listed as encrypted.
10223
10224         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10225         their own registered paths.
10226
10227         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10228         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10229
10230 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10231
10232         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10233         (0 & 0 == 0, doh)
10234
10235         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10236         because the handling code will cause the next state change and signal listeners
10237         get the signals in wrong order.
10238
10239         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10240         correctly in case of pending activation.
10241
10242         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10243         Convert the essid byte array to string correctly, including the terminating NULL.
10244
10245         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10246         mode with correct types.
10247
10248         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10249         constructed info to dbus call instead of the activation request.
10250
10251 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10252
10253         Patch from Christian Persch <chpe@gnome.org>
10254
10255         * libnm-glib/Makefile.am:
10256         * dispatcher-daemon/Makefile.am:
10257         Use the correct variables, the correct paths, and correct ordering. (446315)
10258
10259 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10260
10261         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10262         argument. The activation request is easy to retrieve.
10263
10264         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10265         just to be a convenient location for devices to store random stuff.
10266
10267 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10268
10269         Patch from Alex Smith <alex@alex-smith.me.uk>
10270
10271         * src/backends/NetworkManagerFrugalware.c:
10272         Update the FrugalWare backend to fix a few segfaults. (#392642)
10273
10274 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10275
10276         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10277
10278         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10279         setting.
10280         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10281
10282 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10283
10284         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10285         automagically.
10286         Implement NMSettingIP4Config.
10287         Finish NMSettingWired by adding all known members.
10288         (setting_wired_verify): Implement.
10289         Finish NMSettingWireless by adding all known members.
10290         (setting_wireless_verify): Implement.
10291
10292         * libnm-util/nm-connection.c: Register "ipv4" setting.
10293         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10294         dump function, we can introspect the GHashTable which is used for sending connections
10295         over dbus.
10296
10297         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10298         Take GByteArray for essid, it's really not a string.
10299
10300         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10301         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10302         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10303         means overriding the values we got from DHCP.
10304         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10305         (nm_device_deactivate_quickly): Ditto.
10306
10307         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10308         for debugging.
10309
10310 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10311
10312         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10313         NMConnection.
10314
10315         * libnm-glib/nm-device-802-11-wireless.c:
10316         (nm_device_802_3_ethernet_activate): Remove.
10317
10318         * libnm-glib/nm-device-802-3-ethernet.c
10319         (nm_device_802_3_ethernet_activate): Remove.
10320
10321         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10322
10323         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10324         NMConnection.
10325
10326         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10327         activation has started.
10328         Implement the new activation using NMConnection.
10329
10330         * src/nm-activation-request.c: Store a generic connection object instead
10331         of a wireless-specific AP.
10332
10333         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10334         on device type, create a device specific connection object suitable for
10335         device activation.
10336
10337         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10338         specific check to validate the connection and on success start the
10339         activation.
10340
10341         * src/nm-device-interface.h: Add a activate virtual function to the
10342         interface definition.
10343
10344         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10345         (impl_device_activate): Implement.
10346
10347         * introspection/nm-device.xml: Add a generic device activation interface
10348         that accepts an abstract NMConnection structure that has device-specific
10349         information in it.
10350
10351         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10352         activation interface.
10353
10354         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10355         activation interface.
10356
10357         * libnm-util/nm-connection.c: 
10358         * libnm-util/nm-connection.h: 
10359         * libnm-util/nm-setting.c:
10360         * libnm-util/nm-setting.h: Add.
10361
10362         * libnm-util/Makefile.am: Build the added files.
10363
10364         * src/nm-dbus-manager.c
10365         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10366         DbusConnection argument from 'name-owner-changed' signal. The manager
10367         is already passed as a first argument to the signal and the connection
10368         is easy enough to get from it.
10369
10370         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10371         Update the signature of the function.
10372
10373         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10374         Ditto.
10375
10376         * src/NetworkManager.c: Ditto.
10377
10378         * src/named-manager/nm-named-manager.c
10379         (nm_named_manager_name_owner_changed): Ditto.
10380
10381         * src/supplicant-manager/nm-supplicant-manager.c
10382         (nm_supplicant_manager_name_owner_changed): Ditto.
10383
10384         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10385
10386         * src/dhcp-manager/nm-dhcp-manager.c
10387         (nm_dhcp_manager_name_owner_changed): Ditto.
10388
10389         * src/nm-hal-manager.c: Add a list of device detectors and creators
10390         to make it easier to add new devices. Each device type has it's own
10391         entry in the table so adding new device types is only a matter of
10392         implementing a couple of functions, one for device detection and the
10393         other for device creation.
10394
10395 2007-04-25  Dan Williams  <dcbw@redhat.com>
10396
10397         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10398                 (gnome.org #432401)
10399
10400 2007-03-30  Dan Williams  <dcbw@redhat.com>
10401
10402         * src/NetworkManagerSystem.c
10403                 - (nm_system_device_set_ip4_route): clean up and fix argument
10404                         to nm_dev_sock_open()
10405
10406 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10407
10408         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10409         data to correct types instead of always using string.
10410
10411         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10412         _not_ have NM_802_11_CAP_PROTO_NONE.
10413         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10414         is not set.
10415
10416 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10417
10418         * libnm-glib/Makefile.am: Fix the build issue.
10419
10420 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10421
10422         * libnm-glib/nm-vpn-connection.h: 
10423         * libnm-glib/nm-vpn-connection.c: Implement.
10424
10425         * libnm-glib/nm-client.c: Add VPN support.
10426
10427         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10428         handler for VPN.
10429
10430         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10431         on DBUS again.
10432
10433 2007-03-26  Dan Williams  <dcbw@redhat.com>
10434
10435         * src/NetworkManagerAPList.c
10436         * src/nm-device-802-11-wireless.c
10437         * src/NetworkManagerAP.c:
10438                 - Store last seen as glong instead of GTimeVal.
10439                 - Fix the upper bound of capabilities, it's a bitfield.
10440
10441 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10442
10443         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10444
10445         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10446         "manager-running" signal that notifies the appearance/disappearance of NM.
10447         (nm_client_sleep): Implement.
10448
10449         * libnm-glib/nm-device.c:
10450         * libnm-glib/nm-device-802-11-wireless.c: 
10451         * libnm-glib/nm-device-802-3-ethernet.c: 
10452
10453         Don't inherit from DBusGProxy, add a proxy to private
10454         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10455         for anything but their own dbus interface. DBusGProxy objects support only one
10456         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10457         interface. The nice side effect of this change is that we do not create a new
10458         DBusGProxy object for each property access.
10459
10460 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10461
10462         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10463         with zeroes before passing them to functions - the functions never do that and
10464         reading the values back may produce wrong values.
10465         (real_bring_up): Store the signal handler id ...
10466         (real_bring_down): ... So that it can be removed here.
10467         Disconnect the supplicant interface here as well.
10468         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10469         from the access point instead of old $device/Networks/$essid.
10470
10471         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10472         device state is connected (instead of just having link/carrier).
10473
10474         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10475         already easily accessible through the device.
10476
10477         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10478         store it within the object.
10479         (nm_ap_get_dbus_path): Export it to public as well.
10480
10481         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10482         of the singleton.
10483
10484 2007-03-12  Dan Williams  <dcbw@redhat.com>
10485
10486         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10487         for non-carrier-detect capable devices, and useless for carrier-detect
10488         devices since we get notifications from netlink about carrier status anyway.
10489
10490         * src/nm-device-802-3-ethernet.c
10491                 - remove 'link_source_id' member from private data
10492                 - (probe_link): remove and collapse into real_update_link()
10493                 - (nm_device_802_3_periodic_update): remove
10494                 - (real_is_up): check for sup_iface rather than link_source_id
10495                 - (real_bring_up): return gboolean for success/fail; require that
10496                         sup_iface be valid for device bringup to succeed
10497                 - (real_bring_down): zero out link signal ids
10498
10499         * src/nm-device.c
10500                 - (nm_device_activate_stage2_device_config): fail activation if device
10501                         bringup fails
10502                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10503                         fails
10504                 - (nm_device_bring_up): return success/fail
10505
10506         * src/nm-device.h
10507                 - bring_up now returns success/fail
10508
10509         * src/nm-device-802-11-wireless.c
10510                 - (real_bring_up): return success from bringup
10511
10512 2007-03-07  Dan Williams  <dcbw@redhat.com>
10513
10514         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10515         * src/nm-ap-security-wpa-psk.c
10516                 - (real_write_supplicant_config): work with PSKs that may contain
10517                         zeros in the binary format rather than treating it as a string
10518
10519 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10520
10521         * libnm-glib/nm-device-802-11-wireless.c
10522         (nm_device_802_11_wireless_get_capabilities): Implement.
10523
10524         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10525
10526         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10527
10528         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10529         reply only if it's not NULL. Not sure why this started happening right now.
10530
10531         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10532         code paths for when devices get removed on shutdown or when a device is just
10533         removed.
10534         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10535         gets freed so any signal from a device (disconnected for instance) would invoke
10536         NMState update which would crash.
10537         (nm_manager_remove_device): Bring the device down when it gets removed.
10538
10539         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10540         the unused dev_type.
10541
10542         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10543         reference to the added device, NMManager will own it (if it wants).
10544
10545         * test/nm-tool.c: Rewrite using libnm-glib.
10546
10547         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10548         We get signalled when it changes.
10549
10550         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10551         when it changes.
10552
10553         * libnm-glib/nm-device.c: Cache the device state property.
10554
10555         * libnm-glib/nm-access-point.c: Cache the strength property.
10556
10557         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10558         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10559         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10560         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10561         the device is down, activating, or activated (in case of A/B/G cards).
10562         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10563         it's all done through supplicant now.
10564
10565         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10566         counting issues with pending calls which caused leaks and crashes when
10567         interface was removed (now that the interface actually gets removed).
10568
10569         * src/nm-call-store.c: Make a copy of data before running a foreach
10570         with user callback on it - The most common usage pattern is to cancel
10571         (and thus remove) all pending calls with foreach which would modify
10572         the hash table we're iterating over.
10573
10574         * src/nm-manager.c: When a device is added, make sure it is "up". When
10575         it's removed or disabled due to disabling wireless or networking, bring
10576         it down.
10577
10578         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10579
10580         * src/nm-device-802-11-wireless.c: 
10581         * src/nm-device-802-3-ethernet.c: 
10582         * src/nm-device.c:
10583                 - Remove "init" virtual function, all gobjects have a place for that
10584                   already (constructor).
10585                 - Replace "start" virtual function with "bring_up", devices can be
10586                   brought up and down more than just on startup now.
10587                 - Add "is_up" virtual function.
10588                 - Implement one way to bring a device down instead of previous 4 different
10589                   ways, each of witch did something different.
10590
10591         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10592         all it needs is the device interface.
10593
10594         Get rid of NMData.dev_list (3 members to go).
10595         Get rif of NMData in a lot of places.
10596
10597         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10598
10599 2007-02-23  Dan Williams  <dcbw@redhat.com>
10600
10601         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10602
10603         * src/NetworkManagerAP.c
10604                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10605                         OR-ing rather than AND-ing
10606
10607 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10608
10609         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10610         "network-removed" signals.
10611
10612         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10613
10614         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10615         when receiving the signal from dbus.
10616
10617         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10618         property.
10619
10620         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10621         deactivation of the previously activated device working again.
10622
10623         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10624         and setter.
10625
10626         * src/nm-device.c (nm_device_is_activated): Remove.
10627         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10628
10629         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10630         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10631         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10632         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10633         Remove NMNetworkStatus and NMActStage enums.
10634
10635 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10636
10637         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10638         Handle device state changes and disconnect VPN if it's device deactivates.
10639
10640         * src/nm-dbus-nm.c: 
10641         * src/nm-dbus-nm.h: 
10642         * src/nm-dbus-device.c: 
10643         * src/nm-dbus-device.c: 
10644         * src/nm-dbus-net.c: 
10645         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10646
10647         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10648
10649         * src/nm-device.c (nm_device_get_by_udi):
10650         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10651         implemented in the correct location (NMManager).
10652         Rip out all the test_device stuff.
10653
10654         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10655         failure handlers, it's all done by NMDevice already.
10656
10657         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10658         Remove the iochannel hack to route the unix signals to the main thread since
10659         we're not threaded anymore.
10660
10661         * src/NetworkManagerAP.c: Implement HWAddress property.
10662
10663         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10664         automatically with dbus-glib.
10665
10666         * src/nm-netlink-monitor.c: 
10667         * src/nm-netlink-monitor.h:
10668                 - Move it low in the class hierarchy, don't reference any NM types.
10669                 - Remove private data from the header.
10670                 - Use type safe checks in public API methods.
10671                 - Make it a singleton so we don't have to pass the single reference around.
10672
10673 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10674
10675         * introspection/nm-ip4-config.xml: Implement.
10676
10677         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10678
10679         * libnm-glib/nm-ip4-config.c:
10680         * libnm-glib/nm-ip4-config.c: Implement.
10681
10682         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10683         securities. APs reference security.
10684
10685         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10686         be exported over DBUS.
10687
10688         * src/nm-device-802-3-ethernet.c: Ditto.
10689
10690         * src/NetworkManagerAP.c:
10691         * src/NetworkManagerAP.h:
10692                 - Convert to GObject, export over DBUS.
10693
10694         * src/nm-ip4-config.h:
10695         * src/nm-ip4-config.h:
10696                 - Convert to GObject, export over DBUS.
10697
10698 2007-02-12  Dan Williams  <dcbw@redhat.com>
10699
10700         Patch from Helmut Schaa <hschaa@suse.de>
10701
10702         * vpn-daemons/pptp/configure.in
10703           vpn-daemons/pptp/Makefile.am
10704           vpn-daemons/openvpn/configure.in
10705           vpn-daemons/openvpn/Makefile.am
10706           vpn-daemons/vpnc/configure.in
10707           vpn-daemons/vpnc/Makefile.am
10708                 - Add --without-gnome switch which disables building gnome bits
10709
10710 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10711
10712         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10713
10714         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10715
10716         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10717         'HwAddress'.
10718
10719         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10720
10721         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10722
10723         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10724
10725         * src/:
10726                 - Remove old low-level dbus interface implementations and replace them
10727                   with dbus-glib one.
10728
10729         * configure.in:
10730                 - Require dbus-glib >= 0.72.
10731                 - Plug in new sources to build.
10732
10733         * libnm-glib/:
10734                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10735                   to make it more convenient to use from GObject based programs.
10736
10737         * introspection/:
10738                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10739
10740 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10741
10742         * src/nm-device-802-11-wireless.c:
10743                 - Add "network-added" and "network-removed" signals.
10744                 - Use gobject boilerplate macros to define the GObject.
10745                 - Implement wireless device activation.
10746                 - Remove activation_failure_handler and activation_success_handler
10747                   and instead listen on state-changed signals and run the same code
10748                   from there.
10749
10750         * src/nm-device.c:
10751                 - Implment NMDeviceInterface::deactivate.
10752                 - Remove activation_failure_handler and activation_success_handler
10753                   virtual methods. Each device which is interested in these events
10754                   can just listen on it's state changed signals.
10755
10756         * src/NetworkManagerPolicy.c:
10757                 - Move a bit more NMData usage to NMManager.
10758                 - Remove activation scheduling bits.
10759                 - Add listeners for wireless device's "network-added" and
10760                   "network-removed" signals.
10761                 - Listen device changed signals and deactivate currently activated
10762                   device when another device start activating (for now).
10763                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10764                   for calling this, the policy code knows exactly when this should happen,
10765                   by listening on events from NMManager and NMDevices.
10766
10767         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10768         Implement.
10769
10770         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10771         method on the specific device instead of going to through policy code
10772         and determining the device type by passed in AP's existance.
10773
10774         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10775         abstract NMDevice deactivation.
10776
10777 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10778
10779         * src/NetworkManager.c:
10780                 - Set up all the shiny new managers.
10781
10782         * src/NetworkManagerPolicy.c:
10783                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10784                   classes to call into policy code, make the policy code kind of like
10785                   a supervisor that monitors what's going on and drives the whole NM.
10786
10787         * src/nm-hal-manager.c: 
10788         * src/nm-hal-manager.h:
10789                 - Collect all libhal code scattered around NM to this one class.
10790                 - Listen libhal and NMManager events and add/remove devices to
10791                   NMManager.
10792
10793         * src/nm-manager.c:
10794         * src/nm-manager.h:
10795                 - Implment a replacement for NMData. NMData is now officially
10796                 deprecated.
10797
10798 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10799
10800         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10801         * src/supplicant-manager/nm-supplicant-interface.h
10802         * src/supplicant-manager/nm-supplicant-interface.c
10803         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10804         argument to boolean from enum.
10805
10806         Make NMDevice abstract class, remove almost all references to it's
10807         subclasses (the last place gets removed with new policy manager). Add
10808         NMDeviceInterface (which NMDevice implements) so that when we have
10809         NMDevice exported over DBUS, there's a common NMDevice interface which
10810         all instances have, plus there's a device specific interface for each
10811         specific type.
10812         Remove functions (nm_device_is_802_3_ethernet) and
10813         (nm_device_is_802_11_wireless). There are already standard GObject macros
10814         for type safe checks.
10815         Use the updated supplican manager API.
10816
10817         * src/nm-device-interface.h: 
10818         * src/nm-device-interface.c: 
10819         * src/nm-call-store.h: 
10820         * src/nm-call-store.c: Implement.
10821
10822         * src/supplicant-manager/nm-supplicant-interface.c:
10823         * src/supplicant-manager/nm-supplicant-interface.h:
10824         * src/supplicant-manager/nm-supplicant-manager.c:
10825         * src/supplicant-manager/nm-supplicant-manager.h:
10826                 - Remove all private data type references from public header files.
10827                 - Remove all references to other NM classes, this class is just a
10828                   proxy between wpa_supplicant and NM so it doesn't have to know
10829                   any internals.
10830                 - Convert to dbus-glib bindings.
10831                 - Type safe checks for public methods' arguments.
10832                 - Store pending DBUS call ids to NMCallStore.
10833
10834         * src/supplicant-manager/nm-supplicant-config.c:
10835                 - Store config values in a GHashTable instead of GSList.
10836
10837         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10838
10839         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10840         singleton now.
10841
10842         * src/nm-device.c: Use the new DHCP manager API.
10843
10844         * src/nm-activation-request.c:
10845         * src/nm-activation-request.h:
10846                 - Remove all dhcp related properties and methods.
10847
10848         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10849
10850         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10851
10852         * src/dhcp-manager/nm-dhcp-manager.c:
10853         * src/dhcp-manager/nm-dhcp-manager.h:
10854                 - Convert it to GObject since we need to signal state changes.
10855                 - Remove all references to other NM classes, this class is one
10856                   of the lowest classes in our hierarchy.
10857                 - One less class to use NMActRequest.
10858                 - Make it singleton, one less user of NMData.
10859                 - Remove a couple of sleep() calls.
10860                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10861                   One less class to use the NM's custom tailored signal handlig.
10862
10863         * Makefile.am: Generate marshallers, add them to build.
10864
10865 2007-02-02  Dan Williams  <dcbw@redhat.com>
10866
10867         * configure.in
10868           gnome/Makefile.am
10869           nm-applet.desktop
10870           Makefile.am
10871                 - Remove last bits referencing gnome applet
10872
10873 2007-02-02  Dan Williams  <dcbw@redhat.com>
10874
10875         * src/vpn-manager/nm-vpn-service.c
10876                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10877                         and NBNS server addresses
10878
10879 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10880
10881         * src/nm-dbus-manager.c:
10882         * src/nm-dbus-manager.h:
10883                 - Convert all internal DBUS code to use dbus-glib bindings.
10884                 - Remove GObject properties, we don't need them here.
10885                 - Don't explicitly set things to NULL after freeing, glib is
10886                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10887                 - Make public API argument checks type safe.
10888                 - Remove unnecessary (and wrong) cast to GObject for the first
10889                   argument to g_signal_* calls - The first argument is a gpointer.
10890                 - Export DBusGConnection to other cool classes that (are going to)
10891                   use dbus-glib.
10892
10893 2007-01-26  Dan Williams  <dcbw@redhat.com>
10894
10895         * libnm-util/dbus-dict-helpers.c
10896           libnm-util/dbus-dict-helpers.h
10897                 - Coordinate style with wpa_supplicant version to minimize diff
10898                 - Add uint32 array support
10899                 - (nmu_dbus_dict_append_uint32_array): new function
10900                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10901                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10902                         version; allow adding string array elements individually
10903
10904         * test/libnm-util/test-dbus-dict-helpers.c
10905                 - Test uint32 arrays
10906
10907 2007-01-27  Jürg Billeter  <j@bitron.ch>
10908
10909         * src/backends/NetworkManagerPaldo.c
10910                 - (nm_system_update_dns): clear nscd hosts cache
10911
10912 2007-01-04  Dan Williams  <dcbw@redhat.com>
10913
10914         Threading removal related cleanups:
10915
10916         - Use the glib default main context.  Remove the device main context
10917                 member from NMDevice, and the main_context member from NMData.  Change
10918                 all the idle and timeout scheduler functions to use plain
10919                 g_idle_add() and g_timeout_add().
10920
10921         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10922                 takes an argument; fix that up too.
10923
10924         - Remove all locking, which is useless since we no longer use threads.  For
10925                 example, nm_get_device_by_iface_locked() has been removed.  The global
10926                 device list lock, the AP List lock, and all static locks in
10927                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10928                 in NetworkManagerUtils.c have also been removed.
10929
10930         - Other cleanups in spacing and code style
10931
10932 2007-01-01  Dan Williams  <dcbw@redhat.com>
10933
10934         Found by Bill Moss:
10935
10936         * src/supplicant-manager/nm-supplicant-interface.c
10937                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10938                         the supplicant interface wasn't already disconnected.  Always
10939                         call removeNetwork and disconnect unless the supplicant interface
10940                         is in the DISCONNECTED or INACTIVE state.
10941
10942 2006-12-28  Dan Williams  <dcbw@redhat.com>
10943
10944         Use a single thread for everything.  With the move to wpa_supplicant
10945         and communication over D-Bus, there's no reason for multiple threads.
10946         Almost all of the blocking code has been removed, with one exception in
10947         the DHCP manager and a few in the VPN manager.  This commit removes the
10948         per-device worker thread and fixes activation cancellation in the absence
10949         of threads.  Further removal of thread-related code would be removing
10950         any locking code (like the device list lock) and simplification of logic
10951         around areas of code or data structures that are currently locked.
10952
10953         * autoip.c
10954           dhcp-manager/nm-dhcp-manager.c 
10955           nm-device-802-11-wireless.c
10956           nm-device-802-3-ethernet.c
10957           nm-device.c
10958           nm-device.h
10959                 - Remove usage of multiple threads
10960
10961 2006-12-19  Dan Williams  <dcbw@redhat.com>
10962
10963         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10964         plus a few other patches from wpa_supplicant bugzilla.
10965
10966         * src/Makefile.am
10967           src/NetworkManagerPolicy.c
10968           src/NetworkManagerUtils.c
10969           src/NetworkManagerUtils.h
10970           src/nm-ap-security-leap.c
10971           src/nm-ap-security-wep.c
10972           src/nm-ap-security-wpa-eap.c
10973           src/nm-ap-security-wpa-psk.c
10974           src/nm-ap-security.c
10975           src/nm-ap-security.h
10976           src/nm-device-802-11-wireless.c
10977           src/nm-device-802-11-wireless.h
10978           src/supplicant-manager/nm-supplicant-config.c
10979           src/supplicant-manager/nm-supplicant-config.h
10980           src/supplicant-manager/nm-supplicant-interface.c
10981           src/supplicant-manager/nm-supplicant-interface.h
10982           src/supplicant-manager/nm-supplicant-marshal.list
10983           src/supplicant-manager/nm-supplicant-settings-verify.c
10984           src/supplicant-manager/nm-supplicant-settings-verify.h
10985                 - Move all connection management and association handling to
10986                         wpa_supplicant over dbus, rather than spawning a private copy
10987
10988 2006-12-19  Dan Williams  <dcbw@redhat.com>
10989
10990         * src/NetworkManagerPolicy.c
10991                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10992                         better locking of the device change check handler ID.  Incorrect
10993                         locking was causing lost device change requests
10994
10995 2006-12-18  Dan Williams  <dcbw@redhat.com>
10996
10997         * libnm-util/dbus-dict-helpers.c
10998                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10999                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11000                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11001
11002 2006-12-18  Dan Williams  <dcbw@redhat.com>
11003
11004         * gnome/libnm_glib/libnm_glib.c
11005                 - Change dbus_connection_close() -> dbus_connection_unref()
11006
11007 2006-12-11  Dan Williams  <dcbw@redhat.com>
11008
11009         * src/supplicant-manager/nm-supplicant-interface.c
11010                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11011                         wpa_supplicant interface state
11012                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11013                         state before transitioning to READY state
11014
11015 2006-12-04  Dan Williams  <dcbw@redhat.com>
11016
11017         * src/nm-device-802-11-wireless.c
11018                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11019                         odd length of ESSID returned from ieee80211 stack-based drivers
11020
11021 2006-12-04  Dan Williams  <dcbw@redhat.com>
11022
11023         * src/nm-device-802-11-wireless.c
11024                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11025                         IE handling blocks that cause mis-parsing of the IE
11026
11027 2006-12-04  Dan Williams  <dcbw@redhat.com>
11028
11029         * src/nm-device-802-11-wireless.c
11030                 - (init_supplicant_interface): new function; pull supplicant interface
11031                         setup code out into standalone function since it must be called from
11032                         two different places
11033                 - (real_init): sup_mgr is now in private object data; get and track
11034                         the supplicant manager object over the NMDevice subclass' lifetime
11035                         and register a signal handler for its state signals; only try to
11036                         initialize the supplicant interface if the supplicant manager is in
11037                         the IDLE state (and therefore is ready for requests)
11038                 - (request_wireless_scan): reschedule the scan request if (a) there is
11039                         no supplicant interface yet (meaning wpa_supplicant isn't running
11040                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11041                         for requests yet
11042                 - (supplicant_iface_connection_state_cb): new function; stub for
11043                         handling supplicant interface connection state signals
11044                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11045                         comes and goes
11046                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11047                         supplicant manager object that's being tracked starting with this
11048                         commit
11049
11050 2006-12-04  Dan Williams  <dcbw@redhat.com>
11051
11052         * src/supplicant-manager/nm-supplicant-interface.c
11053                 - (nm_supplicant_interface_set_property): track signal handler ID
11054                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11055
11056 2006-12-04  Dan Williams  <dcbw@redhat.com>
11057
11058         * src/supplicant-manager/nm-supplicant-interface.[ch]
11059                 - (nm_supplicant_interface_get_state): new function
11060
11061 2006-12-04  Dan Williams  <dcbw@redhat.com>
11062
11063         * src/supplicant-manager/nm-supplicant-interface.c
11064                 - (bssid_properties_cb): don't treat DBus errors as valid
11065                         scanned AP messages
11066
11067 2006-12-04  Dan Williams  <dcbw@redhat.com>
11068
11069         * src/supplicant-manager/nm-supplicant-interface.[ch]
11070                 - (nm_supplicant_interface_get_connection_state): new function
11071                 - define new supplicant connection states
11072                 - send a signal when the supplicant connection state changes
11073
11074 2006-12-03  Dan Williams  <dcbw@redhat.com>
11075
11076         * src/supplicant-manager/Makefile.am
11077           src/supplicant-manager/nm-supplicant-connection.h
11078           src/supplicant-manager/nm-supplicant-connection.c
11079           src/supplicant-manager/nm-supplicant-config.h
11080           src/supplicant-manager/nm-supplicant-config.c
11081           src/supplicant-manager/nm-supplicant-types.h
11082           src/supplicant-manager/nm-supplicant-interface.h
11083           src/supplicant-manager/nm-supplicant-interface.c
11084                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11085
11086 2006-12-03  Dan Williams  <dcbw@redhat.com>
11087
11088         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11089
11090         * po/POTFILES.in
11091           po/POTFILES.skip
11092                 - Move VPN-related translatables to .skip
11093
11094         * vpn-daemons/pptp/po/POTFILES.in
11095                 - Update with new translatables
11096
11097 2006-12-02  Dan Williams  <dcbw@redhat.com>
11098
11099         Patch from Christian Persch <chpe@gnome.org>
11100
11101         * gnome/applet/Makefile.am
11102           gnome/applet/applet-dbus-devices.c
11103           gnome/applet/applet-notifications.c
11104           gnome/applet/applet.c
11105           gnome/applet/applet.h
11106           gnome/applet/main.c
11107                 - Be a GtkStatusIcon on GTK+ >= 2.10
11108
11109 2006-12-02  Dan Williams  <dcbw@redhat.com>
11110
11111         * gnome/applet/applet.c
11112                 - (nma_update_info): fix two unecessary allocations
11113
11114 2006-12-02  Dan Williams  <dcbw@redhat.com>
11115
11116         Patch from Michael Biebl <biebl@teco.edu>
11117         * configure.in
11118           man/NetworkManager.1.in
11119           man/NetworkManagerDispatcher.1.in
11120           man/NetworkManager.8.in
11121           man/NetworkManagerDispatcher.8.in
11122                 - Add .SH NAME stanzas
11123                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11124
11125 2006-12-02  Dan Williams  <dcbw@redhat.com>
11126
11127         Patch from Christian Persch <chpe@gnome.org>
11128
11129         * configure.in
11130                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11131
11132 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11133
11134         Patch by Timo Hoenig <thoenig@suse.de>:
11135         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11136         DBUS-1.0.
11137
11138         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11139         we can't use the one from the main source directory.
11140
11141 2006-11-27  Dan Williams  <dcbw@redhat.com>
11142
11143         Patch from Christian Persch <chpe@gnome.org>
11144
11145         * gnome/applet/applet-dbus-devices.c
11146                 - (hal_info_product_cb): fix memleak; free duped string.
11147                         Gnome.org #379908
11148
11149 2006-11-27  Dan Williams  <dcbw@redhat.com>
11150
11151         Patch from Christian Persch <chpe@gnome.org>
11152
11153         * gnome/applet/menu-items.c
11154                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11155                         as gtk_progress_set_percentage is deprecated.  Should
11156                         work as far back as GTK+ 2.4.  Gnome.org #379780
11157
11158 2006-11-26  Dan Williams  <dcbw@redhat.com>
11159
11160         Scan using wpa_supplicant over DBus.
11161
11162         * src/nm-device-802-11-wireless.c
11163                 - remove wireless extensions netlink event handler bits
11164                         (wireless_event_helper, nm_device_802_11_wireless_event)
11165                 - remove wireless extensions scan event handler bits
11166                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11167                         hex2byte, hex2num, request_and_convert_scan_results,
11168                         free_process_scan_cb_data, scan_results_timeout,
11169                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11170                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11171                         and request scans from the supplicant interface rather than directly
11172                 - Move functionality of convert_scan_results() to cull_scan_list() and
11173                         supplicant_iface_scanned_ap_cb()
11174                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11175                         at the scan interval when the current scan has finished
11176                 - (supplicant_iface_state_cb): start scanning when the supplicant
11177                         interface enters the READY state, and stop scanning when it
11178                         enters the DOWN state
11179                 - (cull_scan_list): weed out old access points from the scan list
11180                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11181                         point into an NMAccessPoint and merge it into the device's scan list
11182
11183         * src/supplicant-manager/nm-supplicant-interface.c
11184           src/supplicant-manager/nm-supplicant-interface.h
11185                 - Add a new signal "scan-result" which is issued when the supplicant
11186                         notifies NM that a scan has completed
11187                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11188                         point found in the scan.  Called once for each access point that
11189                         the supplicant interface object receives from the supplicant as a
11190                         result of the "scanResults" method call
11191                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11192                         for the initial scan results
11193                 - (scan_request_cb): new function; send listeners the result
11194                         (success, error) of a wireless scan request
11195                 - (nm_supplicant_interface_request_scan): new function; ask the
11196                         supplicant to perform an immediate wireless scan
11197
11198 2006-11-25  Dan Williams  <dcbw@redhat.com>
11199
11200         * src/supplicant-manager/Makefile.am
11201                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11202                         add HAL cflags/includes and named-manager includes directory
11203
11204         * src/supplicant-manager/nm-supplicant-interface.h
11205                 - New state STARTING to handle transition from INIT to READY where
11206                         the addInterface pending call is still outstanding
11207
11208         * src/supplicant-manager/nm-supplicant-interface.c
11209                 - track pending calls differently since we may have more than one
11210                         going on at any given time
11211                 - request scan results from wpa_supplicant; but don't do it more often
11212                         than every 4 seconds.  Drivers that do background scanning
11213                         (like the 'ipw' drivers) send a continuous stream of scan completion
11214                         notifications, so we don't want to hammer the supplicant or dbus
11215                         with requests for all scan results every time we get a completion
11216                         notification.
11217
11218 2006-11-25  Dan Williams  <dcbw@redhat.com>
11219
11220         * src/supplicant-manager/nm-supplicant-types.h
11221                 - new file; move all supplicant manager object typedefs here for
11222                         #include sanity
11223
11224         * src/supplicant-manager/nm-supplicant-interface.c
11225           src/supplicant-manager/nm-supplicant-interface.h
11226                 - new file; an object that interfaces an NMDevice object to the
11227                         supplicant and handles signals from the supplicant.  This object
11228                         does all necessary DBus communication with wpa_supplicant.
11229
11230         * src/supplicant-manager/nm-supplicant-manager.c
11231           src/supplicant-manager/nm-supplicant-manager.h
11232                 - Actually do something.  Track the state of the wpa_supplicant service
11233                         and deal with its comings & goings.  Handle life events of
11234                         supplicant interfaces too.
11235                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11236
11237         * src/supplicant-manager/nm-supplicant-connection.h
11238                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11239
11240         * src/supplicant-manager/Makefile.am
11241                 - Add new files to build, and add libnm-util to includes
11242
11243         * src/nm-marshal.list
11244                 - New marshaler type: VOID:UINT,UINT
11245
11246         * src/nm-device-802-3-ethernet.c
11247                 - (real_init): grab a supplicant interface
11248                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11249                 - (supplicant_iface_state_cb): new function, stub for handling
11250                         supplicant interface state changes
11251
11252         * src/nm-device-802-11-wireless.c
11253                 - (real_init): grab a supplicant interface
11254                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11255                 - (supplicant_iface_state_cb): new function, stub for handling
11256                         supplicant interface state changes
11257
11258         * src/NetworkManager.c
11259                 - (main): create and keep the supplicant manager around for the lifetime
11260                         of NetworkManager
11261
11262         * src/Makefile.am
11263                 - Link to the supplicant manager sub-library and use the supplicant
11264                         manager includes
11265
11266 2006-11-25  Dan Williams  <dcbw@redhat.com>
11267
11268         Rework DBus manager signal handling to be more flexible.  Previously,
11269         only one signal handler could be registered for a particular interface.
11270         The DBus manager now reference counts DBus bus matches and allows multiple
11271         clients to register signal handlers for the same interface and sender.
11272
11273         * src/NetworkManager.c
11274                 - (main): track NMI signal handler ID and remove it when we quit
11275
11276         * src/NetworkManagerMain.h
11277                 - Keep track of NMI signal handler ID
11278
11279         * src/nm-dbus-manager.c
11280           src/nm-dbus-manager.h
11281                 - rework signal handling; each signal handler references one signal
11282                         match, but a signal match may be referenced by one or more
11283                         signal handlers.  Matches are refcounted and are destroyed when the
11284                         last signal handler that references the match is removed.  This is
11285                         necessary because two signal handlers may end up requiring the same
11286                         dbus bus match, so the match must live until the last signal handler
11287                         is destroyed (for example, with the wpa_supplicant network interface
11288                         dbus interface).
11289
11290         * src/dhcp-manager/nm-dhcp-manager.c
11291                 - (nm_dhcp_manager_new): track DHCP signal handler id
11292                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11293
11294         * src/vpn-manager/nm-vpn-service.c
11295                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11296                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11297
11298 2006-11-25  Dan Williams  <dcbw@redhat.com>
11299
11300         Suggested by Helmut Schaa <hschaa@suse.de>
11301
11302         * src/vpn-daemons/nm-vpn-service.c
11303                 - (supplicant_child_setup): new function
11304                 - (supplicant_exec): make child process use a new process group id
11305
11306         * src/nm-device-802-11-wireless.c
11307                 - (nm_vpn_service_child_setup): new function
11308                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11309                         process group id
11310
11311 2006-11-19  Dan Williams  <dcbw@redhat.com>
11312
11313         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11314         * gnome/vpn-properties/nm-vpn-properties.c
11315                 - clean up after renamed VPN connection
11316
11317 2006-11-19  Dan Williams  <dcbw@redhat.com>
11318
11319         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11320         * gnome/applet/applet-dbus-vpn.c
11321                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11322
11323         * gnome/vpn-properties/nm-vpn-properties.c
11324                 - (init_app): sort VPN connections
11325
11326 2006-11-09  Dan Williams  <dcbw@redhat.com>
11327
11328         * src/NetworkManagerAPList.c
11329                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11330                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11331                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11332                 broke hidden SSID matching.  Found by Bill Moss.
11333
11334 2006-10-25  Dan Williams  <dcbw@redhat.com>
11335
11336         * src/nm-dbus-nm.c
11337                 - (nm_dbus_nm_set_active_device): return an empty success message on
11338                         success, rather than falling through to the error case.
11339
11340 2006-10-25  Dan Williams  <dcbw@redhat.com>
11341
11342         * src/NetworkManagerUtils.c
11343                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11344                         "SCAN" command
11345
11346 2006-10-24  Dan Williams  <dcbw@redhat.com>
11347
11348         Reduce the number of times the Gnome applet wakes up, especially when
11349         it's doing absolutely nothing and is hidden.  Initial patch by
11350         Chris Aillon.
11351
11352         * gnome/applet/applet-dbus.c
11353                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11354                         kill the redraw timeout.  When NM starts up, start the redraw
11355                         timeout.  Also, if we get kicked off the bus for some reason,
11356                         start the reconnection timeout if one's not already running.
11357                 - (nma_dbus_init): better handling of error conditions, don't leak
11358                         a half-initialized dbus connection
11359                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11360                         the applet's data, just call nm_dbus_init_helper()
11361                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11362                         timeout that calls nma_dbus_connection_watcher()
11363                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11364                         reconnection timeout, and don't start the reconnection timeout
11365                         unconditionally anymore
11366
11367         * gnome/applet/applet-dbus.h
11368                 - Expose nma_start_dbus_connection_watch()
11369
11370         * gnome/applet/applet.c
11371                 - (nma_update_state): no longer static, called from applet-dbus.c for
11372                         immediate UI updates on certain events
11373                 - (nma_set_running): new function; take over setting applet->running,
11374                         when not running (ie, NM is not active), don't activate the redraw
11375                         timeout because we're not showing the applet anyway.  When we are
11376                         running (ie, NM is active), and only when we're running, start the
11377                         redraw timeout.
11378                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11379                         kill any reconnection timeout
11380                 - (nma_get_instance): move one-off dbus initialization code here since
11381                         nm_dbus_init_helper() gets called more than once, possibly by the
11382                         reconnection timeout function too.  And, when we start up, if we
11383                         can't get a connection to the bus, start the reconnection timeout.
11384                         But don't start the redraw timeout yet, only do that when we get
11385                         NM's state and find out if it's running or not.
11386
11387         * gnome/applet/applet.h
11388                 - Add the reconnection GSource ID
11389                 - Add prototypes for nma_set_running() and the no-longer-static
11390                         nma_update_state()
11391
11392 2006-10-24  Dan Williams  <dcbw@redhat.com>
11393
11394         * src/vpn-daemons/nm-dbus-vpnc.c
11395                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11396                         pending call tracker
11397                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11398                         pending call tracker; register one-vpn-connection update pending
11399                         call in pending call tracker
11400                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11401                         update pending call in pending call tracker
11402                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11403                         update pending call in pending call tracker; don't block waiting
11404                         for call to return
11405
11406 2006-10-19  Robert Love  <rml@novell.com>
11407
11408         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11409           refresh the cache.
11410
11411 2006-10-14  Dan Williams  <dcbw@redhat.com>
11412
11413         * src/dhcp-manager/nm-dhcp-manager.c
11414                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11415                 the dbus connection and the device object path rather than
11416                 constructing it inside both functions.  Saves a bit of memory
11417                 and clarifies a failure path.
11418                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11419                 and allocate device path here rather than each of the two
11420                 functions above.
11421
11422 2006-10-13  Dan Williams  <dcbw@redhat.com>
11423
11424         * src/NetworkManager.c
11425                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11426                 this somehow droppout in the refactor
11427
11428 2006-10-13  Dan Williams  <dcbw@redhat.com>
11429
11430         * Huge DBus refactor:
11431                 - Create a "DBus Manager" object which manages the connection and
11432                 sends signals on NameOwnerChanged and connection/disconnection events,
11433                 handles reconnection to the bus if NM gets kicked off, and abstracts
11434                 signal handling
11435                 - Remove DBusConnection members from places where they are no
11436                 longer needed due to the refactor, like the dbus-connection
11437                 property of the named manager, and from NMData
11438                 - Reformats a bunch of the code to gnome style
11439                 (8-space tabs, braces on same line as statement, 80-col width).
11440                 Consider it open season to reformat any bits to gnome style.
11441                 style that aren't already.
11442
11443 2006-10-13  Dan Williams  <dcbw@redhat.com>
11444
11445         * src/supplicant-manager/Makefile.am
11446                 - Add new files
11447
11448         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11449                 - Make it a minimal GObject
11450
11451         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11452                 - Verify settings destined for wpa_supplicant
11453
11454         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11455                 - Minimal GObject to track wpa_supplicant controlled device
11456                 connections
11457
11458 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11459
11460         * gnome/applet/applet.c: (nma_update_info),
11461         (nma_act_stage_to_pixbuf), (nma_update_state):
11462         Mark missing strings for translation. Fixes bug #343306.
11463
11464 2006-10-01  Dan Williams  <dcbw@redhat.com>
11465
11466         * src/vpn-manager/nm-vpn-manager.c
11467                 - (nm_vpn_manager_load_services): split and clean up
11468                 for readability and correctness.  Restrict VPN service
11469                 files to ending in ".name", as was meant from the
11470                 beginning (but not coded in).  Better error reporting.
11471
11472 2006-10-01  Dan Williams  <dcbw@redhat.com>
11473
11474         * utils/nm-utils.h
11475                 - Clean up formatting of debug/info/warning log messages
11476
11477 2006-09-27  Robert Love  <rml@novell.com>
11478
11479         Patch by Tambet Ingo <tambet@ximian.com>:
11480         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11481           actually work.
11482
11483 2006-09-07  Dan Williams <dcbw@redhat.com>
11484
11485         * test/Makefile.am
11486           test/libnm-util/Makefile.am
11487           test/nm-supplicant-test.c
11488                 - Add test program emulating the way NM drives wpa_supplicant
11489                 to help debug supplicant issues
11490
11491 2006-08-24  Dan Williams <dcbw@redhat.com>
11492
11493         * configure.in
11494           src/Makefile.am
11495           src/supplicant-manager/Makefile.am
11496           src/supplicant-manager/nm-supplicant-manager.c
11497           src/supplicant-manager/nm-supplicant-manager.h
11498                 - Add skeleton bits of the wpa_supplicant manager
11499
11500 2006-08-24  Dan Williams <dcbw@redhat.com>
11501
11502         Patch from Ed Catmur:
11503         * src/NetworkManagerUtils.c
11504                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11505                 if netmask is 0 (Gnome #352634)
11506
11507 2006-08-17  Robert Love  <rml@novell.com>
11508
11509         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11510           package is now DBUS-enabled and listens for the NM signals.
11511
11512 2006-08-14  Dan Williams  <dcbw@redhat.com>
11513
11514         * Patch from Christian Persch <chpe gnome org>
11515         * configure.in
11516           po/LINGUAS
11517           vpn-daemons/openvpn/po/LINGUAS
11518           vpn-daemons/openvpn/configure.in
11519           vpn-daemons/pptp/po/LINGUAS
11520           vpn-daemons/pptp/configure.in
11521           vpn-daemons/vpnc/po/LINGUAS
11522           vpn-daemons/vpnc/configure.in
11523                 - Convert to LINGUAS method so translators don't have to modify
11524                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11525                 0.35 or higher
11526
11527 2006-08-14  Dan Williams  <dcbw@redhat.com>
11528
11529         Patch from Alex Smith <alex.extreme2@gmail.com>
11530         * configure.in
11531           src/backends/Makefile.am
11532           src/backends/NetworkManagerFrugalware.c
11533                 - Add support for Frugalware
11534
11535 2006-08-13  Dan Williams  <dcbw@redhat.com>
11536
11537         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11538         * src/nm-device-802-11-wireless.c
11539                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11540                 Gnome #346875
11541
11542 2006-08-13  Dan Williams  <dcbw@redhat.com>
11543
11544         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11545         * src/nm-ap-security.c
11546           src/nm-ap-security.h
11547                 - Add authentication_required bits for subclasses to specify whether
11548                 or not real authentication is required for connections, i.e. whether
11549                 the AP rejects us when an encryption key is wrong or not.
11550
11551         * src/nm-ap-security-wep.c
11552           src/nm-ap-security-wpa-eap.c
11553           src/nm-ap-security-wpa-psk.c
11554           src/nm-ap-security-leap.c
11555                 - Implement authentication_required appropriately for each method
11556
11557         * src/nm-device-802-11-wireless.c
11558                 - Be smarter about when to request a key; for example, using a wrong key
11559                 in WEP shared key mode previously just timed out and did not request
11560                 a new key
11561
11562 2006-08-13  Dan Williams  <dcbw@redhat.com>
11563
11564         * gnome/libnm_glib/libnm_glib.c
11565                 - dbus_connection_disconnect() -> dbus_connection_close() for
11566                 dbus >= 0.90
11567
11568 2006-08-07  Dan Williams  <dcbw@redhat.com>
11569
11570         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11571         * src/NetworkManagerSystem.c
11572                 - Respect specified MTU.  Gnome #344967
11573
11574 2006-08-07  Dan Williams  <dcbw@redhat.com>
11575
11576         * src/vpn-manager/nm-vpn-service.c
11577                 - Simplify print_vpn_config() arguments
11578
11579         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11580         * src/vpn-manager/Makefile.am
11581           src/vpn-manager/nm-vpn-service.c
11582                 - Add new API for passing VPN config options as a dict. Gnome #344967
11583
11584 2006-08-06  Dan Williams  <dcbw@redhat.com>
11585
11586         * gnome/applet/applet-dbus-devices.c
11587           gnome/applet/applet-dbus-vpn.c
11588           gnome/applet/applet-dbus.c
11589           gnome/applet/applet-dbus.h
11590           src/nm-dbus-nmi.c
11591           utils/nm-utils.c
11592           utils/nm-utils.h
11593                 - Make pending call tracking code generic,
11594                 so we can use it in NM as well as the applet
11595
11596 2006-08-06  Dan Williams  <dcbw@redhat.com>
11597
11598         * src/nm-activation-request.c
11599                 - Refcount pending call objects
11600
11601 2006-08-06  Dan Williams  <dcbw@redhat.com>
11602
11603         Patch from Christan Chiesa <christanc@gmail.com>
11604         * configure.in
11605                 - Tell sha1.c to use bigendian mode on PPC
11606
11607 2006-08-04  Robert Love  <rml@novell.com>
11608
11609         Glib Memory Slices!
11610         * configure.in: Require glib 2.10 or later.
11611         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11612           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11613           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11614           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11615           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11616           Memory Slices are the greatest thing since bread slices.
11617         * src/NetworkManagerAP.c: Also, fix memory leak.
11618
11619 2006-08-01  Robert Love  <rml@novell.com>
11620
11621         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11622
11623 2006-07-31  Robert Love  <rml@novell.com>
11624
11625         * src/backends/interface_parser.c: Declarations must begin the block.
11626
11627 2006-07-24  Dan Williams  <dcbw@redhat.com>
11628
11629         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11630         * src/backends/Makefile.am
11631           src/backends/NetworkManagerArch.c
11632           src/backends/NetworkManagerDebian.c
11633           src/backends/NetworkManagerGeneric.c
11634           src/backends/NetworkManagerGeneric.h
11635           src/backends/NetworkManagerGentoo.c
11636           src/backends/NetworkManagerPaldo.c
11637           src/backends/NetworkManagerRedHat.c
11638           src/backends/NetworkManagerSlackware.c
11639           src/backends/NetworkManagerSuSE.c
11640                 - Genericize common backend functions
11641
11642 2006-07-18  Robert Love  <rml@novell.com>
11643
11644         * configure.in: Add "--with-notify" option to allow disabling of
11645           libnotify support.
11646
11647 2006-07-13  Dan Williams  <dcbw@redhat.com>
11648
11649         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11650         * gnome/applet/applet.glade
11651           gnome/applet/Makefile.am
11652           gnome/applet/nm-gconf-wso.c
11653           gnome/applet/nm-gconf-wso-leap.c
11654           gnome/applet/nm-gconf-wso-leap.h
11655           gnome/applet/wireless-security-manager.c
11656           gnome/applet/wso-leap.c
11657           gnome/applet/wso-leap.h
11658           include/NetworkManager.h
11659           libnm-util/dbus-helpers.c
11660           libnm-util/dbus-helpers.h
11661           src/Makefile.am
11662           src/NetworkManagerAP.c
11663           src/nm-ap-security.c
11664           src/nm-ap-security-leap.c
11665           src/nm-ap-security-leap.h
11666                 - Add LEAP authentication support
11667
11668 2006-07-13  Dan Williams  <dcbw@redhat.com>
11669
11670         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11671         * configure.in
11672           src/backends/NetworkManagerArch.c
11673           src/backends/NetworkManagerDebian.c
11674           src/backends/NetworkManagerGentoo.c
11675           src/backends/NetworkManagerPaldo.c
11676           src/backends/NetworkManagerRedHat.c
11677           src/backends/NetworkManagerSlackware.c
11678           src/backends/NetworkManagerSuSE.c
11679                 - Convert hardcoding of 'ip' path to configure-time
11680                         detected one
11681
11682 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11683
11684         * configure.in: added ru to ALL_LINGUAS
11685
11686 2006-07-10  Dan Williams  <dcbw@redhat.com>
11687
11688         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11689         * src/nm-device.c
11690                 - (real_act_stage3_ip_config_start): don't infinite loop when
11691                         dhcdbd isn't running (Gnome #346845)
11692
11693 2006-07-09  Dan Williams  <dcbw@redhat.com>
11694
11695         * gnome/applet/applet.c
11696                 - (nma_destroy): don't pass NULL to notify_notification_close
11697                         (RH #197917)
11698
11699 2006-07-09  Dan Williams  <dcbw@redhat.com>
11700
11701         * gnome/applet/applet.c
11702                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11703
11704 2006-07-04  Tor Krill  <tor@krill.nu>
11705
11706         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11707         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11708         (nm_system_restart_mdns_responder), (ArchReadConfig),
11709         (nm_system_device_get_system_config):
11710                 - Explicitly check for DHCP configuration
11711                 - Check if daemons are running before starting them
11712
11713 2006-06-25  Dan Williams  <dcbw@redhat.com>
11714
11715         * libnm-util/dbus-dict-helpers.[ch]
11716           test/libnm-util/test-dbus-dict-helpers.c
11717                 - Add string array support
11718
11719 2006-06-24  Dan Williams  <dcbw@redhat.com>
11720
11721         * src/dhcp-manager/nm-dhcp-manager.c
11722                 - (nm_dhcp_manager_process_signal): clean up spacing
11723
11724 2006-06-21  Dan Williams  <dcbw@redhat.com>
11725
11726         * src/nm-dbus-device.c
11727                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11728                         through dbus
11729
11730 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11731
11732         * configure.in: Added 'lv' to ALL_LINGUAS
11733
11734 2006-06-19  Dan Williams  <dcbw@redhat.com>
11735
11736         * src/NetworkManagerAP.c
11737                 - Clarify usage of user_created
11738
11739         * src/nm-ap-security-wep.c
11740           src/nm-ap-security-wpa-eap.c
11741           src/nm-ap-security-wpa-psk.c
11742           src/nm-ap-security.c
11743           src/nm-ap-security.h
11744                 - s/user_created/adhoc, because we really do mean adhoc
11745
11746         Patch from Bernard Blackham <bernard@blackham.com.au>
11747         * src/nm-device-802-11-wireless.c         
11748                 - (supplicant_send_network_config): instead of user_created,
11749                         use adhoc, and do AP_SCAN 2 for adhoc networks
11750
11751 2006-06-18  Robert Love  <rml@novell.com>
11752
11753         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11754           we have a value to set.  Gconf generates a warning if `val' is NULL.
11755         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11756           unless we actually received a valid private key file passphrase or
11757           password.  Otherwise, we don't know to later ask the applet to pull
11758           the key from the keyring.
11759
11760 2006-06-17  Dan Williams  <dcbw@redhat.com>
11761
11762         * libnm-util/dbus-dict-helpers.[ch]
11763           test/libnm-util/test-dbus-dict-helpers.c
11764                 - Fixes for zero-length byte arrays
11765                 - Replace return values of 0 with FALSE for clarity
11766                 - Test zero-length byte arrays
11767
11768 2006-06-17  Dan Williams  <dcbw@redhat.com>
11769
11770         * libnm-util/dbus-dict-helpers.[ch]
11771           test/libnm-util/test-dbus-dict-helpers.c
11772                 - Add helpers for byte arrays
11773                 - Rework bits of the testcase
11774
11775 2006-06-16  Dan Williams  <dcbw@redhat.com>
11776
11777         * libnm-util/Makefile.am
11778         * libnm-util/dbus-dict-helpers.[ch]
11779                 - Add some helpers to take the pain out of using dict types in
11780                         dbus.
11781
11782         * test/libnm-util/Makefile.am
11783         * test/libnm-util/test-dbus-dict-helpers.c
11784                 - Test cases for the dict helper functions
11785
11786 2006-06-15  Robert Love  <rml@novell.com>
11787
11788         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11789           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11790           if there is no key to pass.
11791         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11792           receiving a non-NULL key.
11793
11794 2006-06-14  Robert Love  <rml@novell.com>
11795
11796         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11797           copy the strings.
11798
11799
11800 2006-06-14  Dan Williams  <dcbw@redhat.com>
11801
11802         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11803         * src/nm-device-802-11-wireless.c
11804                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11805                         or ones where the driver is unknown
11806                 - (supplicant_exec): don't wait for supplicant startup here
11807                 - (supplicant_interface_init): finer grained polling for supplicant
11808                         startup
11809
11810 2006-06-13  Robert Love  <rml@novell.com>
11811
11812         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11813           if it is currently set to TRUE.  Otherwise, we will reset the value
11814           when we connect normally.
11815         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11816           the old BSSID is valid, too.  The recently added ESSID check may not be
11817           sufficient (we can remove it?).  What we really want to catch is the
11818           case of going from all-zeros to the BSSID of some other network, which
11819           happens on failure.
11820
11821 2006-06-09  Dan Williams  <dcbw@redhat.com>
11822
11823         * src/NetworkManagerSystem.[ch]
11824                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11825                         it was unused and pointless
11826                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11827                         fix for set_up_down_with_iface change
11828
11829         * src/vpn-manager/nm-vpn-connection.c
11830                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11831
11832         * src/backends/NetworkManagerPaldo.c
11833           src/backends/NetworkManagerRedHat.c
11834           src/backends/NetworkManagerSuSE.c
11835           src/backends/NetworkManagerArch.c
11836           src/backends/NetworkManagerDebian.c
11837           src/backends/NetworkManagerGentoo.c
11838                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11839                         appropriate
11840                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11841                         where appropriate
11842
11843 2006-06-09  Dan Williams  <dcbw@redhat.com>
11844
11845         Patch from Peter Jones:
11846         * src/nm-device-802-11-wireless.c
11847                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11848                         SSID hasn't changed from what we expect before automatically
11849                         updating the saved BSSID from a new AP
11850
11851 2006-06-08  Robert Love  <rml@novell.com>
11852
11853         Add 'fallback' support.  NetworkManager will attempt to brute-force
11854         connect to networks marked as fallback if there are no better wireless
11855         connections available.  This is useful as a method of last resort, to
11856         work around driver problems, and for use with hidden networks.
11857         * gnome/applet/applet-dbus-devices.c,
11858           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11859         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11860           pass it on via DBUS.
11861         * gnome/applet/applet.c: No fallback by default.
11862         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11863           Update other-network-dialog to add UI checkbox toggling fallback.
11864         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11865           propery from AP object.  Add "fallback" property to AP object.
11866         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11867         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11868         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11869           separate function.  Add get_best_fallback_ap() for returning an AP
11870           on which to attempt fallback.
11871         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11872         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11873
11874 2006-06-07  Robert Love  <rml@novell.com>
11875
11876         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11877           checked that the return type was GCONF_VALUE_STRING, not the correct
11878           GCONF_VALUE_BOOL, and thus it never worked.
11879         * src/NetworkManagerAPList.c: Before concluding that two networks are
11880           identical based on their BSSID, make sure that the BSSID in question
11881           is actually valid.  Specifically, an empty or all zero BSSID does not
11882           cut it.
11883         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11884           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11885           similar invariant clean up.
11886
11887 2006-06-02  Robert Love  <rml@novell.com>
11888
11889         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11890
11891 2006-05-28  Dan Williams  <dcbw@redhat.com>
11892
11893         * gnome/applet/applet.glade
11894           gnome/vpn-properties/nm-vpn-properties.glade
11895                 - Set window icons on dialogs  (Gnome.org #333420)
11896
11897 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11898
11899         * gnome/vpn-properties/nm-vpn-properties.glade:
11900         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11901         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11902         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11903                 - Make the VPN properties pages prettier and more HIG
11904                   compliant. Gnome Bug #336913.
11905
11906 2006-05-28  Dan Williams  <dcbw@redhat.com>
11907
11908         Patch from Christian Persch <chpe@gnome.org>
11909         * gnome/vpn-properties/nm-vpn-properties.c
11910         * gnome/vpn-properties/nm-vpn-properties.glade
11911                 - HIG-ification love  (Gnome.org #336846)
11912
11913 2006-05-28  Dan Williams  <dcbw@redhat.com>
11914
11915         Patch from Christian Persch <chpe@gnome.org>
11916         * configure.in
11917           gnome/vpn-properties/nm-vpn-properties.c
11918                 - (main): Fix option parsing.  Gnome.org #336847
11919
11920 2006-05-28  Dan Williams  <dcbw@redhat.com>
11921
11922         * gnome/vpn-properties/nm-vpn-properties.c
11923                 - (find_vpn_ui_by_service_name): protect against NULL service names
11924                 - (update_edit_del_sensitivity): protect against NULL service names
11925                         Gnome.org #341306
11926
11927 2006-05-28  Dan Williams  <dcbw@redhat.com>
11928
11929         Patch from Chris Fuller <crf@grandecom.net>:
11930         * src/nm-device-802-11-wireless.c
11931                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11932                         don't dispose of wireless-specific stuff unless it is actually
11933                         initialized.  Gnome.org #341263
11934
11935 2006-05-28  Dan Williams  <dcbw@redhat.com>
11936
11937         * src/NetworkManagerPolicy.c
11938                 - (nm_policy_device_change_check): don't switch devices if the "best"
11939                         AP is essentially the same as the current activation request, but
11940                         the current activation request isn't done activating yet.  Fixes
11941                         multiple requests for keyring password on startup for Gnome applet.
11942                         Gnome.org #341297
11943
11944 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11945
11946         * src/NetworkManager.c: use GOptions instead of getopt
11947         * configure.in: bump glib required version to >= 2.6 for GOption
11948           support
11949
11950 2006-05-25  Robert Love  <rml@novell.com>
11951
11952         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11953           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11954           instead of dumping ifdef's throughout the code.
11955         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11956           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11957           use nm_ioctl_info() in lieu.
11958
11959 2006-05-25  Robert Love  <rml@novell.com>
11960
11961         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11962         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11963           not using gcrypt.  Otherwise, we get a linker error.
11964
11965 2006-05-25  Robert Love  <rml@novell.com>
11966
11967         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11968         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11969           configure flag to disable building of the GNOME-based applet.
11970
11971 2006-05-25  Robert Love  <rml@novell.com>
11972
11973         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11974           parameter from link, because it shadows a global variable with some
11975           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11976           should never have exported to the entire system a common four letter
11977           word.  But we here at NetworkManager are team players.  Fixes
11978           GNOME bug #336532.
11979
11980 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11981
11982         * configure.in: Added mk.po, Macedonian translation.
11983
11984 2006-05-24  Robert Love  <rml@novell.com>
11985
11986         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11987           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11988           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11989
11990 2006-05-24  Robert Love  <rml@novell.com>
11991
11992         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11993           libnm-util/Makefile.am, src/Makefile.am,
11994           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11995           vpn-daemons/openvpn/properties/Makefile.am,
11996           vpn-daemons/pptp/auth-dialog/Makefile.am,
11997           vpn-daemons/pptp/properties/Makefile.am,
11998           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11999           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12000           user passed for --datadir, if anything, when setting the GNOME locale
12001           directory.  It should be a function of the specified datadir and not
12002           the prefix.
12003
12004 2006-05-24  Robert Love  <rml@novell.com>
12005
12006         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12007           src/NetworkManager.c: Take care to call bindtextdomain with the
12008           location of msgid files.
12009         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12010           files.
12011
12012 2006-05-22  Robert Love  <rml@novell.com>
12013
12014         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12015           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12016           99% of the time there is a real problem with wireless, and a
12017           seemingly successful connection via Zeroconf just confuses the user.
12018           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12019
12020 2006-05-22  Robert Love  <rml@novell.com>
12021
12022         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12023           autofs on interface up if NIS is configured.  On interface down, do
12024           nothing.
12025
12026 2006-05-22  Robert Love  <rml@novell.com>
12027
12028         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12029           to avoid calling g_object_unref() on stale pointers on error in
12030           nma_icons_free().  This happens because we short-circuit loaded the
12031           icons on the first failure but then free all icons.  Normally we have
12032           no issue because the icons were zero'ed out malloc, but we have stale
12033           pointer data after nma_icon_theme_changed().
12034         * gnome/applet/main.c: Return error code if nma_new() failed.
12035
12036 2060-05-21  Dan Williams  <dcbw@redhat.com>
12037
12038         * initscript/NetworkManager.in
12039                 - Ensure both dhcdbd and named are started before NM
12040
12041 2006-05-21  Dan Williams  <dcbw@redhat.com>
12042
12043         * configure.in
12044                 - Bump version to 0.7 to signify we are in 0.7 development
12045
12046 2006-05-21  Dan Williams  <dcbw@redhat.com>
12047
12048         Patch from Adam Schreiber <sadam@clemson.edu>
12049         * gnome/vpn-properties/nm-vpn-properties.c
12050                 - (main): correct Gnome program name  (gnome.org #342498)
12051
12052 2006-05-21  Dan Williams  <dcbw@redhat.com>
12053
12054         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12055
12056         * src/NetworkManagerDbus.[ch]
12057                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12058                         clarify that function's argument should be an escaped dbus object
12059                         path, and look for path segment end before returning a match
12060         * src/nm-dbus-nm.c:
12061                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12062
12063 2006-05-17  Robert Love  <rml@novell.com>
12064
12065         Functionality to differentiate Ad-Hoc networks from infrastructure
12066         networks in the applet, by displaying a special icon:
12067         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12068         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12069         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12070           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12071           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12072           networks, encrypted or not.
12073         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12074           accessor functions to get and set the mode of a given network,
12075           wireless_network_get_mode() and wireless_network_set_mode().
12076
12077 2006-05-17  Robert Love  <rml@novell.com>
12078
12079         Functionality to automatically add BSSIDs to the allowed-MAC list as
12080         one roams from access point to access point on a given network:
12081         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12082           helper function to compare two ether_addr structures and return TRUE
12083           if they contain the same MAC address.
12084         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12085           prototype.
12086         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12087           stored with the current AP.  If the BSSID has indeed changed, we
12088           send it out to the applet, allowing the allowed-MAC list to grow
12089           automatically in response to roaming.
12090
12091 2006-05-16  Robert Love  <rml@novell.com>
12092
12093         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12094           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12095
12096 2006-05-13  Dan Williams  <dcbw@redhat.com>
12097
12098         * src/nm-device-802-3-ethernet.c
12099                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12100                         carrier detect (Debian bug #366373)
12101
12102 2006-05-11  Dan Williams  <dcbw@redhat.com>
12103
12104         Patch from Michael Biebl <biebl@teco.edu>
12105         * src/backends/NetworkManagerDebian.c
12106                 - Debian backend fixups
12107
12108 2006-05-10  Robert Love  <rml@novell.com>
12109
12110         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12111
12112 2006-05-09  Robert Love  <rml@novell.com>
12113
12114         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12115           private certificate passphrase, if any, in the GNOME Keyring.
12116         * libnm-utils/dbus-helpers.c: Update.
12117
12118 2006-05-05  Dan Williams  <dcbw@redhat.com>
12119
12120         * src/nm-device-802-11-wireless.c
12121                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12122                         nm_device_802_11_wireless_disable_encryption() since that's all
12123                         we use it for anymore; we don't ever set WEP keys ourselves.
12124                 - (real_deactivate_quickly): reset SSID and encryption keys
12125                 - (real_deactivate): move SSID and encryption key reset to
12126                         real_deactivate_quickly(), which gets run before us anyway
12127
12128 2006-05-05  Robert Love  <rml@novell.com>
12129
12130         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12131           root has a wacky default of its own (or, more common, a user has a
12132           bad umask and uses su/sudo to restart NetworkManager).  Anything
12133           other than 0022 does not do what we want with, for example,
12134           resolv.conf.  This problem is amplified by our judicious use of
12135           fopen(), which uses mode 0666 -- implying that the only way to get
12136           the permissions we want is with a umask of 0022.
12137
12138 2006-05-05  Dan Williams  <dcbw@redhat.com>
12139
12140         * gnome/libnm_glib/libnm_glib.c
12141                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12142                         to reconnect; instead wait a bit more with each reconnect attempt
12143                         up to a max of one minute.
12144
12145 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12146
12147         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12148           the WirelessNetwork structure using the proper function instead of
12149           just casting it directly to (const char *) (gnome.org #336991)
12150
12151 2006-05-03  Robert Love  <rml@novell.com>
12152
12153         * src/backends/NetworkManagerSuSE.c: Respect the variable
12154           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12155           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12156           to dynamically update /etc/resolv.conf.
12157
12158 2006-05-02  Peter Jones  <pjones@redhat.com>
12159
12160         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12161
12162 2006-05-02  Robert Love  <rml@novell.com>
12163
12164         Patch by Timo Hoenig;
12165         * tests/nm-online.c: Print pretty status indicator as timeout winds
12166           down.  Also fix possible race between DBUS startup and failure
12167           return.
12168
12169 2006-05-01  Robert Love  <rml@novell.com>
12170
12171         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12172           empty, too.
12173
12174 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12175
12176         * src/nm-device.c (discover_device_type): Actually use the hal
12177         device type instead of ioctl poking
12178
12179 2006-04-26  Robert Love  <rml@novell.com>
12180
12181         * tests/nm-online.c: New file.  Simple utility that returns exit status
12182           noting whether the connection is offline or online.  If offline on
12183           start, it waits 30 seconds (or a command-line given value) for an
12184           online signal.  If it times out, it again returns offline.  This is
12185           useful for scripts that want to wait for network connections.
12186
12187 2006-04-25  Robert Love  <rml@novell.com>
12188
12189         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12190           key mode (the authentication algorithm), e.g. open or shared, when we
12191           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12192           only shared was broken.  If the user specified a shared key, set it
12193           explicitly, otherwise let wpa_supplicant go with the default.
12194
12195 2006-04-24  Dan Williams  <dcbw@redhat.com>
12196
12197         * src/nm-device-802-11-wireless.c
12198                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12199
12200 2006-04-24  Dan Williams  <dcbw@redhat.com>
12201
12202         Commit the async scanning patch
12203
12204         * src/nm-device-802-11-wireless.c
12205                 - get rid of scan_mutex
12206                 - (wireless_event_helper): act on wireless scan events
12207                 - (real_start): schedule a pending scan
12208                 - (link_to_specific_ap): fake the link to the AP during a scan
12209                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12210                         strength during scans
12211                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12212                         nm_device_set_bitrate): unused with new scanning code, disable
12213                 - (nm_device_wireless_schedule_scan): removed
12214                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12215                 - (request_and_convert_scan_results): new function; retrieve scan
12216                         results from the driver and schedule the processing function
12217                 - (scan_results_timeout): timeout triggered when card doesn't send
12218                         a scan results wireless event during a certain interval
12219                 - (schedule_scan_results_timeout): new function; schedule the scan
12220                         results timeout
12221                 - (cancel_scan_results_timeout): new function; cancel the scan
12222                         results timeout
12223                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12224                         to do the scanning.  Otherwise, just request a scan but don't
12225                         grab results here; instead schedule a timeout for scan results and
12226                         let netlink notify us of scan completion events
12227                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12228                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12229                 - (supplicant_status_cb): ignore disconnect events while scanning
12230                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12231                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12232                         timeouts
12233                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12234
12235 2006-04-24  Dan Williams  <dcbw@redhat.com>
12236
12237         * gnome/applet/applet-dbus.c
12238                 - Disable the pending call debug stuff, seems under control now
12239
12240 2006-04-20  Robert Love  <rml@novell.com>
12241
12242         Fix bug where hidden ESSID's would not show up in the applet, even
12243         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12244         because nm_policy_device_list_update_from_allowed_list() would merge
12245         the data, putting a name to the hidden networks, but never notify NMI
12246         of the changes.  Simple fix is to invoke the function
12247         nm_dbus_signal_wireless_network_change() if we make a mapping.
12248         * src/NetworkManagerAPList.c: Call the function
12249           nm_dbus_signal_wireless_network_change() if we made a successful
12250           BSSID to ESSID mapping, notifying the applet of the "new" network.
12251         * src/NetworkManagerAPList.h: Update the prototypes for both
12252           nm_ap_list_copy_essids_by_address() and
12253           nm_ap_list_copy_one_essid_by_address().
12254
12255 2006-04-20  Robert Love  <rml@novell.com>
12256
12257         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12258           not set.  Just return zero.
12259
12260 2006-04-20  Robert Love  <rml@novell.com>
12261
12262         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12263           only one copy of nm-vpn-properties is running at a time via the 'ol
12264           X selection trick.  This prevents the user from opening two "VPN
12265           Connections" windows from within the applet, which leads to mass
12266           hysteria.
12267         * clipboard.c: New file, implementing simple X selection logic.
12268         * clipboard.h: New file.
12269         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12270
12271 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12272
12273         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12274         * configure.in
12275           initscript/Gentoo/Makefile.am
12276           initscript/Gentoo/NetworkManagerDispatcher.in
12277                 - New script
12278         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12279           Gentopia
12280
12281 2006-04-16  Dan Williams  <dcbw@redhat.com>
12282
12283         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12284         * configure.in
12285           initscript/Slackware/Makefile.am
12286           initscript/Slackware/rc.networkmanager-dispatcher.in
12287           initscript/Slackware/rc.networkmanager.in
12288                 - Update slackware initscripts
12289
12290 2006-04-10  Robert Love  <rml@novell.com>
12291
12292         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12293           the "delete_event" signal on the druid's parent window and handle it
12294           our way, lest using the WM to close the druid results in a series of
12295           bloody and ultimately lethal errors.
12296
12297 2006-04-10  Robert Love  <rml@novell.com>
12298
12299         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12300           'Back' too or else the 'Forward' option is initially disabled despite
12301           valid input.
12302
12303 2006-04-06  Robert Love  <rml@novell.com>
12304
12305         Fix bad but simple bug where an active modem connection did not update
12306         NM's connection state, breaking any app that did online/offline:
12307         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12308           represented whether a dial up connection is active, or not.
12309         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12310           to modem activation and deactivation.
12311         * src/NetworkManagerDbus.c: When asked our state, do not return
12312           disconnected if the modem is active.
12313
12314 2006-04-04  Robert Love  <rml@novell.com>
12315
12316         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12317           applet.  It just confuses the crap out of people and does not make a
12318           lot of sense, as the daemon still runs.
12319
12320 2006-04-02  Tor Krill  <tor@krill.nu>
12321
12322         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12323           in start of service.
12324         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12325           get Archlinux backend up to date.
12326
12327 2006-03-29  Robert Love  <rml@novell.com>
12328
12329         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12330         to add support for per-route MSS and improve support for per-interface
12331         MTU:
12332         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12333           optionally take an MSS parameter and set it for the given route.
12334           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12335           NMIP4Config's stored MSS, if any.
12336         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12337           the interface's MTU and the route's MSS, respectively.  Add functions
12338           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12339           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12340           MSS.
12341         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12342           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12343           nm_ip4_config_set_mss.
12344         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12345           VPN daemon.
12346         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12347           Change the retval of nm_system_get_mtu to guint32.
12348         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12349           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12350           servers can specify MTU's, we should set it here if the MTU was not
12351           provided.
12352
12353 2006-03-27  Jürg Billeter  <j@bitron.ch>
12354
12355         * configure.in:
12356         * initscript/Makefile.am:
12357         * initscript/paldo/Makefile.am:
12358         * initscript/paldo/NetworkManager.in:
12359         * initscript/paldo/NetworkManagerDispatcher.in:
12360         * src/backends/Makefile.am:
12361         * src/backends/NetworkManagerPaldo.c:
12362                 - Add paldo support
12363
12364 2006-03-27  Dan Williams  <dcbw@redhat.com>
12365
12366         Patch from Christian Persch <chpe@gnome.org>
12367         * gnome/applet/applet.glade
12368                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12369
12370 2006-03-27  Dan Williams  <dcbw@redhat.com>
12371
12372         Patch from Diffe <diffie@blazebox.homeip.net>
12373         * src/backends/NetworkManagerSlackware.c
12374                 - Don't restart howl, since it's been replaced by Avahi
12375                         in most distributions
12376
12377 2006-03-27  Dan Williams  <dcbw@redhat.com>
12378
12379         Patch from Tor Krill <bugzilla@krill.nu>
12380         * configure.in
12381           initscript/Makefile.am
12382           src/backends/Makefile.am
12383           src/backends/NetworkManagerArch.c
12384           initscript/Arch/Makefile.am
12385           initscript/Arch/networkmanager-dispatcher.in
12386           initscript/Arch/networkmanager.in
12387                 - Add Arch Linux support, fixes gnome.org #335147
12388
12389 2006-03-27  Dan Williams  <dcbw@redhat.com>
12390
12391         Patch from Diffe <diffie@blazebox.homeip.net>
12392      * initscript/Slackware/rc.networkmanager
12393         - update, fixed gnome.org #333368
12394
12395 2006-03-27  Robert Love  <rml@novell.com>
12396
12397         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12398           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12399
12400 2006-03-27  Robert Love  <rml@novell.com>
12401
12402         Patch by Jürg Billeter <j@bitron.ch>:
12403         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12404           systems.
12405         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12406           as we prefer glibc over kernel headers, if possible.
12407
12408 2006-03-27  Robert Love  <rml@novell.com>
12409
12410         Patch by Jon Escombe <list@dresco.co.uk>:
12411         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12412         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12413           fail, don't bail out.  We don't expect all of the various WPA-EAP
12414           values to be present.
12415         * src/nm-ap-security.c: We need to match all capabilities for each
12416           encryption type, not any one of them.
12417
12418 2006-03-27  Robert Love  <rml@novell.com>
12419
12420         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12421           restart, not reload, ypbind.  Unfortunately there is no superior
12422           solution.
12423
12424 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12425
12426         * gnome/applet/applet-notifications.c:
12427         When displaying a notification, make sure to get rid of the
12428         previous notification so as to not have competing bubbles,
12429         and stop leaking the old one.
12430
12431         * gnome/applet/applet.c:
12432         * gnome/applet/applet.h:
12433         Add a new 'notification' member to the applet, and zero it out
12434         and free it appropriately.
12435
12436 2006-03-23  Robert Love  <rml@novell.com>
12437
12438         Patch by j <j@bootlab.org>:
12439         * gnome/applet/applet.glade: Don't set the invisible_char property,
12440           which simply overrides the GTK default.  By and by, this behavior
12441           ought to be fixed in Glade.
12442
12443 2006-03-22  Robert Love  <rml@novell.com>
12444
12445         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12446
12447 2006-03-22  Robert Love  <rml@novell.com>
12448
12449         Bug fix by Timo Hoenig <thoenig@suse.de>:
12450         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12451           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12452           and the applet going AWOL.
12453
12454 2006-03-22  Robert Love  <rml@novell.com>
12455
12456         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12457           preprocessor define and use it instead of open-coded the DHCP
12458           timeout, which is currently 25 seconds, everywhere.
12459
12460 2006-03-22  Robert Love  <rml@novell.com>
12461
12462         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12463         key exchange via WPA, ostensibly providing good security without
12464         requiring hardware that supports full WPA.  Also, add UI elements to
12465         allow the user to select the pairwise & group cipher for WPA Enterprise
12466         networks, too:
12467         * gnome/applet/applet.glade: Update glade file.
12468         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12469           key type, too, to and from gconf.
12470         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12471           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12472           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12473           the capabilities match.
12474         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12475           prototype.
12476         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12477           serialize from UI to DBUS.
12478         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12479           one element.
12480         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12481           nmu_security_serialize_wpa_eap_with_cipher(), and
12482           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12483           serialize/deserialize the key type via DBUS as the new third DBUS
12484           parameter.
12485         * libnm-util/dbus-helpers.h: Update prototypes.
12486         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12487           too.  If the key type is WEP104, do Dynamic WEP, which means
12488           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12489           pairwise and group ciphers (fixes a FIXME).
12490
12491 2006-03-21  Robert Love  <rml@novell.com>
12492
12493         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12494           nm_system_get_mtu(), which returns a user-provided or system-mandated
12495           MTU value for a given device, if any, or zero if no such value
12496           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12497           if we have a provided value.
12498         * src/nm-device.c: Set the MTU of devices.
12499         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12500         * src/backends/NetworkManagerDebian.c,
12501           src/backends/NetworkManagerGentoo.c,
12502           src/backends/NetworkManagerRedHat.c,
12503           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12504
12505 2006-03-21  Robert Love  <rml@novell.com>
12506
12507         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12508           configuration file.
12509
12510 2006-03-17  Robert Love  <rml@novell.com>
12511
12512         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12513           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12514           it, in case it is not running in the first place.  We just want its
12515           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12516
12517 2006-03-15  Robert Love  <rml@novell.com>
12518
12519         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12520           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12521           label "WEP 40/128-bit" is inconsistent because the physical key size
12522           is 40 or 104-bits, to which a 24-bit initialisation vector is
12523           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12524           to read "40/104" or "64/128".  I do not care much which, but most
12525           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12526           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12527           WEP passphrase support only handles 128-bit keys, and any future
12528           64-bit passphrase support will require a new option (no way to auto-
12529           detect the target key size), explicitly label our passphrase support
12530           "WEP 128-bit Passphrase".
12531
12532 2006-03-15  Robert Love  <rml@novell.com>
12533
12534         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12535           the system init scripts (or some other mechanism) starting it (or a
12536           compatible DBUS service) before NetworkManager runs.  This means that
12537           distributions might need to update their init scripts.  This fixes
12538           possible races and is quite a bit cleaner.
12539         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12540           starting the NetworkManager daemon.
12541
12542
12543 2006-03-14  Robert Love  <rml@novell.com>
12544
12545         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12546           before adding anything.
12547
12548 2006-03-13  Robert Love  <rml@novell.com>
12549
12550         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12551           widgets, too, if they exist, in case the user hit the back button.
12552           Fixes a bug where the details page contains the widgets of multiple
12553           VPN modules (Novell bug #157048).
12554
12555 2006-03-13  Robert Love  <rml@novell.com>
12556
12557         Patch by Timo Hoenig <thoenig@suse.de>:
12558         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12559           daemon survive DBUS restarts, too.
12560
12561 2006-03-10  Robert Love  <rml@novell.com>
12562
12563         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12564           passphrase or key.
12565         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12566           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12567           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12568           in response to "toggled" signal on new toggle.
12569
12570 2006-03-10  Robert Love  <rml@novell.com>
12571
12572         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12573           serialization if strings are NULL, lest DBUS get angry.
12574
12575 2006-03-10  Robert Love  <rml@novell.com>
12576
12577         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12578
12579 2006-03-09  Robert Love  <rml@novell.com>
12580
12581         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12582           configurations.
12583
12584 2006-03-09  Dan Williams  <dcbw@redhat.com>
12585
12586         Track pending call requests in the applet, and report how many are
12587         outstanding, and how long each completed one takes.
12588         
12589         * gnome/applet/applet-dbus-devices.c
12590           gnome/applet/applet-dbus-vpn.c
12591                 - Track pending calls
12592
12593         * gnome/applet/applet-dbus.[ch]
12594                 - Remove some unused enums
12595                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12596                         new functions to track dbus pending calls and spit out some
12597                         statistics about them
12598
12599 2006-03-09  Robert Love  <rml@novell.com>
12600
12601         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12602           nm_ap_set_timestamp() take the second and micro-second parameters as
12603           direct arguments, which avoids both a dynamic memory allocation and a
12604           structure-to-structure copy!  Add a new interface, the aptly named
12605           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12606           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12607           the return from nm_ap_get_timestamp().  New users should use the new
12608           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12609           the extreme benefit to performance.
12610         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12611           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12612
12613 2006-03-08  Robert Love  <rml@novell.com>
12614
12615         * gnome/applet/applet.glade: Hide the password entry text with
12616           asterisks.
12617
12618 2006-03-08  Robert Love  <rml@novell.com>
12619
12620         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12621           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12622           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12623           a second argument, NMData.
12624         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12625         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12626           config files as trusted.
12627
12628 2006-03-06  Robert Love  <rml@novell.com>
12629
12630         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12631         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12632           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12633           Rivera, detect if the applet was auto-started.  If so, ask the user
12634           if he or she would like to stop automatically running the applet on
12635           login.  If so, disable autostart.
12636
12637 2006-03-06  Robert Love  <rml@novell.com>
12638
12639         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12640           directory in CFLAGS so developers can actually use NetworkManager.h.
12641
12642 2006-03-06  Robert Love  <rml@novell.com>
12643
12644         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12645           open-coded integer constants.  Add state_to_string() to map a given
12646           state to a textual description, and provide that when notifying of
12647           state change.
12648         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12649           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12650           this header directly, but it is currently not installed on most
12651           systems.
12652
12653 2006-03-05  Dan Williams  <dcbw@redhat.com>
12654
12655         Process netlink messages in device subclasses rather than in
12656         NetworkManager.c.  Also add support for recognizing Wireless Events.
12657         
12658         * configure.in
12659                 - Find GLIB_GENMARSHAL
12660
12661         * src/Makefile.am
12662                 - Since we're marshalling custom types for wireless event signals,
12663                         we get to create our own marshallers using GLIB_GENMARSHAL
12664
12665         * src/NetworkManager.c
12666                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12667                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12668                         cut down somewhat.  We no longer process signals here.
12669                 - (nm_data_new): create the netlink monitor here, and remove a
12670                         useless call to nm_policy_schedule_device_change_check()
12671                 - (nm_data_free): get rid of the netlink monitor here
12672                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12673                 - (main): don't create the netlink monitor here, let nm_data_new
12674                         do that.  Call nm_policy_schedule_device_change_check() right
12675                         before we jump to the mainloop to figure out which device
12676                         to use first
12677
12678         * src/NetworkManagerSystem.[ch]
12679                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12680                         convert back and forth from interface names to interface
12681                         indexes
12682
12683         * src/nm-device-802-11-wireless.c
12684                 - (real_init): connect to wireless-event signals from the netlink
12685                         monitor object
12686                 - (nm_device_802_11_wireless_event): new function, schedule handler
12687                         for wireless event signals from the netlink monitor object.  We
12688                         want the handler to run in the device's context
12689                 - (wireless_event_helper): handle wireless-event signals from netlink
12690                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12691                         signal handler
12692
12693         * src/nm-device-802-11-wireless.h
12694                 - remove unused prototype for nm_device_802_11_wireless_new
12695
12696         * src/nm-device-802-3-ethernet.c
12697                 - (real_init): new function; set up signal handlers for link events
12698                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12699                         handler for netlink link activated events on device's main loop
12700                 - (link_activated_helper): when we get a link activated event, set
12701                         the device's link to be active
12702                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12703                         handler for netlink link deactivated events on device's main loop
12704                 - (link_deactivated_helper): when we get a link deactivated event, set
12705                         the device's link to be inactive
12706                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12707                         dispose
12708
12709         * src/nm-device-802-3-ethernet.h
12710                 - remove unused prototype for nm_device_802_3_ethernet_new
12711
12712         * src/nm-device.[ch]
12713                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12714                         but locks the device list
12715                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12716
12717         * src/nm-netlink-monitor.[ch]
12718                 - (nm_netlink_monitor_class_install_signals): New signal
12719                         "wireless-event"
12720                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12721                         at the device list
12722                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12723
12724         * src/nm-marshal-main.c
12725                 - Include generated nm-marshal.c and nm-marshal.h
12726
12727         * src/nm-marshal.list
12728                 - List of custom marshal functions
12729
12730 2006-03-05  Dan Williams  <dcbw@redhat.com>
12731
12732         * gnome/applet/applet-notifications.h
12733                 - Protect prototype of nma_send_event_notification() because it
12734                         includes libnotify-specific types
12735                 - Include libnotify/libnotify.h too, since we technically need it
12736
12737         * gnome/applet/applet.c
12738                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12739                 - (nma_show_vpn_login_banner_dialog): add some error checking
12740
12741 2006-03-04  Dan Williams  <dcbw@redhat.com>
12742
12743         Clean up activation cancellation.  Should be a lot faster now.  Observed
12744         an issue with wireless devices between stage 2 and 3 of activation, where
12745         activation would be cancelled, but the device thread wouldn't notice until
12746         the supplicant association timed out.  Reorganize activation such that
12747         a cancellation handler gets immediately scheduled in the device's thread,
12748         and devices have a chance to perform any custom cleanup too.
12749
12750         * src/nm-device.[ch]
12751                 - (activation_cancel_handler): new device-type-specific function
12752                         for cleaning up device-type-specific stuff on cancellation
12753                 - (cancel_activation): removed
12754                 - (nm_device_activation_cancel): subsume functionality of
12755                         real_cancel_activation, but instead of doing anything, punt
12756                         operation to a handler that's run in device-thread context
12757                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12758                         a warning message
12759                 - (activation_handle_cancel_helper): cancellation handler run in
12760                         device-thread context, calls device-type-specific cancelation,
12761                         then tears down the activation request
12762                 - (real_activation_cancel_handler): generic cancellation handler,
12763                         deals with cancelling any in-process DHCP request
12764                 - (nm_device_activate_stage1_device_prepare,
12765                    nm_device_activate_stage2_device_config,
12766                    nm_device_activate_stage3_ip_config_start,
12767                    nm_device_activate_stage4_ip_config_get,
12768                    nm_device_activate_stage4_ip_config_timeout,
12769                    nm_device_activate_stage5_ip_commit): don't call
12770                         nm_device_schedule_activation_handle_cancel() any more, since
12771                         cancellation will have been already scheduled for us by
12772                         nm_device_activation_cancel().  Just exit the function and
12773                         assume that the cancel handler will be called next.
12774
12775         * src/nm-device-802-3-ethernet.c
12776                 - (real_act_stage2_config): remove; didn't do anything anyway
12777
12778         * src/nm-device-802-11-wireless.c
12779                 - (supplicant_status_cb): ensure we don't do anything if the activation
12780                         got cancelled
12781                 - (real_activation_cancel_handler): implement; cancel user key request
12782                         on activation cancellation
12783
12784 2006-03-04  Dan Williams  <dcbw@redhat.com>
12785
12786         * src/nm-device-802-11-wireless.c
12787                 - (supplicant_send_network_config): assume that drivers that don't
12788                         support WPA pretty much suck, and can't handle NM scanning
12789                         along with wpa_supplicant.
12790
12791 2006-03-03  Robert Love  <rml@novell.com>
12792
12793         * configure.in: Bump version to 0.6.0.
12794         * NEWS: Update.
12795
12796 2006-03-03  Robert Love  <rml@novell.com>
12797
12798         * configure.in: Require DBUS 0.60 or later.
12799
12800 2006-03-03  Dan Williams  <dcbw@redhat.com>
12801
12802         Fix a crash if an "Other wireless network" was chosen, failed, then
12803         chosen again from the applet's menu.  If the other network wasn't
12804         noticed in a scan, it wouldn't have any capabilities, but would still
12805         be listed because the user forced the network.  To fix this, we set
12806         sensible capabilities on the forced network, which will get overwritten
12807         with the correct ones if the network shows up later in a scan.
12808         
12809         * src/nm-ap-security.h
12810                 - Add a new "get_default_capabilities_func" member to the
12811                         NMAPSecurity class
12812
12813         * src/nm-ap-security.c
12814                 - (nm_ap_security_get_default_capabilities): new function
12815
12816         * src/nm-ap-security.c
12817           src/nm-ap-security-wep.c
12818           src/nm-ap-security-wpa-psk.c
12819           src/nm-ap-security-wpa-eap.c
12820                 - Implement get_default_capabilities_func() for all, which
12821                         uses the information contained in a specific NMAPSecurity
12822                         object to determine default AP capabilites necessary
12823                         to support that object
12824
12825         As a secondary measure, we now prune artificial access points that fail
12826         to be activated right away.  The thing failed, and we have no scan data for
12827         it, so it's pretty much useless since security information is only saved
12828         in the applets when a connection is successful.
12829
12830         * src/NetworkManagerAPList.c
12831                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12832                         not artificial.  If we see it, it's no longer a figment of the
12833                         user's imagination :)
12834
12835         * src/NetworkManagerPolicy.c
12836                 - (nm_policy_activation_failed): send along the failed AP if we
12837                         have it
12838
12839         * src/nm-device-802-11-wireless.c
12840                 - (real_activation_failure_handler): remove artificial APs from
12841                         the device list, because activation failed
12842
12843 2006-03-02  Robert Love  <rml@novell.com>
12844
12845         Add support for retrieving both the per-device speed and the
12846         per-network maximum supported rate.  Then change the getProperties
12847         DBUS API for both networks and devices to report this informaiton.
12848         Finally, display the information via both nm-applet and nm-tool:
12849         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12850           and set it.
12851         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12852           Information' dialog.
12853         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12854         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12855           network_device_get_speed() and network_device_set_speed() for
12856           retrieving and setting, respectively, a network device's current
12857           speed.
12858         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12859         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12860           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12861           not matter (yet) what the units are, because we only feed it its own
12862           output.  Implement SIOCGIRATE and set the per-network maximum
12863           supported rate during scanning.
12864         * src/nm-device-802-11-wireless.h: Export the function
12865           nm_device_802_11_wireless_get_bitrate().
12866         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12867           function nm_device_802_3_ethernet_get_speed() for returning an
12868           802.3's current speed, in Mb/s.
12869         * test/nm-tool.c: Display the per-device current speed, if available,
12870           and the per-network maximum rate.
12871
12872 2006-03-02  Dan Williams  <dcbw@redhat.com>
12873
12874         * src/nm-device-802-11-wireless.c
12875                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12876                         card when it gets initialized.  Since devices don't get added to
12877                         the scan list until they are initialized, this function wasn't
12878                         setting the intitial scan interval correctly, and was leaving
12879                         it at 0.  This caused cards to get many scan requests in a short
12880                         amount of time when they were initialized
12881
12882 2006-03-02  Robert Love  <rml@novell.com>
12883
12884         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12885           active device.  But do not do what we used to do and override the
12886           state, which caused the dreaded icon race of '05.
12887
12888 2006-03-02  Robert Love  <rml@novell.com>
12889
12890         Commit Dan's update of my previous commit:
12891         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12892           set_mode() function itself does the check.  But do only set the
12893           frequency if in Ad-Hoc mode.
12894
12895 2006-03-02  Robert Love  <rml@novell.com>
12896
12897         Patch by Brian Magnuson <magnuson@rcn.com>:
12898         * src/nm-device-802-11-wireless.c: During scanning, only set the
12899           wireless mode to infrastructure if it is not currently in
12900           infrastructure mode.  For some driver, setting the mode is a costly
12901           operation, apparently.
12902
12903 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12904
12905         * Makefile.am: use the correct dir for autostart mechanism.
12906
12907 2006-02-28  Dan Williams  <dcbw@redhat.com>
12908
12909         Patch from Brian Magnuson <magnuson@rcn.com>
12910         * gnome/applet/applet.c
12911                 - (nma_show_vpn_failure_dialog): fix errors left over from
12912                         libnotify support changes
12913
12914 2006-02-28  Dan Williams  <dcbw@redhat.com>
12915
12916         * src/vpn-manager/nm-vpn-act-request.[ch]
12917                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12918                         just one value
12919                 - (nm_vpn_act_request_is_failed): new function; return whether or
12920                         not the vpn activation request has failed
12921
12922         * src/vpn-manager/nm-vpn-manager.c 
12923                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12924                         daemon to kill the connection when the activation request fails.
12925                         Fixes issue where NM would get confused if the VPN activation
12926                         request timed out, and would not allow further VPN connections
12927                         on that service.
12928
12929 2006-02-28  Dan Williams  <dcbw@redhat.com>
12930
12931         * gnome/applet/applet.c
12932                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12933                         overlapping connection requests, disable all VPN menu items
12934                         but the active VPN connection
12935
12936 2006-02-28  Dan Williams  <dcbw@redhat.com>
12937
12938         * src/vpn-manager/nm-vpn-connection.c
12939                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12940                         called g_object_unref() on the connection's parent device
12941                         when it should have been ref-ed instead.  Fixes crash with
12942                         repeated vpn connect requests
12943
12944 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12945
12946         * gnome/applet/applet.glade:
12947         Mark a few strings non-translatable, since they shouldn't be.
12948
12949 2006-02-28  Dan Williams  <dcbw@redhat.com>
12950
12951         * src/vpn-manager/nm-vpn-service.c
12952                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12953                         already running, don't blindly ask it to connect, but wait until
12954                         it's in the STOPPED state first.  Fixes an assertion when user
12955                         starts a second vpn connection without stopping the first.
12956                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12957                         dbus service exists before continuing with the connection
12958                         process, and reduce latency while waiting for it to become
12959                         available
12960                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12961                         waiting for the vpn service daemon to become available
12962                 - General log message cleanups; show progress via "Stage x of 4"
12963                         rather than not telling anyone how many stages there are
12964
12965 2006-02-28  Robert Love  <rml@novell.com>
12966
12967         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12968         * src/backends/NetworkManagerSuSE.c: Implement the interface
12969           nm_system_should_modify_resolv_conf() for SUSE.
12970         * src/backends/NetworkManagerDebian.c,
12971           src/backends/NetworkManagerGentoo.c,
12972           src/backends/NetworkManagerRedHat.c,
12973           src/backends/NetworkManagerSlackware.c: Add stub.
12974         * src/named-manager/Makefile.am: Grab includes from src.
12975         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12976           automatic updating of resolv.conf.  This is useful for testing,
12977           broken static configurations, and administrator lock-down.
12978
12979 2006-02-28  Dan Williams  <dcbw@redhat.com>
12980
12981         * src/nm-device-802-11-wireless.c
12982                 - Move all the wpa_supplicant-related management stuff into its
12983                         own struct, just for oranization's sake
12984                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12985                         to a GIOChannel/GSource
12986                 - (supplicant_log_stdout): new function; grab output from the
12987                         wpa_supplicant stdout pipe and write it to our logs.
12988
12989 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12990
12991         * src/nm-device-802-11-wireless.c:
12992         Err, fix thinko in my previous commit.
12993
12994 2006-02-28  Robert Love  <rml@novell.com>
12995
12996         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12997
12998 2006-02-28  Robert Love  <rml@novell.com>
12999
13000         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13001           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13002           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13003           deserializers are responsible for freeing the returned DBUS strings.
13004
13005 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13006
13007         * src/nm-device-802-11-wireless.c:
13008         The scan list is being pruned prematurely.  We should prune after
13009         the device has gone MIA for three scans, not one.  Split out the
13010         interval to realtime seconds function to better serve this.
13011
13012 2006-02-27  Robert Love  <rml@novell.com>
13013
13014         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13015           Open the pid file O_TRUNC, so if it already exists we truncate it to
13016           zero length.  Also, be more verbose about warnings generated during
13017           writing out the pid file.  Finally, always write out the pid file if
13018           in daemon mode.  Use "--pid-file" to override the default.
13019
13020 2006-02-27  Robert Love  <rml@novell.com>
13021
13022         Patch by R. Vinay <rvinay@novell.com>:
13023         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13024           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13025           Novell bug #153628).
13026           
13027 2006-02-27  Robert Love  <rml@novell.com>
13028
13029         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13030           entry so user can hit <ENTER> after entering passphrase (Novell bug
13031           #153738).
13032
13033 2006-02-27  Dan Williams  <dcbw@redhat.com>
13034
13035         * gnome/applet/*
13036                 - Mass search/replace of:
13037                         nmwa -> nma
13038                         NMWirelessApplet -> NMApplet
13039                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13040                    (it ain't just for wireless anymore, ma!)
13041                 - Fix duplicate function name printing when using nm_warning
13042                 - wireless-applet.glade -> applet.glade
13043
13044 2006-02-27  Dan Williams  <dcbw@redhat.com>
13045
13046         * dispatcher-daemon/NetworkManagerDispatcher.c
13047                 - Accept --pid-file with a path to a pidfile, write it out on
13048                         startup, and delete it on shutdown
13049
13050         * src/NetworkManager.c
13051                 - Accept --pid-file with a path to a pidfile, write it out on
13052                         startup, and delete it on shutdown
13053                 - Move nm_print_usage() lower
13054
13055         * initscripts/RedHat/NetworkManager.in
13056                 - Use new --pid-file option
13057                 - Fix service stopping to wait a bit for NM to quit
13058
13059         * initscripts/RedHat/NetworkManagerDispatcher.in
13060                 - Use new --pid-file option
13061
13062 2006-02-26  Dan Williams  <dcbw@redhat.com>
13063
13064         * src/Makefile.am
13065                 - make and install nm-crash-logger
13066
13067         * src/nm-logging.[ch]
13068                 - New files; consolidate logging and crash handling
13069
13070         * src/nm-crash-logger.c
13071           src/gdb-cmd
13072                 - Standalong crashlogger for NM, grab a backtrace
13073                         using GDB
13074
13075         * src/NetworkManager.[ch]
13076                 - Remove signal handling and put it into nm-logging.c
13077
13078 2006-02-26  Dan Williams  <dcbw@redhat.com>
13079
13080         * configure.in
13081           gnome/applet/Makefile.am
13082                 - Conditionalize all the notify stuff
13083
13084         Merge most of Chris Aillon's notification patch:
13085         
13086         * gnome/applet/applet-notifications.[ch]
13087                 - New files; show a notification
13088         
13089         * gnome/applet/applet-dbus-devices.[ch]
13090                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13091                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13092                         new functions, do the right thing when a device change occurs
13093
13094         * gnome/applet/applet-dbus.c
13095                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13096                         signals, so we can handle them specially
13097
13098         * gnome/applet/applet.[ch]
13099                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13100                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13101                 - (nmwa_notify_state): remove
13102                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13103                         notification work is now done when the appropriate dbus signals
13104                         are received.
13105                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13106                         defer execution of the notification/dialog stuff.  That was an
13107                         artifact of the previous multi-threaded nature of the applet
13108                         and is now pointless.
13109                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13110                         no longer needed.  Function folded into applet-notifications.c
13111
13112         * src/NetworkManagerPolicy.c
13113                 - (nm_policy_activation_finish): send the AP along with the device
13114                         status change signal, if the connection is wireless.  Should
13115                         fix the race where applet would show a connection to "unknown"
13116
13117 2006-02-25  Robert Love  <rml@novell.com>
13118
13119         Add WPA Enterprise support:
13120         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13121           nm-gconf-wso-wpa-eap.h.
13122         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13123           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13124           serialization and deserialization.
13125         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13126           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13127           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13128         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13129           settings related to WPA Enterprise.
13130         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13131           instantiate WPA Enterprise wireless-security-option.
13132         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13133           Implement WPA Enterprise wireless-security-option object.
13134         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13135           defines.  Cleanup.
13136         * libnm-util/cipher-wpa-psk-hex.c,
13137           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13138         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13139           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13140           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13141           including the cipher to DBUS method, and
13142           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13143           to output.
13144         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13145           nm-ap-security-wpa-eap.h
13146         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13147           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13148         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13149           files.  Implement NMAPSecurityWPA_EAP object.
13150         * src/nm-ap-security-wpa-psk.c: Cleanup.
13151         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13152           an NMAPSecurityWPA_EAP object via the method
13153           nm_ap_security_wpa_eap_new_deserialize().
13154         * src/nm-dbus-nm.c: Cleanup.
13155         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13156           WPA Enterprise support.
13157
13158 2006-02-24  Robert Love  <rml@novell.com>
13159
13160         Patch from Timo Hoenig <thoenig@suse.de>:
13161         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13162
13163 2006-02-24  Robert Love  <rml@novell.com>
13164
13165         Patch from Dan Winship <danw@novell.com>:
13166         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13167           area to transparent.
13168
13169 2006-02-21  Dan Williams  <dcbw@redhat.com>
13170
13171         * gnome/applet/applet.[ch]
13172           gnome/applet/applet-dbus.c
13173                 - Implement notification support for VPN messages too
13174
13175 2006-02-21  Dan Williams  <dcbw@redhat.com>
13176
13177         * gnome/applet/applet-dbus-info.c
13178                 - Clean up warning messages to not double-print the function
13179
13180 2006-02-21  Dan Williams  <dcbw@redhat.com>
13181
13182         * gnome/applet/applet-compat.c
13183                 - (convert_one_entry): accept entries without a key_type and
13184                         convert them to unencrypted networks
13185
13186 2006-02-21  Dan Williams  <dcbw@redhat.com>
13187
13188         * gnome/libnm_glib/libnm_glib.c
13189                 - Use __func__ everywhere we can
13190                 - Code cleanups
13191                 - Use dbus pending calls rather than blocking
13192                 - Reduce busywaits for our thread to start and stop
13193                         (gnome.org #330562)
13194                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13195                         stomp on others using the default shared dbus connection.
13196                         Fixes #rh177546# and gnome.org #326572
13197
13198 2006-02-21  Dan Williams  <dcbw@redhat.com>
13199
13200         Patch from Rodney Dawes <dobey@novell.com>
13201         * configure.in
13202           gnome/applet/Makefile.am
13203           gnome/applet/applet.c
13204                 - Add libnotify support if '--enable-notify=yes' is passed
13205                   at configure time
13206
13207 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13208
13209         * configure.in (ALL_LINGUAS): ko added. (Korean)
13210
13211 2006-02-15  Robert Love  <rml@novell.com>
13212
13213         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13214           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13215           and WPA_SUPPLICANT_CONTROL_SOCKET.
13216         
13217 2006-02-15  Robert Love  <rml@novell.com>
13218
13219         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13220           information about what connection stage we are at, provide the total
13221           number of stages, e.g. "Stage 2 of 5", so users know how far along
13222           they are if they experience problems.
13223
13224 2006-02-15  Robert Love  <rml@novell.com>
13225
13226         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13227           define to $sysconfdir.
13228         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13229           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13230           type of VPN and then editing another results in a mangled dialog
13231           box containing the widgets from both VPNs (fixes Novell #150854).
13232           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13233
13234 2006-02-14  Robert Love  <rml@novell.com>
13235
13236         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13237           syslog's file descriptor.
13238
13239 2006-02-14  Robert Love  <rml@novell.com>
13240
13241         Fix bug around since the change to "deal with APs changing settings on
13242         us," checked in on the fifth of February in the year of the dog, 
13243         wherein connecting to non-broadcast encrypted networks always fails
13244         because nm_ap_get_encrypted() always returns FALSE, even when the user
13245         provided a key, because the newly-created fake AP does not have any
13246         capabilities set, which is a sypmtom of security settings not matching
13247         capabilities (Novell bug #150784):
13248         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13249           nm_ap_add_capabilities_from_security(), which sets the given AP's
13250           capabilities off the given security settings.  Also improve our
13251           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13252           NM_AUTH_CIPHER_AUTO.
13253         * src/nm-device-802-11-wireless.c: Call the function
13254           nm_ap_add_capabilities_from_security() to ensure that capabilities
13255           match newly updated security settings.
13256
13257 2006-02-14  Robert Love  <rml@novell.com>
13258
13259         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13260           error as a string, not an integer, if possible; do not print the
13261           function name twice; always give the interface, if possible; misc.
13262           cleanup.
13263
13264 2006-02-12  Dan Williams  <dcbw@redhat.com>
13265
13266         Patch from Tom Parker <palfrey@tevp.net>
13267         * src/NetworkManagerSystem.h
13268                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13269                         no longer used
13270
13271         * src/backends/NetworkManagerDebian.c
13272                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13273                         unused variables
13274
13275 2006-02-12  Dan Williams  <dcbw@redhat.com>
13276
13277         * vpn-daemons/openvpn/intltool-extract.in
13278           vpn-daemons/openvpn/intltool-merge.in
13279           vpn-daemons/openvpn/intltool-update.in
13280           vpn-daemons/pptp/intltool-extract.in
13281           vpn-daemons/pptp/intltool-merge.in
13282           vpn-daemons/pptp/intltool-update.in
13283                 - Remove from CVS, they should get created by intltoolize,
13284                         shouldn't they?
13285
13286 2006-02-12  Dan Williams  <dcbw@redhat.com>
13287
13288         * vpn-daemons/pptp/src/pppd/patchlevel.h
13289         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13290                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13291                         Makefile-defined VERSION
13292
13293 2006-02-09  Dan Williams  <dcbw@redhat.com>
13294
13295         Patch from: Vinay A R <rvinay@novell.com>
13296         * src/vpn-manager/nm-vpn-act-request.[ch]
13297                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13298                         IPSec VPNs require them for std gateway.
13299                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13300                         and 'user_routes_count'
13301                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13302                         defined routes  from NMVPNActRequest object, returns the string
13303                         array of routes.
13304
13305         * src/vpn-manager/nm-vpn-manager.[ch]
13306                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13307                         for 'user_routes' and 'user_routes_count'
13308         
13309         * src/vpn-manager/nm-dbus-vpn.c
13310                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13311                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13312         
13313         * src/vpn-manager/nm-vpn-service.c
13314                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13315                         the vpn daemon
13316
13317         Modifications by Dan:
13318         * src/vpn-manager/nm-vpn-service.c
13319                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13320                         arrays into dbus
13321
13322         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13323         * vpn-daemons/pptp/src/nm-pptp-service.c
13324         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13325                 - Grab user routes from dbus message
13326                 - Free all string arrays we got from dbus
13327
13328 2006-02-07  Robert Love  <rml@novell.com>
13329
13330         Patch by Stefan Seyfried <seife@suse.de>:
13331         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13332
13333 2006-02-06  Robert Love  <rml@novell.com>
13334
13335         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13336
13337 2006-02-06  Robert Love  <rml@novell.com>
13338
13339         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13340           test ">=" is never false.  If no newline is found, we loop forever.
13341           We can just check for ">" because the following if() will see the
13342           zero-th argument if the while() gets that far.
13343
13344 2006-02-05  Dan Williams  <dcbw@redhat.com>
13345
13346         Refine handling of non-broadcast networks.
13347
13348         * src/NetworkManagerAPList.c
13349                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13350                         property from scanned AP to the AP from the device list
13351
13352         * src/nm-device-802-11-wireless.c
13353                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13354                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13355                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13356                         networks since those don't have APs.
13357                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13358                         AP as non-SSID-broadcasting
13359                 - (process_scan_results): don't handle non-SSID-broadcasting here
13360
13361 2006-02-05  Dan Williams  <dcbw@redhat.com>
13362
13363         * src/nm-device-802-11-wireless.c
13364                 - (get_supplicant_timeout): new function; return
13365                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13366                         14 channels.  These are likely a/b/g cards, like Atheros, and
13367                         slow as hell to scan.
13368                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13369                         get_supplicant_timeout()
13370
13371 2006-02-05  Dan Williams  <dcbw@redhat.com>
13372
13373         * src/dhcp-manager/nm-dhcp-manager.c
13374                 - Loose a commit race with Robert; make sure size check
13375                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13376
13377 2006-02-05  Robert Love  <rml@novell.com>
13378
13379         Patch by Christoph Brill <chrisbrill@gmx.net>:
13380         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13381           with DHCP_SERVICE_NAME.
13382
13383 2006-02-05  Dan Williams  <dcbw@redhat.com>
13384
13385         Remove anything having to do with device_setup_func from the
13386         AP security objects, since it's no longer used.
13387
13388         * src/nm-ap-security.h
13389                 - Kill device_setup_func and nm_ap_security_device_setup()
13390
13391         * src/nm-ap-security-wep.c
13392           src/nm-ap-security-wpa-psk.c
13393                 - (real_device_setup): remove
13394
13395         * src/nm-ap-security.c
13396                 - (real_device_setup): remove
13397                 - (nm_ap_security_device_setup): remove
13398
13399         * src/nm-device-802-11-wireless.[ch]
13400                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13401                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13402                         and done by wpa_supplicant now anyway
13403
13404 2006-02-05  Dan Williams  <dcbw@redhat.com>
13405
13406         * src/nm-device-802-11-wireless.c
13407                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13408                         settings on us.  Previously NM would loop asking for the
13409                         key but getting the same one back.  Now, if the NMI-supplied
13410                         cipher doesn't overlap with the scanned AP capabilities,
13411                         we request a completely new key from the user.
13412
13413 2006-02-05  Dan Williams  <dcbw@redhat.com>
13414
13415         * src/NetworkManagerUtils.c
13416                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13417                         Handle newline killing better
13418
13419 2006-02-05  Dan Williams  <dcbw@redhat.com>
13420
13421         * gnome/applet/nm-gconf-wso.c
13422                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13423                         of unencrypted access point security info.
13424
13425 2006-02-03  Robert Love  <rml@novell.com>
13426
13427         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13428           user's encryption key, so we print the err_msg_cmd not the command,
13429           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13430           sense.
13431
13432 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13433
13434         * initscript/RedHat/NetworkManagerDispatcher.in:
13435         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13436         Patch from Dan Walsh <dwalsh@redhat.com>
13437
13438 2006-02-03  Robert Love  <rml@novell.com>
13439
13440         * dispatcher-daemon/NetworkManagerDispatcher.c,
13441           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13442           but use the sysconfdir.
13443
13444 2006-02-03  Robert Love  <rml@novell.com>
13445
13446         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13447           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13448           'char *'.
13449         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13450           nm_ip4_config_get_hostname() and
13451           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13452         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13453           leak g_strdup() result.
13454
13455 2006-02-03  Robert Love  <rml@novell.com>
13456
13457         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13458           broadcast == TRUE.  Also, copy broadcast and artificial properties
13459           from source network to destination in nm_ap_copy().
13460         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13461           since we now default new networks to non-hidden.
13462
13463 2006-02-03  Dan Williams  <dcbw@redhat.com>
13464
13465         * gnome/applet/main.c
13466                 - (main): change the NEVER->ALWAYS so we start at the
13467                         beginning of the session, if being session-managed
13468
13469 2006-02-03  Dan Williams  <dcbw@redhat.com>
13470
13471         * gnome/applet/main.c
13472                 - (main): in a variation on Robert's patch, change
13473                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13474                         he wants.
13475
13476 2006-02-02  Robert Love  <rml@novell.com>
13477
13478         * src/Makefile.am: If we aren't going to create the run directory at,
13479           uh, run-time, create it during install.  Then users just doing
13480           'make install' are cool, too.  While we are here, create the
13481           dispatcher.d directory, too.
13482         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13483           the exact run directory.
13484         * Makefile.am: Install nm-applet.desktop.
13485
13486 2006-02-02  Robert Love  <rml@novell.com>
13487
13488         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13489           structure, which denotes whether or not the AP is hidden.  This is a
13490           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13491           can show up in the scan list.  Add nm_ap_get_broadcast() and
13492           nm_ap_set_broadcast() accessor interfaces.
13493         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13494           nm_ap_set_broadcast().
13495         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13496           "getProperties" method, which denotes whether or not the given
13497           network is hidden.
13498         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13499           an artificial network.  Set broadcast to TRUE when scanning returns
13500           an ESSID and FALSE when not.
13501         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13502           from "getProperties" method on a network.  Possible TODO is to
13503           somehow display this.
13504         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13505
13506 2006-02-02  Dan Williams  <dcbw@redhat.com>
13507
13508         * src/nm-device-802-11-wireless.c
13509                 - (supplicant_interface_init): don't try to create
13510                         /var/run/NetworkManager, since that should be done by
13511                         the distro package.  Causes problems for stuff like SELinux
13512
13513 2006-02-02  Robert Love  <rml@novell.com>
13514
13515         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13516         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13517           Check for and handle empty string for iface.
13518
13519 2006-02-01  Robert Love  <rml@novell.com>
13520
13521         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13522           manpage.
13523
13524 2006-01-31  Dan Williams  <dcbw@redhat.com>
13525
13526         * nm-applet.desktop
13527                 - Add --sm-disable to Exec arguments, presuming that when
13528                         using autostart, we don't want session management
13529
13530 2006-01-31  Robert Love  <rml@novell.com>
13531
13532         * src/NetworkManagerAP.c: Add two new manufacturer default network
13533           names: linksys-a and linksys-g.  These are found (at least) on the
13534           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13535           own ESSID.
13536
13537 2006-01-31  Robert Love  <rml@novell.com>
13538
13539         * src/NetworkManagerAP.c: Optimize the function
13540           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13541           machine code.  This is the first in a series of code tweaks aiming to
13542           generate better machine code and make NetworkManager all the better.
13543           Just kidding.  Who has time to go through the assembly generated for
13544           every function?  I certainly don't.  I have a wife, a kid, a job,
13545           a mortgage, a mistress.  But this function was so bad, I was called
13546           to arms.  Like the book.
13547
13548 2006-01-31  Robert Love  <rml@novell.com>
13549
13550         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13551           AP is not broadcasting, to scan with probe request frames.  Required
13552           for non-broadcast networks.
13553
13554 2006-01-31  Robert Love  <rml@novell.com>
13555
13556         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13557           preprocessor define (still 20s).  Fix message text in nm_info()
13558           s/too too/took too/.
13559
13560 2006-01-30  Dan Williams  <dcbw@redhat.com>
13561
13562         * src/nm-device-802-11-wireless.c
13563                 - (supplicant_monitor_start): increase connect/auth timeout to
13564                         20 seconds from 10 seconds
13565
13566 2006-01-30  Dan Williams  <dcbw@redhat.com>
13567
13568         * src/Makefile.am
13569                 - Define LOCALSTATEDIR
13570
13571         * src/nm-device-802-11-wireless.c
13572                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13573                         socket where we want it to
13574
13575         * src/wpa_ctrl.[ch]
13576                 - (wpa_ctrl_open): accept location to put local control socket
13577
13578 2006-01-30  Robert Love  <rml@novell.com>
13579
13580         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13581           get_ip4_string() for "domain_name".
13582
13583 2006-01-30  Robert Love  <rml@novell.com>
13584
13585         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13586           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13587           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13588           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13589           support for "Automatic" pairwise and group cipher configuration by
13590           letting wpa_supplicant handle the details.  Add UI elements, new
13591           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13592           charm.  Note this does more than add a nice feature, it fixes a bug.
13593           Apparently, some people have AP's where the pairwise cipher does not
13594           match the group cipher.  Insane, but true.
13595
13596 2006-01-30  Dan Williams  <dcbw@redhat.com>
13597
13598         * gnome/applet/applet-dbus-devices.c
13599                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13600                         functions, grab device driver name from NetworkManager
13601                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13602
13603         * gnome/applet/applet.c
13604                 - (nmwa_update_info): show driver name in Connection Information
13605                         dialog
13606
13607         * gnome/applet/nm-device.[ch]
13608                 - (network_device_get_driver, network_device_set_driver): add
13609                         accessors for driver name
13610
13611         * gnome/applet/wireless-applet.glade
13612                 - Add line for driver name to Connection Information dialog
13613
13614         * src/nm-dbus-device.c
13615                 - (nm_dbus_device_get_driver): new function to return driver name
13616                 - (nm_dbus_device_methods): hook up driver name function to dbus
13617
13618         * test/nm-tool.c
13619                 - (get_driver_name): new function
13620                 - (detail_device): grab and show driver name
13621
13622 2006-01-30  Robert Love  <rml@novell.com>
13623
13624         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13625           does not parse the markup if it is not part of the format.
13626
13627 2006-01-30  Robert Love  <rml@novell.com>
13628
13629         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13630           FALSE, we have no security options for this dialog, so we throw up
13631           an error dialog instead of a broken passphrase dialog.  Fixes
13632           Novell #138404.
13633         * gnome/applet/wireless-security-manager.c,
13634           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13635           does not add any security options, not even NONE, print a warning
13636           and return FALSE.  This let's functions constructing a dialog bail
13637           out if the device's capabilities and the network's requirements have
13638           zero overlap.
13639
13640 2006-01-27  Robert Love  <rml@novell.com>
13641
13642         * configure.in: Require wpa_supplicant.  Detect location of binary and
13643           use it.  Override with "--with-wpa_supplicant=foo".
13644         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13645           path to wpa_supplicant but use the auto-detected or user-provided
13646           value from configure.
13647
13648 2006-01-27  Robert Love  <rml@novell.com>
13649
13650         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13651           but the DHCP server did not return a hostname, try to look up our
13652           name via DNS and set the system hostname to that.
13653
13654 2006-01-27  Dan Williams  <dcbw@redhat.com>
13655
13656         * src/backends/NetworkManagerRedHat.c
13657                 - Add NM_CONTROLLED system network script support for RH/Fedora
13658
13659 2006-01-27  Dan Williams  <dcbw@redhat.com>
13660
13661         * src/backends/NetworkManagerGentoo.c
13662                 - (nm_system_device_get_disabled): add missing function.
13663                         Gnome BZ #328780
13664
13665 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13666
13667         * configure.in: Added vi in ALL_LINGUAS line.
13668         
13669 2006-01-26  Robert Love  <rml@novell.com>
13670
13671         * src/Makefile.am, src/kernel-types.h: Now that two different source
13672           files are feeling the crack-addled leakage of kernel types such as
13673           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13674           types in user-space -- define a header and include it as needed.
13675         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13676         * src/nm-device-802-3-ethernet.h: Remove defines.
13677         * src/wpa.c: Remove defines and include kernel-types.h.
13678
13679 2006-01-26  Robert Love  <rml@novell.com>
13680
13681         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13682           work.
13683
13684 2006-01-26  Robert Love  <rml@novell.com>
13685
13686         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13687         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13688           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13689           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13690           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13691           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13692           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13693           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13694           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13695           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13696           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13697           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13698           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13699           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13700           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13701           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13702           Kill unused variables, labels, and static functions.  Don't pass
13703           string literals as the format string for printf-like functions.
13704
13705 2006-01-25  Dan Williams  <dcbw@redhat.com>
13706
13707         * gnome/applet/wireless-applet.glade
13708                 - Remove WPA2 Checkbox
13709
13710         * gnome/applet/wireless-security-manager.c
13711                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13712                         This means the Wireless Security menu now has two WPA options,
13713                         one for "WPA Personal" and one for "WPA2 Personal"
13714
13715         * gnome/applet/wso-wpa-psk.[ch]
13716                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13717                         'wpa2' argument to determine WPA version to use
13718                 - (append_dbus_params_func): pass stored WPA version to cipher
13719                         rather than using the (removed) checkbox
13720
13721 2006-01-24  Robert Love  <rml@novell.com>
13722
13723         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13724           before we g_strdup(), not the ultimate string.
13725
13726 2006-01-23  Dan Williams  <dcbw@redhat.com>
13727
13728         * src/NetworkManagerAP.[ch]
13729                 - (nm_ap_new_from_ap): copy original essid too
13730                 - (nm_ap_unref): free original essid
13731                 - (nm_ap_get_orig_essid): new function
13732                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13733                         but keep original essid around too
13734
13735         * src/nm-device-802-11-wireless.c
13736                 - (supplicant_send_network_config): send wpa_supplicant the
13737                         _original_ essid, and not as a string, but in hex.  Should
13738                         allow us to connect to more APs that use wierd character
13739                         encodings for their essids
13740
13741         * utils/nm-utils.[ch]
13742                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13743                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13744                         use the current locale as a hint for what encoding the essid
13745                         might be in.  Obviously not 100% accurate, but the idea here is
13746                         that if a user's locale is ex. ja_JP, they are more likely than
13747                         not to be in Japan, where access points will likely be in some
13748                         Japanese encoding.
13749
13750 2006-01-23  Dan Williams  <dcbw@redhat.com>
13751
13752         * libnm-util/cipher-private.h
13753           libnm-util/cipher.c
13754           libnm-util/cipher.h
13755                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13756
13757 2006-01-23  Robert Love  <rml@novell.com>
13758
13759         Patch by Timo Hoenig <thoenig@suse.de>:
13760         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13761           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13762           by DHCP and pass it to the backends, allowing distribution-specific
13763           behavior with respect to the DHCP-supplied hostname (if nothing else,
13764           some distributions might not want to set the hostname).
13765         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13766           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13767           Also update our NIS behavior.
13768         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13769           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13770           Add stub functions.
13771
13772 2006-01-23  Robert Love  <rml@novell.com>
13773
13774         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13775           gnome-session does autostart.  TODO: We need to install this to
13776           $prefix/share/autostart/.
13777
13778 2006-01-22  Dan Williams  <dcbw@redhat.com>
13779
13780         * src/NetworkManagerAP.[ch]
13781           src/nm-dbus-nmi.c
13782           src/nm-device-802-11-wireless.c         
13783                 - Make nm_ap_get_essid return "const char *"
13784
13785 2006-01-22  Dan Williams  <dcbw@redhat.com>
13786
13787         * src/NetworkManagerAP.[ch]
13788                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13789
13790         * src/NetworkManagerAPList.[ch]
13791                 - (nm_ap_list_diff): removed
13792                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13793                         deal with access points changing essids on us
13794
13795         * src/nm-device-802-11-wireless.c
13796                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13797                         src/NetworkManagerAPList.c
13798                 - (real_can_interrupt_activation): new function; allow interruption
13799                         of device activation if we are waiting for a network key
13800
13801         * src/NetworkManagerPolicy.c
13802                 - (nm_policy_device_change_check): allow interruption of currently
13803                         activating devices if the device allows it.  Previous behavior
13804                         would refuse to activate a just-plugged wired device if a
13805                         wireless device was waiting for a key.
13806
13807         * src/nm-device.[ch]
13808                 - (nm_device_can_interrupt_activation): new function; ask devices
13809                         whether their activation can be interrupted
13810
13811 2006-01-20  Robert Love  <rml@novell.com>
13812
13813         * Makefile.am, configure.in: Add new man subdirectory.
13814         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13815           man/Makefile.am: Add man pages for NetworkManager and its
13816           crime-solving bumbling buddy, NetworkManagerDispatcher.
13817         * man/.cvsignore: Add.
13818         * initscript/Debian/NetworkManager,
13819           initscript/Gentoo/NetworkManager.in,
13820           initscript/RedHat/NetworkManager.in,
13821           initscript/RedHat/NetworkManagerDispatcher.in,
13822           initscript/SUSE/networkmanager-dispatcher.in,
13823           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13824
13825 2006-01-20  Robert Love  <rml@novell.com>
13826
13827         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13828           instead of queuing.  This prevents the running of multiple NM
13829           daemons concurrently, which does not work whatsoever and results in
13830           neither daemon working correctly.  Also, we don't handle queuing and
13831           name-owner-changes, anyhow.
13832
13833 2006-01-20  Robert Love  <rml@novell.com>
13834
13835         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13836         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13837           to sbin, not bin.
13838
13839 2006-01-19  Robert Love  <rml@novell.com>
13840
13841         * configure.in: Require hal 0.5.0 or later.
13842
13843 2006-01-18  Robert Love  <rml@novell.com>
13844
13845         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13846           Allow backends to flag a device (in whatever distro-dependent way
13847           they so desire) as disabled.  NM will ignore any such device.
13848         * src/backends/NetworkManagerDebian.c,
13849           src/backends/NetworkManagerRedHat.c,
13850           src/backends/NetworkManagerSlackware.c: Add stub function
13851           nm_system_device_get_disabled() that always returns FALSE (enabled).
13852         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13853           SUSE-specific configuration structure.  Fill it in from the
13854           NM_CONTROLLED variable in the system networking scripts.  If this var
13855           exists and is "no", we ignore the device.
13856
13857 2006-01-17  Robert Love  <rml@novell.com>
13858
13859         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13860           identical for NM.  For a full discussion, see the thread at
13861           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13862
13863 2006-01-17  Dan Williams  <dcbw@redhat.com>
13864
13865         * src/nm-device.c
13866                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13867                         function.  Fixes crash when wired DHCP fails.
13868
13869 2006-01-16  Robert Love  <rml@novell.com>
13870
13871         * src/Makefile.am: Don't install NMLoadModules
13872         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13873           from src/ to test/ as no one uses it anymore.  Note that I would be
13874           fine with removing it altogether.
13875
13876 2006-01-16  Robert Love  <rml@novell.com>
13877
13878         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13879           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13880           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13881           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13882           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13883           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13884           declarations, ever.
13885         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13886           NM_STATE_DISCONNECTED is zero).
13887
13888 2006-01-16  Robert Love  <rml@novell.com>
13889
13890         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13891           uninitialized parameter and buffer overflow.  Novell #143496.
13892
13893 2006-01-16  Dan Williams  <dcbw@redhat.com>
13894
13895         Apply the PtP Address bits of a patch from Tim Niemueller
13896
13897         * src/nm-ip4-config.[ch]
13898                 - Add ip4_ptp_address member to object
13899                 - (nm_ip4_config_copy): copy ptp address too
13900                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13901                         new functions
13902                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13903                         rather than local tunnel ip address
13904
13905         * src/vpn-manager/nm-vpn-service.c
13906                 - (print_vpn_config): update for PtP address
13907                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13908                         DBusMessageIters in preparation for getting routes from the VPN
13909                         service daemons too
13910
13911         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13912                 - (send_config_info): update for PtP address, clean up code
13913                 - (main): update for PtP address, clean up code, fix typo
13914
13915         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13916                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13917
13918         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13919                 - (pptp_ip_up): update for PtP address
13920
13921         * vpn-daemons/pptp/src/nm-pptp-service.c
13922                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13923
13924         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13925                 - (print_vpn_config): update for PtP address
13926                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13927
13928 2006-01-16  Dan Williams  <dcbw@redhat.com>
13929
13930         * gnome/applet/applet.c
13931                 - (nmwa_add_networks_helper): don't indicate an active network
13932                         if NM is disconnected or asleep
13933
13934 2006-01-16  Dan Williams  <dcbw@redhat.com>
13935
13936         * src/NetworkManagerPolicy.c
13937                 - (nm_policy_device_change_check): switch devices if we lose the link
13938                         on an ethernet device. 
13939
13940 2006-01-16  Dan Williams  <dcbw@redhat.com>
13941
13942         * gnome/applet/wso-wpa-psk-hex.[ch]
13943                 - Renamed -> wso-wpa-psk.[ch]
13944
13945         * gnome/applet/wso-wpa-psk.[ch]
13946                 - New files
13947
13948         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13949                 - Removed, rolled into wso-wpa-psk.[ch]
13950
13951         * gnome/applet/Makefile.am
13952                 - Updated for above changes
13953
13954         * gnome/applet/wireless-applet.glade
13955                 - Consolidate WPA-PSK options into one notebook
13956                         widget, and make dialogs invisible by default
13957                         to fix screen oddities
13958
13959         * gnome/applet/wireless-security-manager.c
13960                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13961                         than both the old hex & passphrase ones
13962
13963 2006-01-16  Dan Williams  <dcbw@redhat.com>
13964
13965         * gnome/applet/other-network-dialog.c
13966                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13967
13968 2006-01-16  Dan Williams  <dcbw@redhat.com>
13969
13970         * gnome/applet/applet.c
13971                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13972                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13973                         prevention to realize window before trying to get server
13974                         time
13975
13976         * gnome/applet/other-network-dialog.c
13977                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13978                         prevention to realize window before trying to get server
13979                         time
13980
13981         * gnome/applet/passphrase-dialog.c
13982                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13983                         prevention to realize window before trying to get server
13984                         time
13985
13986 2006-01-16  Robert Love  <rml@novell.com>
13987
13988         Patch from Timo Hoenig  <thoenig@suse.de:
13989         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13990           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13991           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13992           libnm-util/dbus-helpers.h: add checks whether headers are used
13993           within a C++ build.
13994
13995 2006-01-16  Dan Williams  <dcbw@redhat.com>
13996
13997         * gnome/applet/wireless-security-option.c
13998                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13999
14000 2006-01-16  Dan Williams  <dcbw@redhat.com>
14001
14002         * libnm-util/cipher-wpa-psk-passphrase.c
14003                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14004                         be 8 - 63 characters inclusive
14005
14006 2006-01-16  Dan Williams  <dcbw@redhat.com>
14007
14008         * src/nm-dbus-nm.c
14009                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14010
14011 2006-01-13  Robert Love  <rml@novell.com>
14012
14013         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14014         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14015           modules that do not use an interface.
14016
14017 2006-01-13  Dan Williams  <dcbw@redhat.com>
14018
14019         * src/nm-device.c
14020           src/nm-device.h
14021                 - Allow subclasses to implement deactivate_quickly()
14022                 - (nm_device_deactivate_quickly): call subclass
14023                         deactivate_quickly() methods
14024                 - (nm_device_set_active_link): small cleanups, and don't
14025                         deactivate the device right away because we risk a deadlock
14026                         when called from device thread, waiting for the device
14027                         thread to cancel activation
14028
14029         * src/nm-device-802-11-wireless.c
14030                 - (real_deactivate_quickly): new function
14031                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14032                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14033                         so that we kill the supplicant when we sleep too
14034                 - (supplicant_interface_init): work around naive naming attempts of
14035                         wpa_ctrl when naming sockets
14036
14037 2006-01-13  Dan Williams  <dcbw@redhat.com>
14038
14039         * src/nm-device-802-11-wireless.c
14040                 - (supplicant_cleanup): delete old device control sockets too
14041                 - (supplicant_get_device_socket_path): new function to consolidate
14042                         locations that need a path to a device's control socket
14043
14044 2006-01-12  Robert Love  <rml@novell.com>
14045
14046         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14047           description so that the description is unique for each
14048           pair (device,provider).  Fixes Novell #142773.
14049
14050 2006-01-12  Dan Williams  <dcbw@redhat.com>
14051
14052         * src/nm-device-802-11-wireless.c
14053                 - (supplicant_exec): ensure GError is correctly initialized
14054                         Reported by Diego González (gnome.org #326708)
14055
14056 2006-01-11  Robert Love  <rml@novell.com>
14057
14058         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14059           define if_mii(), open code the same results, and do so without any
14060           type punning.
14061
14062 2006-01-11  Robert Love  <rml@novell.com>
14063
14064         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14065           that wso_foo_new() returned non-NULL.  Instead, only append the new
14066           wso to wsm->options if the wso is non-NULL.  The crux is that we
14067           assume that the relevant key types are implied by WEP and WPA as
14068           appropriate.  To be sure, they should be, but we should not expect
14069           drivers to not be oozing piles of wolf fecal matter.
14070
14071 2006-01-11  Robert Love  <rml@novell.com>
14072
14073         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14074         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14075           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14076           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14077           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14078           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14079           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14080         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14081           comparing values within DBL_EPSILON.  Also fix shadowed variable
14082           usage.
14083
14084 2006-01-11  Dan Williams  <dcbw@redhat.com>
14085
14086         Add options for WPA2 and WPA1+CCMP (AES).
14087
14088         * gnome/applet/wireless-applet.glade
14089                 - Add UI bits for WPA+CCMP
14090
14091         * gnome/applet/other-network-dialog.c
14092                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14093                         and don't allow creation of WPA2 Ad-Hoc networks since
14094                         wpa_supplicant doesn't support them
14095
14096         * gnome/applet/wireless-security-manager.c
14097                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14098                         on to the specific wireless security option being created
14099
14100         * gnome/applet/wireless-security-option.[ch]
14101                 - (wso_wpa_create_key_type_model): new utility function to create
14102                         the model required for WPA Key Type combo box
14103
14104         * gnome/applet/wso-private.h
14105           gnome/applet/wireless-security-option.h
14106                 - Move private function prototypes into wso-private.h
14107
14108         * gnome/applet/wso-wpa-psk-hex.[ch]
14109           gnome/applet/wso-wpa-psk-passphrase.[ch]
14110                 - (append_dbus_params_func): get WPA version from checkbox and pass
14111                         it to the dbus serialization helper
14112                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14113                         key type combo changes
14114                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14115                         model and options
14116
14117         * libnm-util/cipher-wpa-psk-hex.c
14118           libnm-util/cipher-wpa-psk-passphrase.c
14119                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14120                         new function; allow the cipher to be changed after object creation
14121
14122         * src/nm-ap-security-wpa-psk.c
14123                 - (set_description): Do WPA2 descriptions too
14124
14125         * src/nm-ap-security.c
14126                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14127
14128 2006-01-11  Robert Love  <rml@novell.com>
14129
14130         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14131           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14132           from the ifreq structure in lieu of an open coded solution.  Removes
14133           a life-threatening type-punning.
14134         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14135           types, ever, whatsoever, baby.
14136
14137 2006-01-11  Robert Love  <rml@novell.com>
14138
14139         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14140           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14141           assignments to applet->nm_state into a new nmwa_set_state() function
14142           for both cleanliness and to help debugging.
14143
14144 2006-01-10  Robert Love  <rml@novell.com>
14145
14146         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14147           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14148           seconds, exclusive.  That is, we want to sleep x seconds such that
14149           1 < x < 2.
14150
14151 2006-01-10  Robert Love  <rml@novell.com>
14152
14153         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14154           the attr fields according to the example in the email available at
14155           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14156           Conversely, we do have to free 'name', so we do so, fixing a leak.
14157
14158 2006-01-10  Robert Love  <rml@novell.com>
14159
14160         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14161           sure that we close the socket!
14162
14163 2006-01-10  Robert Love  <rml@novell.com>
14164
14165         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14166           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14167           src/nm-device.c: Fix a FIXME!  Reimplement the function
14168           nm_device_update_hw_address() in device subclass variants,
14169           nm_device_802_3_ethernet_set_address() and
14170           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14171           This fixes the existing bug where MAC addresses are all zeros.
14172
14173 2006-01-10  Robert Love  <rml@novell.com>
14174
14175         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14176           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14177           option to give users ability to globally disconnect and put NM to
14178           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14179           clean disconnect.
14180
14181 2006-01-09  Robert Love  <rml@novell.com>
14182
14183         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14184           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14185           User-space does not supply these types, so we have to define them
14186           ourselves.  The relevant kernel maintainer refused to accept a patch
14187           switching these headers to the proper C99 types.
14188
14189 2006-01-09  Dan Williams  <dcbw@redhat.com>
14190
14191         Apply Robert's 'tray icon redo' patch with fixes
14192         * gnome/applet/applet.c
14193           gnome/applet/applet.h
14194                 - Instead of using a menu bar + menu item, simulate menu
14195                         behavior using a popup menu.  Highlight the area around
14196                         the icon more like a menu too, by playing with the
14197                         applet's size requisition
14198
14199 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14200         * libnm-util/dbus-helpers.c
14201           libnm-util/dbus-helpers.h
14202                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14203                         to 'exception_namespace' (:namespace is a keyword in
14204                         C++)
14205
14206 2006-01-09  Dan Williams  <dcbw@redhat.com>
14207
14208         * src/NetworkManagerPolicy.c
14209                 - (nm_policy_device_change_check): don't autoswitch away from
14210                         Ad-Hoc networks, since there's really no concept of
14211                         "link"
14212
14213         * src/nm-dbus-nm.c
14214                 - (nm_dbus_nm_create_wireless_network): mark created networks
14215                         as Ad-Hoc networks
14216
14217         * src/nm-device-802-11-wireless.c
14218                 - (real_activation_success_handler): add user-created Ad-Hoc
14219                         networks to the device's scan list
14220
14221 2006-01-08  Dan Williams  <dcbw@redhat.com>
14222
14223         We now require a patch for wpa_supplicant to support Ad-Hoc
14224         networks:
14225           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14226
14227         * src/nm-device-802-11-wireless.c
14228                 - (supplicant_send_network_config): turn off wpa_supplicant's
14229                         scanning.  Fixes Ad-Hoc networks.
14230
14231 2006-01-08  Dan Williams  <dcbw@redhat.com>
14232
14233         * src/nm-ap-security.c
14234           src/nm-ap-security.h
14235                 - Add a user_created argument to the write_supplicant_config
14236                         functions
14237
14238         * src/nm-ap-security-wep.c
14239           src/nm-ap-security-wpa-psk.c
14240           src/nm-device-802-11-wireless.c
14241                 - Make Ad-Hoc mode somewhat work, at least write the
14242                         correct options to wpa_supplicant
14243
14244 2006-01-08  Dan Williams  <dcbw@redhat.com>
14245
14246         * src/nm-device-802-11-wireless.c
14247                 - Remove unused code from the old device activation path
14248
14249 2006-01-08  Dan Williams  <dcbw@redhat.com>
14250
14251         * libnm-util/dbus-helpers.c
14252                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14253                         dbus when key == NULL
14254
14255 2006-01-08  Dan Williams  <dcbw@redhat.com>
14256
14257         * gnome/applet/nm-gconf-wso-wpa-psk.c
14258                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14259                         correct arguments to nmu_security_deserialize_wpa_psk()
14260
14261         * src/nm-ap-security-wpa-psk.c
14262                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14263                         arguments to nmu_security_deserialize_wpa_psk()
14264
14265 2006-01-08  Dan Williams  <dcbw@redhat.com>
14266
14267         * gnome/applet/wso-wpa-psk-hex.c
14268           gnome/applet/wso-wpa-psk-passphrase.c
14269                 - Hook up the append_dbus_params_func() function
14270
14271 2006-01-08  Dan Williams  <dcbw@redhat.com>
14272
14273         * src/nm-device-802-11-wireless.c
14274                 - (get_wireless_capabilities): correctly detect driver WPA
14275                         capabilities
14276
14277 2006-01-08  Dan Williams  <dcbw@redhat.com>
14278
14279         * gnome/applet/Makefile.am
14280           gnome/applet/wso-wpa-psk-hex.c
14281           gnome/applet/wso-wpa-psk-hex.h
14282                 - New files, implement WPA-PSK Hex key input
14283
14284         * gnome/applet/wireless-applet.glade
14285                 - Change existing wpa-psk stuff to wpa-psk-hex
14286                 - Add new widgets for wpa-psk-passphrase
14287
14288         * gnome/applet/wireless-security-manager.c
14289                 - (wsm_set_capabilities): enable WPA options
14290
14291         * gnome/applet/wso-wpa-psk-passphrase.c
14292                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14293                         for WPA-PSK passphrase
14294
14295 2006-01-08  Dan Williams  <dcbw@redhat.com>
14296
14297         * include/NetworkManager.h
14298                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14299                         applet/info-daemons
14300
14301         * gnome/applet/passphrase-dialog.c
14302                 - Use the constant.  Fixes a bug where the arguments to
14303                         dbus_message_new_error() were incorrect
14304
14305         * src/nm-dbus-nmi.c
14306                 - Use the constant
14307
14308 2006-01-07  Dan Williams  <dcbw@redhat.com>
14309
14310         * src/nm-device-802-11-wireless.c
14311                 - Add a link timeout so we allow the supplicant time to
14312                         reassociate if it can, before we deactivate the card
14313                 - Fix up link status and link updating so things work better
14314
14315 2006-01-07  Dan Williams  <dcbw@redhat.com>
14316
14317         * src/nm-device-802-11-wireless.c
14318                 - Switch over to using wpa_supplicant
14319                 - Add a timeout of 10s for association of the supplicant
14320                 - Start the monitor callback of the supplicant
14321
14322 2006-01-07  Dan Williams  <dcbw@redhat.com>
14323
14324         * src/NetworkManagerUtils.c
14325                 - (nm_utils_supplicant_request,
14326                   nm_utils_supplicant_request_with_check):
14327                         pass correct buffer length to wpa_ctrl_request()
14328
14329 2006-01-07  Dan Williams  <dcbw@redhat.com>
14330
14331         * src/nm-device-private.h
14332           src/nm-device.c
14333                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14334                         this function available to subclasses
14335
14336 2006-01-06  Robert Love  <rml@novell.com>
14337
14338         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14339           user plugging in a network cable signals their preference for to
14340           switch, unless the user explicitly selected a wireless network and
14341           therefore signaled their preference for said wireless network over
14342           wired.  In other words, do exactly what makes sense.
14343
14344 2006-01-06  Robert Love  <rml@novell.com>
14345
14346         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14347           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14348           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14349           showing up in my greps.
14350
14351 2006-01-06  Robert Love  <rml@novell.com>
14352
14353         * gnome/applet/applet-dbus-devices.c,
14354           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14355           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14356           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14357           New Network' both failed in the non-encrypted case because we were
14358           not appending the security options to the DBUS message.  And
14359           'Connect to Other' was also failing in the encrypted case because
14360           we were not incrementing to the next DBUS parameter.  All fixed.
14361           Thanks to dcdw for some debugging help.
14362
14363 2006-01-06  Robert Love  <rml@novell.com>
14364
14365         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14366           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14367           hangup code and add per-device hangup.  Tie last commit into the
14368           GNOME applet.  TODO:  Save, understand, and respond to the state of
14369           each dialup device.
14370
14371 2006-01-06  Robert Love  <rml@novell.com>
14372
14373         Patch by Timo Hoenig <thoenig@suse.de>:
14374         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14375           hangup specific dialup devices.
14376         * src/backends/NetworkManagerDebian.c,
14377           src/backends/NetworkManagerGentoo.c,
14378           src/backends/NetworkManagerRedHat.c,
14379           src/backends/NetworkManagerSlackware.c: Add stub backend.
14380         * src/backends/NetworkManagerRedHat.c,
14381           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14382           hangup specific dialup devices.
14383
14384 2006-01-04  Robert Love  <rml@novell.com>
14385
14386         * gnome/applet/applet-dbus-devices.c,
14387           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14388           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14389           connections.
14390
14391 2006-01-04  Dan Williams  <dcbw@redhat.com>
14392
14393         First dump of wpa_supplicant-related code.  It's not hooked up to
14394         anything yet though.  Thanks to Kay Sievers for
14395         wpa_supplicant_wrapper.c, which formed the basis for this work,
14396         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14397
14398         * src/Makefile.am
14399           src/wpa_ctrl.[ch]
14400                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14401
14402         * src/NetworkManagerUtils.[ch]
14403                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14404                         Add convenience functions for talking to wpa_supplicant
14405
14406         * src/nm-ap-security.[ch]
14407           src/nm-ap-security-wep.c
14408           src/nm-ap-security-wpa-psk.[ch]
14409                 - Update and implement real_write_supplicant_config functions
14410                         in all security types
14411                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14412                         nm-ap-security-wpa-psk.c
14413
14414         * src/nm-device-802-11-wireless.c
14415                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14416                    wpa_supplicant_start, wpa_supplicant_interface_init,
14417                    wpa_supplicant_send_network_config): add functions to talk to
14418                         wpa_supplicant and write network config to it
14419
14420 2006-01-04  Robert Love  <rml@novell.com>
14421
14422         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14423           values so that distribution-backends can differentiate between the
14424           various types (modem, ISDN, et cetera) of dialup device that they
14425           support.
14426         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14427           needed.
14428
14429 2006-01-03  Dan Williams  <dcbw@redhat.com>
14430
14431         * src/NetworkManagerPolicy.c
14432           src/nm-device.[ch]
14433           src/nm-device-802-11-wireless.c
14434                 - Move wireless-specific activation failure and success code
14435                         into wireless device class
14436
14437 2006-01-03  Robert Love  <rml@novell.com>
14438
14439         Patch by Preggna S:
14440         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14441           IPsec does not require that a VPN client be bound to an interface,
14442           due to the use of the in-kernel IPSec bits.  So make the tunnel
14443           device optional.
14444
14445 2006-01-03  Dan Williams  <dcbw@redhat.com>
14446
14447         * src/NetworkManagerAP.c
14448                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14449                         the WPA IE specifies that WEP is supported
14450
14451         * src/nm-device-802-11-wireless.c
14452                 - (process_scan_results): don't mark an AP as supporting WEP
14453                         if there's already other encryption capability info
14454
14455 2006-01-03  Dan Williams  <dcbw@redhat.com>
14456
14457         * src/dhcp-manager/nm-dhcp-manager.c
14458                 - Recognize activation cancellation when waiting for DHCP
14459                         configuration from dhcdbd
14460                 - Ignore non-dhcdbd messages
14461
14462         * src/nm-device.c
14463                 - (real_act_stage3_ip_config_start): return to correct behavior
14464                         of letting the dhcp-manager notify us of failure or
14465                         success rather than incorrectly doing that ourselves
14466                 - (nm_device_activate_stage4_ip_config_get): deal with
14467                         activation cancellation a bit earlier
14468
14469 2006-01-03  Dan Williams  <dcbw@redhat.com>
14470
14471         * src/nm-device-802-11-wireless.c
14472           src/nm-device.[ch]
14473                 - Add hooks to subclasses for stage3_ip_config_start and
14474                         stage4_ip_config_timeout
14475
14476         * src/nm-device-802-3-ethernet.c
14477                 - (real_get_generic_capabilities): make devices NM-supported
14478                         by default
14479
14480 2006-01-03  Robert Love  <rml@novell.com>
14481
14482         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14483           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14484           latter cannot differentiate between error and the address -1; misc.
14485           clean up.
14486
14487 2006-01-03  Dan Williams  <dcbw@redhat.com>
14488
14489         * src/NetworkManager.c
14490                 - Move link-checking/probing into the device subclasses
14491                         themselves
14492
14493         * src/nm-device.[ch]
14494           src/nm-device-802-11-wireless.c
14495           src/nm-device-802-3-ethernet.c
14496                 - Do periodic link checking in device subclasses rather
14497                         than being triggered from NetworkManager.c
14498                 - discover_wireless_capabilities -> get_wireless_capabilities
14499                 - discover_generic_capabilities -> get_generic_capabilities
14500                 - Device subclass activation routines now return a value of type
14501                         NMActStageReturn to indicate what step to perform next
14502                 - Devices now override stage4_get_ip4_config if they choose
14503
14504 2006-01-01  Dan Williams  <dcbw@redhat.com>
14505
14506         * src/nm-device-802-11-wireless.c
14507                 - (real_init): don't chain up to parent init because we don't
14508                         need to do that anymore
14509
14510         * src/nm-device.c
14511                 - (discover_device_type): fix arguments to ioctl() to correctly
14512                         pass interface name
14513                 - (nm_device_new): consolidate generic device initialization into
14514                         nm_device_new()
14515                 - (real_init): remove, consolidated to nm_device_new()
14516                 - (nm_device_deactivate, real_deactivate): consolidate
14517
14518 2006-01-01  Dan Williams  <dcbw@redhat.com>
14519
14520         * src/nm-activation-request.c
14521                 - Change dhcp_state member of the NMActRequest structure
14522                         from guint8 to guint32
14523
14524         * src/dhcp-manager/nm-dhcp-manager.[ch]
14525                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14526                         than guint8 to match the dbus argument.  Turns out we were
14527                         overwriting memory since we were passing in only a guint8
14528
14529 2005-12-31  Dan Williams  <dcbw@redhat.com>
14530
14531         * refactor NMDevice into a GObject-based framework with separate
14532                 objects for wired and wireless.  The following files are no
14533                 longer used but should stick around for a bit so we don't
14534                 loose code through the cracks:
14535                         NetworkManagerDevice.c
14536                         NetworkManagerDevice.h
14537                         NetworkManagerWireless.c
14538                         NetworkManagerWireless.h
14539
14540         The intent here is to allow each device type to manage its own
14541         connection & activation life-cycle, ie to allow wireless devices
14542         to interface with wpa_supplicant, etc.  There's a fair bit of
14543         encapsulation breakage right now that should gradually get pulled
14544         back into each device, along with things like periodic property
14545         updates and link probing.
14546
14547 2005-12-29  Dan Williams  <dcbw@redhat.com>
14548
14549         * include/NetworkManager.h
14550                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14551                         between networks that don't have any encryption at all
14552
14553 2005-12-29  Dan Williams  <dcbw@redhat.com>
14554
14555         * test/test-common.c
14556           test/test-common.h
14557           test/Makefile.am
14558                 - Move to a test-common subdirectory
14559
14560         * test/libnm-util/test-ciphers.c
14561                 - Move test data to test-inputs.h
14562                 - Test WPA ciphers too
14563
14564         * test/libnm-util/test-dbus-helpers.c
14565                 - Test serialization/deserialization of ciphers
14566
14567 2005-12-29  Dan Williams  <dcbw@redhat.com>
14568
14569         * gnome/applet/applet-dbus-devices.c
14570                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14571                         in dbus calls to NM
14572                 - Set capabilities on WirelessNetwork objects
14573                 - Receive and save type-specific device capabilities too
14574
14575         * gnome/applet/applet-dbus-info.c
14576           gnome/applet/applet-dbus.c
14577                 - Passphrase dialog no longer a singleton; new instance gets created
14578                         on each request.  Updates to deal with that.
14579
14580         * gnome/applet/applet.c
14581                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14582                         than single 'encrypted' flag
14583                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14584                         menu items
14585                 - Passphrase dialog updates per above
14586
14587         * gnome/applet/menu-items.c
14588                 - (network_menu_item_update): use AP capabilities to determine
14589                         encryption
14590
14591         * gnome/applet/nm-device.[ch]
14592                 - Add accessors for type-specific device capabilities
14593
14594         * gnome/applet/other-network-dialog.c
14595                 - Rework to respect device capabilities.  i.e., if the device doesn't
14596                         support WPA, remove that option from the security dropdown
14597
14598         * gnome/applet/passphrase-dialog.c
14599                 - Massive rework so that a new instance is created each time
14600                         it's used, to support wireless network capabilities
14601
14602         * gnome/applet/wireless-network.[ch]
14603                 - Add accessors and members for wireless network capabilities
14604
14605         * gnome/applet/wireless-security-manager.[ch]
14606                 - (wsm_set_capabilities): called after creation to set which
14607                         security options get shown to the user
14608
14609 2005-12-29  Dan Williams  <dcbw@redhat.com>
14610
14611         * libnm-util/cipher-wpa-psk-passphrase.c
14612                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14613                         like other ciphers
14614
14615 2005-12-23  Dan Williams  <dcbw@redhat.com>
14616
14617         * gnome/applet/applet-dbus-info.c
14618                 - (nmi_dbus_get_key_for_network): if there's no entry in
14619                         GConf for a network, assume we want a new key
14620                 - (nmi_save_network_info): serialize wireless security info
14621                         into GConf so its saved
14622
14623         * src/nm-dbus-nm.c
14624                 - Fix warning as we may not be passed security info when
14625                         connecting to a wireless network
14626
14627 2005-12-23  Dan Williams  <dcbw@redhat.com>
14628
14629         * gnome/applet/applet-compat.c
14630                 - Fix bugs in GConf entry conversion
14631
14632         * gnome/applet/applet-dbus-info.c
14633                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14634                         list being zero-length
14635
14636         * libnm-util/cipher-*
14637           libnm-util/dbus-helpers.c
14638                 - All ciphers must now return hashed keys as UTF-8 valid
14639                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14640                         through dbus as strings too.
14641                 - Consolidate various functions that do bin->hex and hex->bin
14642                         conversion into cipher.c
14643
14644         * src/nm-ap-security-wep.c
14645           src/nm-ap-security-wpa-psk.c
14646                 - Handle NULL keys since we may not know keys right away
14647
14648         * src/nm-dbus-nmi.c
14649                 - (nm_dbus_get_network_data_cb): actually advance to the start
14650                         of the wireless security info before we try to deserialize it
14651
14652         * libnm-util/test-ciphers.c
14653                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14654
14655 2005-12-22  Dan Williams  <dcbw@redhat.com>
14656
14657         * gnome/applet/applet-compat.[ch]
14658                 - Convert old-format GConf and keyring entries
14659                         when the applet starts up.
14660
14661         * gnome/applet/applet.c
14662                 - (nmwa_get_instance): Call the conversion function
14663                         on startup before dbus is initialized
14664
14665 2005-12-22  Dan Williams  <dcbw@redhat.com>
14666
14667         * gnome/applet/applet-dbus-info.c
14668                 - Remove nmi_dbus_create_error_message() in favor of
14669                         nmu_create_dbus_error_message()
14670                 - (nmi_dbus_get_network_properties): Error message cleanups
14671                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14672                         gconf key rather than 'addresses', since they really are BSSIDs
14673                 - (nmi_dbus_get_network_properties): Dispose of the security
14674                         object when we're done with it
14675
14676 2005-12-21  Dan Williams  <dcbw@redhat.com>
14677
14678         * Consolidate the info-daemon's "updateNetworkInfo" and
14679                 "addNetworkAddress" calls into just "updateNetworkInfo"
14680
14681 2005-12-21  Dan Williams  <dcbw@redhat.com>
14682
14683         * Make connection after key retrieval work again
14684
14685 2005-12-21  Dan Williams  <dcbw@redhat.com>
14686
14687         * gnome/applet/nm-gconf-wso*
14688                 - Make the serialize functions return gboolean
14689                         rather than int
14690
14691         * gnome/applet/nm-gconf-wso.c
14692                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14693                         parent class handling so we don't segfault
14694
14695         * src/NetworkManagerAP.[ch]
14696                 - (nm_ap_get_capabilities): new function, return capabilities
14697                         now that something can use them
14698                 - (nm_ap_set_encrypted): assume that an access point supports
14699                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14700                         we even tell whether it just supports WEP40?
14701
14702         * src/NetworkManagerDevice.c
14703                 - (ap_need_key): resurrect and update for the New World Order
14704                 - (nm_device_wireless_get_activation_ap): if we're not given
14705                         security info to use, create some based on access point
14706                         capabilities
14707
14708         * src/nm-ap-security-wep.c
14709                 - (nm_ap_security_wep_new_from_ap): create a new object
14710                         based on a certain access point's capabilities
14711
14712         * src/nm-ap-security.c
14713                 - (nm_ap_security_new_from_ap): delegate creation of a new
14714                         object based on access point capabilities to a subclass
14715                 - (nm_ap_security_copy_properties): don't segfault if we
14716                         don't have a key yet
14717
14718         * src/nm-dbus-nm.c
14719                 - (nm_dbus_nm_set_active_device): provide more informative
14720                         output when errors occur.  Also construct security info
14721                         for a given access point if we weren't given any
14722
14723 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14724
14725         * configure.in: Added Lithuanian to ALL_LINGUAS.
14726
14727 2005-12-21  Dan Williams  <dcbw@redhat.com>
14728
14729         * test/libnm-util
14730                 - Add some testcases for WEP ciphers
14731
14732 2005-12-17  Dan Williams  <dcbw@redhat.com>
14733
14734         * Fix bugs
14735
14736 2005-12-17  Dan Williams  <dcbw@redhat.com>
14737
14738         * include/NetworkManager.h
14739                 - Finally kill NMEncKeyType
14740
14741         * gnome/applet/applet-dbus-info.c
14742                 - (nmi_save_network_info): convert to NMGConfWSO
14743
14744         * gnome/applet/nm-gconf-wso-*.c
14745                 - Implement gconf serialization functions
14746
14747         * src/NetworkManagerPolicy.c
14748                 - (nm_policy_activation_finish): fix up meaning of
14749                         automatic/user_requested
14750
14751 2005-12-17  Dan Williams  <dcbw@redhat.com>
14752
14753         * gnome/applet/*
14754                 - More applet cleanups
14755                 - Use the dbus-method-dispatcher
14756
14757         * libnm-util/dbus-method-dispatcher.[ch]
14758                 - Generalize the implementation from NM in
14759                         NetworkManagerUtils.c
14760
14761 2005-12-16  Dan Williams  <dcbw@redhat.com>
14762
14763         * gnome/applet/*
14764                 - Fix up the passphrase dialog to use all the
14765                         WirelessSecurityOption stuff (untested)
14766
14767 2005-12-16  Dan Williams  <dcbw@redhat.com>
14768
14769         * Move nm_gconf_get_*_helper() functions to separate files,
14770                 gconf-helpers.c & gconf-helpers.h
14771
14772         * New NMGConfWSO objects for managing the gconf side of things.
14773                 Eventually these should be merged with the
14774                 WirelessSecurityOption objects and a common base (that can
14775                 serialize/deserialize from dbus & gconf) should be
14776                 refactored out, but for now they are separate.
14777
14778 2005-12-16  Robert Love  <rml@novell.com>
14779
14780         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14781           binaries unless they exist (nm_spawn_process() emits a warning if
14782           asked to spawn a non-existant process).
14783
14784 2005-12-16  Dan Williams  <dcbw@redhat.com>
14785
14786         * gnome/applet/applet-dbus-info.c
14787                 - Clean up lots of gconf-related code
14788
14789 2005-12-16  Robert Love  <rml@novell.com>
14790
14791         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14792
14793 2005-12-16  Dan Williams  <dcbw@redhat.com>
14794
14795         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14796
14797         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14798                 bits still to be done)
14799
14800 2005-12-16  Dan Williams  <dcbw@redhat.com>
14801
14802         * Finally move info-daemon related stuff out of
14803                 NetworkManagerDbus.c to nm-dbus-nmi.c
14804
14805 2005-12-16  Dan Williams  <dcbw@redhat.com>
14806
14807         * Kill auth_method for access points, since that's now done
14808                 by NMAPSecurity objects
14809
14810         * Add a copy-constructor of sorts to NMAPSecurity
14811                 (how do you do this properly in glib???)
14812
14813 2005-12-15  Dan Williams  <dcbw@redhat.com>
14814
14815         * Exorcise encryption key hashing on APs
14816         * Use libnm-util's serialization/deserialization in both the
14817                 applet and NM
14818         * Random other stuff
14819
14820 2005-12-15  Robert Love  <rml@novell.com>
14821
14822         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14823           is being added to the icon naming spec, so let's use that (Tango CVS
14824           has the icon).  Because it is new, however, we fall back to the
14825           current "gnome-lockscreen" if the new icon is not around, thus
14826           behavior is the same.
14827         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14828           factory junk.
14829
14830 2005-12-15  Robert Love  <rml@novell.com>
14831
14832         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14833           well, help to give.  Couple other misc. bits.
14834
14835 2005-12-15  Dan Williams  <dcbw@redhat.com>
14836
14837         * libnm-util/dbus-helpers.[ch]
14838                 - Make this the one-stop-shop for serializing/deserializing
14839                         AP & connection security settings over dbus.  Both NM
14840                         and applets should use this to ensure consistent dbus
14841                         API going forwared.
14842
14843 2005-12-15  Robert Love  <rml@novell.com>
14844
14845         Patch by Timo Hoenig  <thoenig@suse.de>:
14846         * src/NetworkManagerDbus.c
14847                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14848                         if HAL jumps off the system bus.  Otherwise libdbus
14849                         (dbus_connection_dispatch) will try to run the filter
14850                         function of our libhal context which is already freed.
14851
14852 2005-12-15  Alexander Shopov  <ash@contact.bg>
14853
14854         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14855
14856 2005-12-14  Dan Williams  <dcbw@redhat.com>
14857
14858         * include/NetworkManager.h
14859           src/NetworkManagerWireless.c
14860                 - Rearrange 802.11 wireless-specific capabilities again
14861
14862         * src/Makefile.am
14863                 - Forgot to add wpa.c/wpa.h to the makefiles
14864
14865         * src/NetworkManagerAP.[ch]
14866                 - Implement access point capabilities and parse the
14867                         WPA/RSN IEs into the capability bitfield
14868                 - Switch the "encrypted" attribute to utilize the bitfield
14869                         and capabilities rather than being independent
14870
14871         * src/NetworkManagerDevice.c
14872                 - (nm_device_wireless_get_activation_ap): break it horribly
14873                         until we can push NMAPSecurity objects into access point
14874                         objects and through the activation chain
14875                 - Stuff WPA & RSN IEs into AP capabilities
14876
14877         * src/nm-dbus-nm.c
14878                 - Take a shot at actually making setActiveDevice work
14879
14880         * src/wpa.[ch]
14881                 - Make the API a bit saner
14882
14883 2005-12-14  Dan Williams  <dcbw@redhat.com>
14884
14885         * include/NetworkManager.h
14886                 - Add 802.11-specific capability for 802.1x key
14887                         management
14888
14889         * src/wpa.[ch]
14890                 - Pull in WPA IE and RSN IE parsing code from
14891                         wpa_supplicant so we can determine access point
14892                         capabilities
14893                 - Move WPA-related constants here from NetworkManagerAP.h
14894                         and NetworkManagerDevice.c
14895
14896         * src/NetworkManagerDevice.c
14897           src/NetworkManagerAP.[ch]
14898                 - Use WPA-related constants from wpa.h
14899
14900 2005-12-14  Dan Williams  <dcbw@redhat.com>
14901
14902         * include/NetworkManager.h
14903                 - Update and split 802.11 wireless-specific capabilities from
14904                         generic device capabilities
14905
14906         * src/NetworkManagerDevice.c
14907           src/NetworkManagerDevicePrivate.h
14908                 - (nm_device_wireless_discover_capabilities): Move 802.11
14909                         wireless-specific capability checks to
14910                         NetworkManagerWireless.c
14911                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14912                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14913
14914         * src/NetworkManagerWireless.[ch]
14915                 - (nm_802_11_wireless_discover_capabilities): Check extended
14916                         802.11 wireless-specific capabilities of the driver
14917
14918 2005-12-14  Robert Love  <rml@novell.com>
14919
14920         Patch from Stefan Scheler <sscheler@suse.de>:
14921         * src/NetworkManagerDevice.c: call backend code to activate and
14922           deactivate NIS.
14923         * src/NetworkManagerSystem.h: add new NIS interfaces.
14924         * src/backends/NetworkManagerDebian.c,
14925           src/backends/NetworkManagerGentoo.c,
14926           src/backends/NetworkManagerRedHat.c,
14927           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14928           support.
14929         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14930
14931 2005-12-14  Dan Williams  <dcbw@redhat.com>
14932
14933         * src/nm-ap-security*.[ch]
14934                 - Add AP security abstractions to NetworkManager
14935
14936         * src/nm-dbus-device.c
14937                 - Begin to parse new format dbus messages from the applet
14938                         and construct an AP security object from the message
14939
14940         * libnm-util/dbus-helpers.c
14941                 - Use message iters so we can append the key as a fixed
14942                         array of bytes, which actually works rather than
14943                         using dbus_message_append_args() as we were before
14944
14945 2005-12-14  Dan Williams  <dcbw@redhat.com>
14946
14947         * src/NetworkManagerDbus.c
14948           gnome/applet/applet-dbus.c
14949                 - Fix up dbus service replacement options.  The applet
14950                         should allow replacement, NM itself should not.
14951
14952 2005-12-13  Robert Love  <rml@novell.com>
14953
14954         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14955           Instead, fail silently if config is NULL by not asserting and not
14956           returning FALSE.  Also, make sure we always fclose() the file.
14957
14958 2005-12-13  Robert Love  <rml@novell.com>
14959
14960         Patch by Stefan Scheler <sscheler@suse.de>:
14961         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14962            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14963            via DHCP.  Still need the backends to commit the NIS domain name and
14964            and servers to yp.conf as needed.
14965
14966 2005-12-13  Robert Love  <rml@novell.com>
14967
14968         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14969           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14970
14971 2005-12-13  Robert Love  <rml@novell.com>
14972
14973         * src/named-manager/nm-named-manager.c: Don't unref the config until
14974           after we call rewrite_resolv_conf(), because get_last_default_domain()
14975           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14976           `config != NULL' failed" assertion failures and "Could not commit DNS
14977           changes" warnings.
14978
14979 2005-12-12  Dan Williams  <dcbw@redhat.com>
14980
14981         * libnm-util/dbus-helpers.[ch]
14982           libnm-util/Makefile.am
14983                 - new helper calls to consolidate locations where
14984                         NM's setDevice method is called
14985
14986         * gnome/applet/applet-dbus-devices.c
14987           gnome/applet/wireless-security-option.c
14988           gnome/applet/wso-*
14989                 - Implement dbus message param append function for
14990                         all wireless security options
14991
14992 2005-12-12  Robert Love  <rml@novell.com>
14993
14994         * libnm-util/cipher-wep-passphrase.c,
14995           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14996           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14997           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14998           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14999           When handling keys, we don't care what the sign is.  The compiler
15000           guarantees us that we get our 8-bits, which is all we care about.
15001         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15002
15003 2005-12-12  Dan Williams  <dcbw@redhat.com>
15004
15005         * gnome/applet/applet-dbus-devices.[ch]
15006           gnome/applet/applet.c
15007           gnome/applet/other-network-dialog.c
15008           gnome/applet/wireless-security-manager.[ch]
15009           gnome/applet/wireless-security-option.[ch]
15010           gnome/applet/wso-*
15011                 - Push the wireless security options further into the applet
15012
15013 2005-12-12  Robert Love  <rml@novell.com>
15014
15015         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15016           return any name servers.  That is perfectly valid.  (Novell #134369).
15017
15018 2005-12-11  Dan Williams  <dcbw@redhat.com>
15019
15020         * gnome/applet/wso-*
15021           gnome/applet/wireless-security-option.*
15022           gnome/applet/Makefile.am
15023                 - split each security option out so we can eventually
15024                         have each one build up their own dbus message
15025                         arguments to send to NM
15026
15027 2005-12-11  Dan Williams  <dcbw@redhat.com>
15028
15029         * Make validation of the key work correctly
15030
15031 2005-12-11  Dan Williams  <dcbw@redhat.com>
15032
15033         * Hook more bits of the Other Network Dialog up to the
15034                 wireless security manager stuff, and restructure
15035                 bits of the dialog so there's less code.
15036
15037 2005-12-10  Dan Williams  <dcbw@redhat.com>
15038
15039         * gnome/applet/Makefile.am
15040                 - Add libnm-util to includes
15041                 - Add libnm-util to link list
15042                 - Add wireless-security-common.* to compile list
15043
15044         * gnome/applet/other-network-dialog.c
15045                 - Convert to using the WirelessSecurityManager code and
15046                         widgets
15047
15048         * gnome/applet/passphrase-dialog.c
15049                 - Comment out references to stuff in the glade file that
15050                         cause runtime errors until it can be fixed up
15051                         to use the WirelessSecurityManager code
15052
15053         * gnome/applet/wireless-applet.glade
15054                 - Rename some widgets
15055                 - Add widgets for the WirelessSecurityManager code
15056                 - Remove passphrase-related stuff since that's now
15057                         handled by the WirelessSecurityManager code
15058
15059 2005-12-10  Dan Williams  <dcbw@redhat.com>
15060
15061         * gnome/applet/applet-dbus-devices.c
15062                 - Print out error message details for dbus pending call callbacks
15063                 - Move nmwa_dbus_update_devices() up
15064
15065         * gnome/applet/applet-dbus-vpn.c
15066                 - Print out error message details for dbus pending call callbacks
15067
15068 2005-12-10  Dan Williams  <dcbw@redhat.com>
15069
15070         * libnm-util/*
15071                 - More fixups
15072                 - Remove cipher-manager.* because we don't need it
15073                 - Forgot to add gnome-keyring-md5 files to compile list
15074
15075 2005-12-09  Dan Williams  <dcbw@redhat.com>
15076
15077         * libnm-util/*
15078           configure.in
15079           Makefile.am
15080                 - Add a utility library for clients of NetworkManager.  It's
15081                         only targetted at applets for the moment, and contains
15082                         a generalized 802.11 cipher framework for different
15083                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15084
15085 2005-12-09  Robert Love  <rml@novell.com>
15086
15087         * src/NetworkManagerDevice.c: handle error better in
15088           nm_device_set_mode().
15089
15090 2005-12-08  Robert Love  <rml@novell.com>
15091
15092         * include/NetworkManager.h: add WPA capabilities constants
15093         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15094           or WPA2 and add the capabilities bits as appropriate.
15095
15096 2005-12-08  Robert Love  <rml@novell.com>
15097
15098         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15099           NetworkManagerDispatcher.
15100         * configure.in, initscript/SUSE/.cvsignore,
15101           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15102           initscript.
15103
15104 2005-12-08  Robert Love  <rml@novell.com>
15105
15106         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15107
15108 2005-12-08  Robert Love  <rml@novell.com>
15109
15110         * src/NetworkManagerDevice.c: We want to fall back on and default to
15111           IW_MODE_AUTO, not -1, which is more in line with our previous
15112           behavior.  Otherwise, we try to set the wireless mode to -1 in
15113           nm_device_set_mode().
15114
15115 2005-12-07  Robert Love  <rml@novell.com>
15116
15117         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15118           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15119           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15120           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15121           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15122           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15123           zero.
15124
15125 2005-12-07  Robert Love  <rml@novell.com>
15126
15127         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15128           supplied IP is invalid, fall back to DHCP.
15129
15130 2005-12-07  Dan Williams  <dcbw@redhat.com>
15131
15132         * Convert NETWORK_MODE_* constants to IW_MODE_*
15133         * Make all the get_mode/set_mode functions take and return 'int'
15134         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15135
15136 2005-12-07  Robert Love  <rml@novell.com>
15137
15138         * src/NetworkManagerDevice.c: strncpy() buffer check.
15139         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15140
15141 2005-12-06  Dan Williams  <dcbw@redhat.com>
15142
15143         * gnome/applet/applet-dbus.c
15144                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15145
15146         * gnome/applet/applet-dbus-vpn.c
15147                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15148                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15149                         to TRUE here if stage was ACTIVATED
15150
15151 2005-12-06  Dan Williams  <dcbw@redhat.com>
15152
15153         * Change nm_device_is_* functions to better names:
15154                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15155                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15156
15157 2005-12-06  Dan Williams  <dcbw@redhat.com>
15158
15159         * Change naming of NMDeviceType to something more sensible:
15160                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15161                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15162                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15163
15164 2005-12-06  Dan Williams  <dcbw@redhat.com>
15165
15166         * Move NetworkManager.h -> include/NetworkManager.h
15167         * Split out VPN stuff into include/NetworkManagerVPN.h
15168         * Fix up makefiles to include new location
15169         * Fix up sources to include NetworkManagerVPN.h
15170
15171 2005-12-06  Dan Williams  <dcbw@redhat.com>
15172
15173         Various changes in the applet to move VPN connection "state" -> "stage",
15174         which it actually is.  I'd like to change the signal as well when we
15175         break compat in the near future.
15176
15177 2005-12-06  Dan Williams  <dcbw@redhat.com>
15178
15179         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15180         * initscript/Slackware/rc.networkmanager
15181                 - Cosmetic fix
15182
15183         * src/backends/NetworkManagerSlackware.c
15184                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15185                         interfaces
15186
15187 2005-12-05  Robert Love  <rml@novell.com>
15188
15189         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15190           to free, particularly here as it just barfs.
15191
15192 2005-12-05  Dan Williams  <dcbw@redhat.com>
15193
15194         * gnome/applet/applet-dbus.c
15195                 - Work with dbus 0.6 too
15196
15197 2005-12-03  Dan Williams  <dcbw@redhat.com>
15198
15199         * src/NetworkManagerUtils.[ch]
15200           src/nm-ip4-config.c
15201                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15202                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15203
15204 2005-12-01  Robert Love  <rml@novell.com>
15205
15206         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15207           need a NULL for the '...' parameter, too, to fill the so-called
15208           sentinel.
15209
15210 2005-12-01  Robert Love  <rml@novell.com>
15211
15212         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15213           interface is already gone, so don't call rtnl_link_change() to down
15214           it (which will segfault, anyhow).
15215
15216 2005-11-22  Robert Love  <rml@novell.com>
15217
15218         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15219           gateway is not set, just print a little note.  Configurations without
15220           gateways are valid.
15221
15222 2005-11-22  Robert Love  <rml@novell.com>
15223
15224         * README: update
15225
15226 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15227
15228         * configure.in: Added Finnish translation to ALL_LINGUAS
15229
15230 2005-11-14  Robert Love  <rml@novell.com>
15231
15232         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15233           Niemueller <tim@niemueller.de>.
15234
15235 2005-11-08  Dan Williams  <dcbw@redhat.com>
15236
15237         Patch from Bill Moss <bmoss@clemson.edu>
15238         * src/NetworkManagerDevice.c
15239                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15240                         of nm_policy_schedule_activation_finish() to prevent a
15241                         race condition that causes the link to be dropped
15242
15243 2005-11-08  Dan Williams  <dcbw@redhat.com>
15244
15245         Patch from Bill Moss <bmoss@clemson.edu>
15246         * src/NetworkManagerAPList.c
15247           src/NetworkManagerDevice.c
15248           src/NetworkManagerDbus.c
15249                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15250                         we get more readable ether/mac addresses
15251
15252 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15253
15254         * gnome/applet/main.c: Don't set the restart command.  This fixes
15255         the issue where the restart command was getting copies of all its
15256         arguments for each time the applet was restarted.
15257
15258 2005-11-02  Robert Love  <rml@novell.com>
15259
15260         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15261           if the widget state differs from our saved state.  This ensures we
15262           do not enter an endless loop of death and destruction.  Also, this
15263           guarantees us that we enforce the widget state.
15264
15265 2005-11-02  Robert Love  <rml@novell.com>
15266
15267         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15268         * gnome/applet/applet-dbus-devices.c: invoke the new function
15269           nmwa_enable_wireless_set_active() to ensure that the state of the
15270           'Enable Wireless' checkbox matches the daemon's state.  This is a
15271           concern because the daemon remembers the state.
15272
15273 2005-11-02  Robert Love  <rml@novell.com>
15274
15275         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15276           Enabled", as checkboxes should be actions/commands not positive
15277           statements, otherwise they are confusing in the unselected case.  See
15278           examples in GNOME HIG, Chapter 6.
15279
15280 2005-11-02  Robert Love  <rml@novell.com>
15281
15282         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15283           show a list of wireless networks or the wireless devices or the
15284           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15285           a bad bug: If wireless is disabled and the user picks a wireless
15286           network, NM will switch to the network, only to immediately switch
15287           back, as wireless is disabled.  This also reassures people that NM
15288           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15289
15290 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15291
15292         * gnome/applet/applet.c:
15293         * gnome/applet/applet.h:
15294         Partial backout of Dan's timeout animation patch.
15295         Timeout IDs cannot legally be 0, so revert the code in place to handle
15296         a timeout ID of 0 to denote the timeout isn't running.
15297
15298 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15299
15300         * src/NetworkManagerPolicy.c:
15301         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15302
15303 2005-10-28  Robert Love  <rml@novell.com>
15304
15305         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15306           "Import Saved Configuration..." to make it clear that importing is
15307           not the next step, but an option.  As an aside, a nice TODO would be
15308           to move Importing out of the vpn-specific dialog and into the main
15309           property editor, as Importing goes with Adding, but that will require
15310           some rearchitecting of the VPN stuff I suspect.
15311
15312 2005-10-27  Dan Williams  <dcbw@redhat.com>
15313
15314         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15315         we should replace most of the distro-specific backend code
15316         with libnl stuff.
15317
15318         Get it here:  http://people.suug.ch/~tgr/libnl/
15319
15320         * configure.in
15321           src/Makefile.am
15322                 - Add checks for libnl pkgconfig file
15323                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15324
15325         * src/NetworkManagerSystem.c
15326           src/nm-ip4-config.[ch]
15327                 - Use libnl rather than ioctl() for most things
15328                 - Remove unused functions
15329
15330 2005-10-27  Robert Love  <rml@novell.com>
15331
15332         * src/backends/NetworkManagerSuSE.c: fix warning message text
15333
15334 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15335
15336         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15337
15338 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15339
15340         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15341         project page <http://www.gnome.org/projects/NetworkManager/>
15342
15343 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15344
15345         * gnome/applet.c: Also use translator credits if we don't have
15346         the new GtkAboutDialog (older versions of GTK+)
15347
15348 2005-10-26  Robert Love  <rml@novell.com>
15349
15350         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15351           failure; correct usage text for "--no-daemon"
15352
15353 2005-10-25  Dan Williams  <dcbw@redhat.com>
15354
15355         * src/NetworkManagerDevice.c
15356                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15357                         no scan results
15358                 - (free_process_scan_cb_data): unref the device when freeing results
15359                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15360                         so we don't unref the device underneath ourselves
15361
15362 2005-10-25  Dan Williams  <dcbw@redhat.com>
15363
15364         * Back out 2005-10-24 commit from Tor Krill.  Patch
15365                 causes nameservers never to be removed from named.
15366
15367 2005-10-24  Dan Williams  <dcbw@redhat.com>
15368
15369         Clean up wireless scanning and wireless link probing.
15370
15371         * src/NetworkManagerDevice.c
15372                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15373                         just see if there's an activation request on the device, and check the
15374                         current link against the activation request access point's ESSID.
15375                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15376                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15377                         don't call process_scan_results() on zero-length data
15378                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15379                         15 seconds (from 10)
15380
15381 2005-10-24  Dan Williams  <dcbw@redhat.com>
15382
15383         Cleanup some applet stuff:
15384
15385         - Animation timeouts.  If NM died while the applet was animating,
15386                 the applet would not hide itself.  This is now fixed.
15387
15388         - Remove some dead code
15389
15390         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15391                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15392
15393         - Track animation timeout using a gboolean rather than the timeout's
15394                 ID, since timeout IDs can legally be 0.
15395
15396 2005-10-24  Dan Williams  <dcbw@redhat.com>
15397
15398         * src/backends/interface_parser.c
15399                 - Add void to function declarations that need it
15400                         to match patch from Engin AYDOGAN
15401
15402         * src/backends/interface_parser.h
15403                 - Remove unused prototype for ifparser_interfaces()
15404
15405         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15406         * src/backends/interface_parser.h:
15407                 - Compile fixes for gcc 4.0.2 (add void)
15408
15409 2005-10-24  Dan Williams  <dcbw@redhat.com>
15410
15411         Patch from Tor Krill <tor@krill.nu>
15412         * src/named-manager/nm-named-manager.c
15413                 - Write more than just the first nameserver to /etc/resolv.conf
15414                 - Write out valid /etc/resolv.conf on exit
15415
15416 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15417
15418         * gnome/applet/applet-dbus-vpn.c:
15419         Get rid of spurious newlines in debug console output
15420
15421 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15422
15423         * src/backends/NetworkManagerGentoo.c:
15424         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15425
15426 2005-10-20  Robert Love  <rml@novell.com>
15427
15428         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15429           direct comparison of floating point values, which is never correct.
15430           Also some misc. cleanup.
15431
15432 2005-10-19  Robert Love  <rml@novell.com>
15433
15434         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15435
15436 2005-10-19  Robert Love  <rml@novell.com>
15437
15438         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15439           sensitivity of the buttons.  Specificaly, do the right thing if
15440           there are no entries.
15441
15442 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15443
15444         * configure.in: Update check for adequate wireless-tools
15445         with an AC_TRY_COMPILE for the new symbols we use.
15446
15447 2005-10-19  Dan Williams  <dcbw@redhat.com>
15448
15449         * src/NetworkManagerDevice.c
15450                 - (process_scan_results): don't drop the last (or only)
15451                         access point we see
15452
15453 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15454
15455         * src/backends/NetworkManagerSlackware.c:
15456         Patch from Nico <lordllucifer@gmail.com>
15457                 - Update the Slackware backend.
15458
15459 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15460
15461         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15462         if we've got GLib 2.8.0
15463
15464 2005-10-18  Robert Love  <rml@novell.com>
15465
15466         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15467           function nm_schedule_state_change_signal_broadcast() when we
15468           deactivate a device, too.
15469
15470 2005-10-18  Robert Love  <rml@novell.com>
15471
15472         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15473           be used uninitialized.
15474
15475 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15476
15477         * test/libnm_glib_test.c: Test unregistering, too.
15478
15479 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15480
15481         * configure.in: Bump to 0.5.0
15482
15483 2005-10-17  Dan Williams  <dcbw@redhat.com>
15484
15485         * NetworkManager.h
15486                 - Remove WPA-related constants so they aren't part of the
15487                         upcoming release.
15488
15489 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15490
15491         * gnome/applet/applet.c:
15492         * gnome/applet/applet.h:
15493         Desensitize the 'Connection Information' menu item when there is
15494         no active connection.
15495
15496 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15497
15498         * gnome/libnm_glib/libnm_glib.c:
15499         Make libnm_glib_unregister_callback () actually unregister the callback
15500
15501 2005-10-17  Robert Love  <rml@novell.com>
15502
15503         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15504           two seconds -- tries is updated every 1/10 of a second, not every
15505           second..
15506
15507 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15508
15509         * gnome/applet/applet-dbus-info.c:
15510         Let D-BUS know that we haven't handled a message when we haven't.
15511
15512 2005-10-17  Robert Love  <rml@novell.com>
15513
15514         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15515           in order to remain 64-bit clean.
15516
15517 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15518
15519         * gnome/applet/applet-dbus-info.c:
15520         Find network encryption keys asynchronously
15521
15522 2005-10-17  Robert Love  <rml@novell.com>
15523
15524         * src/backends/NetworkManagerDebian.c,
15525           src/backends/NetworkManagerRedHat,
15526           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15527           comment delimiter.
15528
15529 2005-10-17  Robert Love  <rml@novell.com>
15530
15531         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15532           "/etc"
15533
15534 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15535
15536         * src/NetworkManagerDevice.c: (process_scan_results)
15537         Fix logic that checks to see whether we have an ESSID.
15538
15539 2005-10-15  Dan Williams  <dcbw@redhat.com>
15540
15541         Move scanning code into NetworkManager rather than use iwlib's
15542         iw_scan() function, so that we can figure out AP capabilities.
15543
15544         * NetworkManager.h
15545                 - Add AP capability bits
15546
15547         * src/NetworkManagerAP.[ch]
15548                 - Add capability field to NMAccessPoint structure
15549                 - Add WPA & RSN Information Element fields and accessor
15550                         functions to NMAccessPoint
15551
15552         * src/NetworkManagerDevice.c
15553                 - Remove usage of iw_scan
15554                 - Add scanning code to NetworkManager rather than use
15555                         iw_scan() from iwlib
15556
15557         * src/NetworkManagerUtils.[ch]
15558                 - (nm_dispose_scan_results): remove, unused
15559
15560 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15561
15562         * gnome/libnm_glib/libnm_glib.c:
15563         * gnome/libnm_glib/libnm_glib.h:
15564         Use guint instead of gint for callback IDs.
15565
15566 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15567
15568         * gnome/applet/applet.c:
15569         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15570         every 1000ms.  It will unconditionally call nmwa_update_state which
15571         kills the existing animation timeout and registers a new one with a
15572         callback to draw a new frame every 100ms.  There are 11 connecting
15573         icon frames, so the last 2 frames kept getting dropped.  Only reset
15574         the animation timeout if we aren't animating.
15575
15576 2005-10-11  Dan Williams  <dcbw@redhat.com>
15577
15578         * gnome/applet/applet-dbus-devices.c
15579                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15580                         We want to grab the product & vendor from net.physical_dev
15581                         rather than info.parent.
15582
15583 2005-10-11  Dan Williams  <dcbw@redhat.com>
15584
15585         * src/NetworkManagerDevice.c
15586                 - Use the driver's WE version for scanning rather than
15587                         the WE version NM was compiled with.  Fixes random
15588                         crashes in iw_scan () in iwlib.
15589
15590 2005-10-10  Dan Williams  <dcbw@redhat.com>
15591
15592         * Remove nm_system_load_device_modules() from backend files
15593                 and from NetworkManager.c
15594
15595 2005-10-10  Dan Williams  <dcbw@redhat.com>
15596
15597         * src/NetworkManagerPolicy.c
15598                 - Fix some bugs introduced by the capabilities patch
15599
15600 2005-10-10  Dan Williams  <dcbw@redhat.com>
15601
15602         * gnome/applet/applet-dbus-info.c
15603                 - (nmi_dbus_get_network_key): hide the menu when putting up
15604                         the keyring dialog.  (not sure if the code is right...)
15605
15606 2005-10-09  Dan Williams  <dcbw@redhat.com>
15607
15608         Patch from Bill Moss <bmoss@clemson.edu>
15609         * src/NetworkManagerDevice.c
15610                 - (nm_device_set_user_key_for_network): don't try to set auth
15611                         mode on the AP from the allowed list if it's NULL
15612
15613 2005-10-09  Dan Williams  <dcbw@redhat.com>
15614
15615         * Replace the "driver support level" stuff with capabilities.  The
15616                 capability field is a bitfield that is more flexible than the
15617                 old driver support level thing.  It's mostly so we can easily
15618                 figure out what supports WPA and what doesn't, but should be
15619                 quite useful later.
15620
15621 2005-10-09  Dan Williams  <dcbw@redhat.com>
15622
15623         * test/nmtest.c
15624                 - Removed
15625
15626         * test/nm-tool.c
15627           test/Makefile.am
15628                 - Added new "nm-tool" tool that gives quite a bit more
15629                         information
15630
15631 2005-10-07  Robert Love  <rml@novell.com>
15632
15633         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15634           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15635           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15636           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15637           appropriate
15638
15639 2005-10-07  Robert Love  <rml@novell.com>
15640
15641         * configure.in: Change our compile flags for the betterment of mankind.
15642           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15643           prototype is very bad on 64-bit platforms as types default to int but
15644           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15645           "-Wmissing-declarations" to warn if we define an exported function
15646           but fail to put it in a header.
15647
15648 2005-10-07  Robert Love  <rml@novell.com>
15649
15650         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15651           by the name nm_update_device_wireless_timeouts() and once tried,
15652           without success, to steal my pet turtle.
15653
15654 2005-10-07  Robert Love  <rml@novell.com>
15655
15656         * Cleanup prototypes: put some functions in header files and mark
15657           others as 'static' -- feel free to invert
15658         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15659           nm_vpn_manager_vpn_connection_list_copy()
15660         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15661           nm_vpn_service_get_dbus_connection()
15662         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15663           nm_vpn_manager_vpn_connection_list_copy()
15664         * src/vpn-manager/nm-vpn-service.c: make
15665           nm_vpn_service_act_request_failed() and
15666           nm_vpn_service_stage2_daemon_wait() static
15667         * src/vpn-manager/nm-vpn-service.h: add prototype for
15668           nm_vpn_service_get_dbus_connection()
15669
15670 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15671
15672         * gnome/applet/applet.c:
15673         * gnome/applet/applet.h:
15674         * gnome/applet/icons/Makefile.am:
15675         Convey information about the current connection stage in the
15676         icons themselves instead of creating a separate progress bar.
15677
15678 2005-10-04  Robert Love  <rml@novell.com>
15679
15680         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15681           convert an ether_addr structure's MAC into a string, because the
15682           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15683           versus 07:3B:04, while the former will not.
15684
15685 2005-10-04  Robert Love  <rml@novell.com>
15686
15687         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15688           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15689           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15690           default route in the 'Connection Information' dialog, send primary
15691           and secondary name servers in in "getProperties" DBUS method, add
15692           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15693           secondary domain name servers are crucial pieces of information
15694           that a user might need in debugging a network problem.
15695
15696 2005-10-04  Robert Love  <rml@novell.com>
15697
15698         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15699           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15700           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15701           default route in the 'Connection Information' dialog, send default
15702           route in "getProperties" DBUS method, add network_device_set_route(),
15703           and network_device_get_route().  The Gateway is a crucial piece of
15704           connection-related information that a user might need in debugging a
15705           network problem.
15706
15707 2005-10-03  Robert Love  <rml@novell.com>
15708
15709         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15710           NULL.
15711
15712 2005-10-02  Dan Williams  <dcbw@redhat.com>
15713
15714         * Shorten time taken to sleep by fastpathing bits of device deactivation
15715                 necessary for sleep.
15716
15717         * Fix issue where deactivating a device might deactivate the active
15718                 VPN connection, even if the VPN was not using the device.
15719
15720 2005-10-02  Dan Williams  <dcbw@redhat.com>
15721
15722         * gnome/applet/applet.c
15723                 - Adjust signal strength -> icon mapping values slightly
15724                         (so that 51% signal doesn't show a 75% icon) by adding
15725                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15726                         shows 50% icon, etc.
15727
15728 2005-09-29  Robert Love  <rml@novell.com>
15729
15730         * src/NetworkManager.c: removed unused variable.
15731
15732 2005-09-28  Dan Williams  <dcbw@redhat.com>
15733
15734         Support for named + DBus, using Red Hat DBus patches for named.  You
15735         can find those patches here, with "dbus" in the patch's filename:
15736
15737                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15738
15739         Don't forget the named dbus service file either.
15740
15741         Instead of writing a config file and spawing a named process, NM will
15742         use an already-running dbus-enabled named if it finds one.  NM will
15743         update named's forwarder configuration on the fly using dbus.
15744
15745         If there is no dbus-enabled named running, NM will automatically fall
15746         back to writing the most-recent DNS server information to /etc/resolv.conf
15747         and calling nm_system_update_dns() to kick the system's resolver.
15748
15749         Accordingly, all named-related configure-time options have been removed.
15750
15751 2005-09-26  Robert Love  <rml@novell.com>
15752
15753         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15754           ISDN support!
15755         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15756           bug in error path if "ASKPASSWORD" is "no".
15757
15758 2005-09-26  Robert Love  <rml@novell.com>
15759
15760         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15761           comment in /etc/resolv.conf -- ';' is not.
15762
15763 2005-09-19  Dan Williams  <dcbw@redhat.com>
15764
15765         * src/backends/NetworkManagerRedHat.c:
15766         * src/backends/NetworkManagerDebian.c:
15767         * src/backends/NetworkManagerSlackware.c:
15768         * src/backends/NetworkManagerGentoo.c:
15769         * src/backends/NetworkManagerSUSE.c:
15770         Fix invocations of "/sbin/ip address" to use short form instead
15771
15772 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15773
15774         * src/nm-dbus-device.c: Don't assert when getting
15775         addresses of a not yet connected interface.
15776
15777         * gnome/applet/applet.c: Free icons if loading fails.
15778         Use translator-credits so translators can make themselves known.
15779
15780 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15781
15782         * src/NetworkManagerAP.c:
15783         * src/NetworkManagerAP.h:
15784         * src/NetworkManagerDevice.c:
15785         Set a blacklist for certain common manufacturer default ESSIDs:
15786         APs with these ESSIDs are extremely likely to be completely
15787         different networks: connecting to one should not make NM
15788         auto-connect to every other AP with the same default ESSID.
15789
15790 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15791
15792         * gnome/applet/wireless-applet.glade:
15793         The passphrase entry should also activate the default
15794
15795         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15796
15797         * gnome/applet/applet-dbus-devices.c:
15798         * gnome/applet/applet.c:
15799         * gnome/applet/nm-device.c:
15800         * gnome/applet/nm-device.h:
15801         * src/NetworkManagerUtils.c:
15802         * src/NetworkManagerUtils.h:
15803         * src/nm-dbus-device.c:
15804         I've got a fever, and the only cure for it is less ioctl.
15805         Make NM push IP data rather than make the applet open a socket
15806         to the device.
15807
15808 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15809
15810         * gnome/applet/applet.c:
15811         * gnome/applet/applet-dbus-devices.c:
15812         * gnome/applet/applet-dbus-info.c:
15813         * gnome/applet/passphrase-dialog.c:
15814         * gnome/libnm_glib/libnm_glib.c:
15815         * gnome/vpn-properties/nm-vpn-properties.c:
15816         * src/autoip.c:
15817         * src/backends/NetworkManagerRedHat.c:
15818         * src/named-manager/nm-named-manager.c:
15819         * src/NetworkManagerAPList.c:
15820         * src/NetworkManager.c:
15821         * src/NetworkManagerDbus.c:
15822         * src/NetworkManagerDevice.c:
15823         * src/NetworkManagerPolicy.c:
15824         * src/NetworkManagerSystem.c:
15825         * src/nm-dbus-device.c:
15826         * src/nm-dbus-nm.c:
15827         * src/vpn-manager/nm-vpn-manager.c:
15828         * src/vpn-manager/nm-vpn-service.c:
15829         * test/libnm_glib_test.c:
15830         * test/nminfotest.c:
15831         * test/nmtestdevices.c:
15832         Fix a bunch of 'unused variable' compiler warnings
15833
15834         * NetworkManager.h:
15835         * gnome/applet/applet-dbus-info.c:
15836         * gnome/applet/applet-dbus-info.h:
15837         * gnome/applet/applet.c:
15838         * gnome/applet/applet.h:
15839         * src/NetworkManager.c:
15840         * src/NetworkManagerDbus.c:
15841         * src/NetworkManagerDbus.h:
15842         * src/NetworkManagerDevice.c:
15843         * src/NetworkManagerDevice.h:
15844         * src/NetworkManagerMain.h:
15845         * src/NetworkManagerWireless.c:
15846         * src/NetworkManagerWireless.h:
15847         * src/nm-dbus-nm.c:
15848         Make NetworkManager be smart about how frequently to scan
15849         based on its current state.  Remove the UI for choosing when
15850         to scan.  Scanning still may disabled completely by the user
15851         via the "Wireless Enabled" menu item.
15852
15853 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15854
15855         * gnome/applet/applet.c:
15856         Also overlay the vpn connecting icons onto the wired icon,
15857         when appropriate.
15858
15859         * gnome/vpn-properties/nm-vpn-properties.glade:
15860         Clean up a few strings to use better grammar and proper casing.
15861
15862 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15863
15864         * gnome/applet/vpn-connection.c:
15865         * gnome/applet/vpn-connection.h:
15866         Add nmwa_vpn_connection_is_activating ()
15867
15868         * gnome/applet/applet.c:
15869         * gnome/applet/applet.h:
15870         * gnome/applet/icons/nm-vpn-connecting*.png:
15871         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15872         the user know something's happening between clicking the VPN item and it
15873         actually being connected.
15874
15875 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15876
15877         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15878         failure case as well.
15879
15880 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15881
15882         * gnome/panel/eggtrayicon.[ch]:
15883         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15884
15885 2005-09-07  Dan Williams  <dcbw@redhat.com>
15886
15887         Patch from Bill Moss <bmoss@clemson.edu>
15888         * src/applet-dbus.c
15889                 - (nmwa_dbus_filter): strip whitespace from beginning
15890                         and end of VPN login banner
15891
15892 2005-09-07  Dan Williams  <dcbw@redhat.com>
15893
15894         * The great VPN Manager rewrite of 2005
15895
15896 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15897
15898         * gnome/applet/menu-items.c:
15899         * gnome/applet/nm-device.c:
15900         * gnome/applet/wireless-network.c:
15901         * gnome/libnm_glib/libnm_glib.c:
15902         * src/NetworkManagerDbusUtils.c:
15903         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15904         g_malloc0 doesn't return NULL
15905
15906 2005-09-06  Dan Williams  <dcbw@redhat.com>
15907
15908         Patch from Tomislav Vujec <tvujec@redhat.com>
15909         * src/NetworkManagerDevice.c
15910                 - (nm_get_device_by_udi): don't return a device when we
15911                         actually didn't find what we were looking for
15912
15913 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15914
15915         * gnome/applet/applet-dbus-devices.c:
15916         * gnome/applet/applet-dbus-devices.h:
15917         * gnome/applet/applet-dbus.c:
15918         * src/NetworkManagerDbus.c:
15919         * src/NetworkManagerDbus.h:
15920         * src/NetworkManagerDevice.c:
15921         * src/nm-dbus-device.c:
15922         Make NM push updates about active device strength when it changes,
15923         rather than having the applet poll every 2s.
15924
15925 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15926
15927         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15928         network_device_set_strength
15929
15930 2005-09-04  Dan Williams  <dcbw@redhat.com>
15931
15932         Patch from Bill Nottingham <notting@redhat.com>
15933         * src/NetworkManagerDevice.c
15934                 - (nm_device_activation_cancel): reset the quit_activation flag
15935
15936 2005-09-04  Dan Williams  <dcbw@redhat.com>
15937
15938         * src/nm-activation-request.c
15939                 - (nm_act_request_unref): actually free the structure,
15940                         which we didn't seem to be doing before
15941
15942 2005-09-04  Dan Williams  <dcbw@redhat.com>
15943
15944         Patch from John Palmieri <johnp@redhat.com>
15945         * gnome/applet/applet-dbus-devices.c
15946                 - Fix up unreffing of DBusMessage objects
15947
15948 2005-09-04  Dan Williams  <dcbw@redhat.com>
15949
15950         Patch from John Palmieri <johnp@redhat.com>
15951         * gnome/applet/nm-device.c
15952                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15953
15954 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15955
15956         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15957
15958 2005-09-02  Bill Nottingham  <notting@redhat.com>
15959
15960         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15961
15962 2005-09-01  Dan Williams  <dcbw@redhat.com>
15963
15964         * src/NetworkManager.c
15965                 - (nm_remove_device_from_list): rename to nm_remove_device
15966                 - (nm_hal_device_removed): call nm_remove_device()
15967
15968         * src/NetworkManagerDevice.c
15969                 - Change the NMWirelessScanCB member 'reschedule' which
15970                         wasn't used to 'force' to indicate that we need to
15971                         force a scan when adding a device
15972
15973         * src/nm-dbus-nm.c
15974                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15975                         from the device list
15976                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15977
15978 2005-09-01  Robert Love  <rml@novell.com>
15979
15980         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15981           and the check "!iface" in the error case is probably never true.
15982
15983 2005-09-01  Dan Williams  <dcbw@redhat.com>
15984
15985         Patch from Bill Nottingham <notting@redhat.com>
15986         * src/backends/NetworkManagerRedHat.c
15987                 - Add initial dialup support to Red Hat/Fedora backend
15988
15989 2005-09-01  Dan Williams  <dcbw@redhat.com>
15990
15991         * gnome/applet/applet-dbus-devices.c
15992                 - Sort both wireless networks and devices again, which got
15993                         broken when removing threading
15994
15995 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15996
15997         * gnome/applet/applet.c:
15998         Only show the "Stop/Start All Wireless Devices" menuitem
15999         if we actually have wireless devices.
16000
16001         * gnome/applet/applet-dbus-info.c:
16002         * gnome/applet/applet.c:
16003         * gnome/applet/other-network-dialog.c:
16004         * gnome/applet/vpn-password-dialog.c:
16005         Drop the gtk_dialog_run () calls in favor of connecting to
16006         "response" signals, needed now that the applet is not threaded.
16007
16008 2005-08-31  Dan Williams  <dcbw@redhat.com>
16009
16010         Patch from Bill Moss <bmoss@clemson.edu>
16011         * src/NetworkManagerDevice.c
16012                 - (nm_device_wireless_scan): fix scan timeout values
16013
16014 2005-08-30  Dan Williams  <dcbw@redhat.com>
16015
16016         * gnome/applet/wireless-applet.glade
16017                 - HIG-ify the Other Wireless Networks dialog a bit more
16018                 - Fix some potential segfaults in the info dialog
16019
16020 2005-08-30  Dan Williams  <dcbw@redhat.com>
16021
16022         * gnome/applet/applet-dbus-devices.c
16023                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16024
16025 2005-08-30  Dan Williams  <dcbw@redhat.com>
16026
16027         * gnome/applet/applet-dbus.[ch]
16028                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16029                         they weren't being used anyway
16030
16031 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16032
16033         * test/nmtestdevices.c: (print_usage), (main):
16034         Check the number of arguments, and fix a typo
16035
16036 2005-08-29  Dan Williams  <dcbw@redhat.com>
16037
16038         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16039         * gnome/applet/applet.c
16040                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16041
16042 2005-08-29  Dan Williams  <dcbw@redhat.com>
16043
16044         * gnome/applet/*
16045                 - Don't use threads any more.  Anything that blocks
16046                         (like gtk_dialog_run()) will  have to get fixed up which
16047                         should happen quickly.  We really only had threads to make
16048                         the animation smooth, and when everything got converted over
16049                         to DBus Pending Calls, the need for threads kind of went away
16050
16051 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16052
16053         * gnome/applet/applet.c: Draw VPN connections as radio items
16054         since we don't yet support multiple VPNs.
16055         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16056         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16057
16058 2005-08-29  Dan Williams  <dcbw@redhat.com>
16059
16060         Patch from j@bootlab.org
16061         - Make --without-named work
16062         - Make --with-dhcdbd work correctly
16063
16064 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16065
16066         * configure.in: Added "ca" to ALL_LINGUAS.
16067
16068 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16069
16070         * Fix up VPN state handling between the applet and NetworkManager,
16071                 so that the applet doesn't show a VPN as connected when one
16072                 really is not
16073                         - The applet no longer has a pointer to the active VPN's
16074                                 name, but tracks each VPNs state individually
16075                         - NM no longer has a "getActiveVPNConnection" method
16076                         - NM no longer broadcasts the "VPNConnectionChange" signal
16077                         - NM now broadcasts a "VPNConnectionStateChange" signal
16078                                 whenever the state of a VPN changes
16079
16080 2005-08-26  Dan Williams <dcbw@redhat.com>
16081
16082         * gnome/applet/applet-dbus-devices.c
16083           gnome/applet/applet-dbus-vpn.c
16084                 - Remove calls to dbus_pending_call_ref() because we already
16085                         "own" the pending call
16086                 - Remove calls to dbus_pending_call_get_completed() because
16087                         when we are in the callback, the pending call is completed
16088                         by definition
16089
16090 2005-08-22  Dan Williams <dcbw@redhat.com>
16091
16092         Patch by Bill Moss <bmoss@clemson.edu>
16093         * src/dhcp-manager/nm-dhcp-manager.c
16094                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16095                         some time to send out a RELEASE if they like
16096
16097 2005-08-22  Dan Williams <dcbw@redhat.com>
16098
16099         Noticed by Bill Moss <bmoss@clemson.edu>
16100         * src/NetworkManagerDbus.c
16101                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16102                         instead of just cancelling its activation
16103
16104         * src/NetworkManagerDevice.c
16105                 - (nm_device_deactivate): some small cleanups
16106                 - (nm_device_set_user_key_for_network): deactivate the device
16107                         instead of just cancelling its activation
16108
16109 2005-08-22  Dan Williams <dcbw@redhat.com>
16110
16111         Noticed by Bill Moss <bmoss@clemson.edu>
16112         * src/NetworkManagerDevice.c
16113                 - (nm_device_wireless_scan): fix scan timeout, we were
16114                         waiting way too long for scans to complete
16115
16116 2005-08-22  Dan Williams <dcbw@redhat.com>
16117
16118         Patch from j@bootlab.org:
16119         * src/backends/NetworkManagerDebian.c
16120                 - Make the Debian backend work for static IP again
16121
16122 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16123
16124         * gnome/applet/other-network-dialog.c:
16125         The "Create New Network" and "Connect to Other Network"
16126         dialogs share alot of code, but shouldn't share a window
16127         title.  Give them different ones.
16128
16129         * gnome/applet/wireless-applet.glade:
16130         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16131         Some more minor UI tweaks.
16132
16133 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16134
16135         * gnome/applet/other-network-dialog.c:
16136         * gnome/applet/wireless-applet.glade:
16137         Also need mnemonic widgets, and underline enabled.
16138
16139 2005-08-19  Dan Williams <dcbw@redhat.com>
16140
16141         * vpn-daemons/vpnc/nm-vpnc-service.c
16142                 - (vpnc_watch_cb): remove no-longer-relevant comment
16143                 - (write_config_option): new function, helper to write
16144                         config options to vpnc's stdin
16145                 - (nm_vpnc_config_write): use the new helper, make the
16146                         code shorter
16147
16148 2005-08-19  Christopher Aillon <caillon@redhat.com>
16149
16150         * gnome/applet/passphrase-dialog.c:
16151         * gnome/applet/wireless-applet.glade:
16152         Make the passphrase dialog response based, and treat
16153         responses other than OK (such as Esc, [X]) as a cancel.
16154
16155 2005-08-18  Christopher Aillon <caillon@redhat.com>
16156
16157         * initscript/Gentoo/NetworkManager:
16158         * initscript/RedHat/NetworkManager:
16159         * initscript/RedHat/NetworkManagerDispatcher:
16160         * initscript/SUSE/networkmanager:
16161         CVS remove these in place of .in replacements
16162
16163         * configure.in:
16164         * initscript/Gentoo/NetworkManager.in:
16165         * initscript/RedHat/NetworkManager.in:
16166         * initscript/RedHat/NetworkManagerDispatcher.in:
16167         * initscript/SUSE/networkmanager.in:
16168         These scripts now are generated so they work still when
16169         NM is built using a bindir other than /usr/bin
16170
16171 2005-08-18  Dan Williams <dcbw@redhat.com>
16172
16173         * gnome/applet/main.c
16174                 - Revert previous change for --no-session since
16175                         --sm-disable does the same thing
16176
16177 2005-08-18  Dan Williams <dcbw@redhat.com>
16178
16179         * gnome/applet/applet-dbus-info.c
16180                 - (nmi_dbus_create_error_message): new function
16181                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16182                         functions.  Also don't check for both device _and_ network before
16183                         asking for a user's key, because we may not have gotten all our
16184                         networks back from NM quite yet (due to the dbus pending calls
16185                         coming in later).  Fixes a hang in NM/nm-applet.
16186
16187         * src/NetworkManagerDbus.c
16188                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16189                         slightly more sane manner, even though we are still broken for
16190                         certain other error conditions.
16191                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16192                         to the info-daemon too
16193
16194         * src/NetworkManagerDevice.c
16195                 - Fix some debug messages to be info messages instead
16196
16197 2005-08-18  Dan Williams <dcbw@redhat.com>
16198
16199         * gnome/applet/main.c
16200                 - Add new "--no-session" parameter that disables applet
16201                         session management, ie for testing
16202
16203 2005-08-18  Christopher Aillon <caillon@redhat.com>
16204
16205         * gnome/applet/other-network-dialog.c:
16206         * gnome/applet/wireless-applet.glade: More mnemonics
16207
16208 2005-08-17  Robert Love  <rml@novell.com>
16209
16210         * initscript/SUSE/networkmanager: update
16211
16212 2005-08-17  Dan Williams  <dcbw@redhat.com>
16213
16214         * Tag NM_0_4_1_RELEASE
16215
16216 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16217
16218         * gnome/applet/applet.c: More translatable string cleanup
16219
16220
16221 2005-08-17  Dan Williams  <dcbw@redhat.com>
16222
16223         * gnome/applet/applet-dbus-info.c
16224                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16225                         from the dbus message, which tells us to unconditionally
16226                         ask the user for a new key.  Otherwise, we pull the key from
16227                         the keyring and return it.  If we fail to get the key from the
16228                         keyring, we ask the user for a new key.
16229                 - (nmi_dbus_get_network_key): new function to grab the key for
16230                         an essid from the keyring.
16231                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16232                         Also, don't return any key in the dbus message.
16233
16234         * src/NetworkManagerDbus.[ch]
16235                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16236                         indicate that we unconditionally want a new key.  This function
16237                         is now also used to get keys from the info-daemon which are
16238                         pre-stored, not just for asking the user for a new key.  The
16239                         "new_key" parameter indicates whether or not we wish to ask the
16240                         user for a new key.
16241                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16242                         info-daemon in the return message, so use NULL instead.  The
16243                         key will be filled in at connect time by calling
16244                         nm_dbus_get_user_key_for_network()
16245
16246         * src/NetworkManagerDevice.c
16247                 - (nm_device_wireless_configure): update for "new_key" param to
16248                         nm_dbus_get_user_key_for_network().  We initially set new_key
16249                         to FALSE to see if we have a stored key in the info-daemon, but
16250                         if the connection is unsuccessful at this stage we request a
16251                         new one
16252
16253 2005-08-17  Dan Williams  <dcbw@redhat.com>
16254
16255         * gnome/applet/icons/nm-no-connection.png
16256           gnome/applet/icons/nm-device-wired.png
16257                 - Use Diana's new RJ45 connector icons
16258
16259 2005-08-17  Dan Williams  <dcbw@redhat.com>
16260
16261         * src/NetworkManagerPolicy.c
16262                 - (nm_policy_device_change_check): clarify switching rules if
16263                         both new and old devices are valid; mainly, don't switch
16264                         away from user-requested wireless connection back to a wired
16265                         one
16266
16267 2005-08-17  Dan Williams  <dcbw@redhat.com>
16268
16269         * gnome/applet/Makefile.am
16270                 - Relocate the applet to /usr/bin since it is no longer
16271                         executed by anything, but directly by the user
16272
16273 2005-08-17  Dan Williams  <dcbw@redhat.com>
16274
16275         Patch from Bill Moss <bmoss@clemson.edu>
16276
16277         * gnome/applet/applet-dbus-info.[ch]
16278                 - (nmi_save_network_info): save timestamp for network if it
16279                         was a change requested by the user
16280                 - (nmi_dbus_update_network_info): get user_requested from dbus
16281                         message and pass to nmi_save_network_info()
16282
16283         * gnome/applet/applet.c
16284                 - (nmwa_update_network_timestamp): remove
16285                 - (nmwa_menu_item_activate): don't set timestamp on networks
16286                         here, only after a successful connect in nmi_save_network_info()
16287
16288         * src/NetworkManagerDbus.[ch]
16289                 - (nm_dbus_update_network_info): pass user_requested into the 
16290                         dbus message
16291
16292         * src/NetworkManagerPolicy.c
16293                 - (nm_policy_activation_finish): pass user_requested to
16294                         nm_dbus_update_network_info()
16295
16296 2005-08-16  Robert Love  <rml@novell.com>
16297
16298         * gnome/applet/applet.c: Better "Dial Up" menu item.
16299
16300 2005-08-16  Robert Love  <rml@novell.com>
16301
16302         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16303           "Connection Information" menu item.
16304
16305 2005-08-16  Dan Williams  <dcbw@redhat.com>
16306
16307         Patch from j@bootlab.org
16308         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16309
16310         * configure.in: allow specifying the path to dhcdbd
16311
16312 2005-08-16  Robert Love  <rml@novell.com>
16313
16314         Patch from j@bootlab.org
16315         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16316           src/backends/interface_parser.h: Debian dialup support.
16317
16318 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16319
16320         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16321         * gnome/applet/applet.c: Add some mnemonics for VPNC
16322
16323         * vpn-daemons/.cvsignore: fix this up a little bit
16324
16325 2005-08-16  Robert Love  <rml@novell.com>
16326
16327         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16328           support.
16329
16330 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16331
16332         * gnome/applet/applet.c: Split markup out of translatable strings
16333         and clean up logic a little bit.  (fixes #309012)
16334
16335 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16336
16337         * gnome/vpn-properties/nm-vpn-properties.c:
16338         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16339         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16340         Makeshift fix to remove newlines from translatable strings.
16341         Note that we now return an allocated string, so callers of
16342         get_confirmation_details () must now call g_free () on the
16343         result. (fixes #309033).
16344
16345 2005-08-12  Robert Love  <rml@novell.com>
16346
16347         * gnome/applet/applet-dbus.c: remove newlines from translatable
16348           strings--not needed here anyway. (fix b.g.o #309011)
16349         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16350
16351 2005-08-11  Robert Love  <rml@novell.com>
16352
16353         * gnome/applet/applet.c: mark string as translatable.
16354
16355 2005-08-11  Robert Love  <rml@novell.com>
16356
16357         * initscript/SUSE/networkmanager: update.
16358
16359 2005-08-11  Dan Williams  <dcbw@redhat.com>
16360
16361         * src/nm-dhcp-manager.c
16362                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16363                         an gateway returned from DHCP, try to use the address of the DHCP
16364                         server as the gateway instead.  Found by Ralf Ertzinger.
16365
16366 2005-08-10  Robert Love  <rml@novell.com>
16367
16368         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16369           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16370
16371 2005-08-10  Dan Williams  <dcbw@redhat.com>
16372
16373         Patch from Bill Moss <bmoss@clemson.edu>
16374         * Consolidate writes of access point information updates to the info daemon
16375                 so that we only do it when the connection to the access point was
16376                 successful.  Also consolidates updates to GConf in the Gnome applet.
16377
16378         * src/nm-netlink-monitor.c
16379                 - Silence compile warning when calling g_object_new()
16380
16381 2005-08-08  Dan Williams  <dcbw@redhat.com>
16382
16383         Patch from Steev <steev@steev.net>:
16384         * src/backends/NetworkManagerGentoo.c
16385                 - Stub new dialup backend functions
16386
16387 2005-08-08  Dan Williams  <dcbw@redhat.com>
16388
16389         Patch from Colin Slater:
16390         * src/backends/NetworkManagerGentoo.c
16391                 - (nm_system_update_dns): Fix exit status check for restarting
16392                         nscd
16393
16394 2005-08-05  Robert Love  <rml@novell.com>
16395
16396         * NetworkManager.h,
16397           gnome/applet/applet-dbus-devices.c,
16398           gnome/applet/applet-dbus-devices.h,
16399           gnome/applet/applet-dbus.c,
16400           gnome/applet/applet.c,
16401           gnome/applet/applet.h,
16402           src/NetworkManager.c,
16403           src/NetworkManagerMain.h,
16404           src/NetworkManagerSystem.h,
16405           src/backends/NetworkManagerRedHat.c,
16406           src/backends/NetworkManagerSuSE.c,
16407           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16408
16409 2005-08-05  Robert Love  <rml@novell.com>
16410
16411         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16412           machine's hostname to make adhoc creation idiot-proof.
16413
16414 2005-08-04  Robert Love  <rml@novell.com>
16415
16416         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16417           freed.
16418
16419 2005-08-04  Dan Williams  <dcbw@redhat.com>
16420
16421         * gnome/applet/applet-dbus-info.c
16422           gnome/applet/applet-dbus-info.h
16423                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16424                         to store key, key type, and auth method rather than just auth method
16425                 - (nmi_dbus_update_network_info): new function
16426                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16427
16428         * gnome/applet/passphrase-dialog.c
16429                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16430                         of saving the info ourselves
16431
16432         * gnome/libnm_glib/libnm_glib.c
16433                 - Remove the stupid version check for dbus
16434
16435         * src/NetworkManagerAP.c
16436           src/NetworkManagerAP.h
16437                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16438
16439         * src/NetworkManagerDbus.c
16440           src/NetworkManagerDbus.h
16441                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16442                         more than just the auth method
16443
16444         * src/NetworkManagerDevice.c
16445                 - Update network info at the appropriate times
16446
16447 2005-07-29  Ray Strode  <rstrode@redhat.com>
16448
16449         * src/NetworkManager.c (nm_info_handler): don't use input as format
16450         string (Spotted by Ian Jackson).
16451
16452 2005-07-27  Dan Williams  <dcbw@redhat.com>
16453
16454         * src/nm-dbus-nm.c
16455           src/nm-dbus-net.c
16456                 - Random cleanups of spacing
16457
16458         * gnome/applet/applet.h
16459           gnome/applet/other-network-dialog.c
16460           gnome/applet/passphrase-dialog.c
16461                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16462
16463         Patch from Bill Moss:
16464                 - Make Other Wireless Networks work again with encryption keys
16465
16466 2005-07-26  Dan Williams  <dcbw@redhat.com>
16467
16468         Patch from Steev <steev@steev.net>:
16469         * src/backends/NetworkManagerGentoo.c
16470           src/backends/Makefile.am
16471                 - Fix up Gentoo backend
16472
16473 2005-07-26  Robert Love  <rml@novell.com>
16474
16475         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16476
16477 2005-07-25  Robert Love  <rml@novell.com>
16478
16479         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16480           in the same group as the wireless networks, since they are all
16481           mutually exclusive.
16482
16483 2005-07-24  Ray Strode  <rstrode@redhat.com>
16484
16485         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16486         remove unneeded NULL arg from g_object_new().  Any
16487         warnings caused by not having the extra NULL are just a
16488         result of a bug in glib 2.7.0 - 2.7.2.
16489
16490 2005-07-22  Robert Love  <rml@novell.com>
16491
16492         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16493
16494 2005-07-22  Robert Love  <rml@novell.com>
16495
16496         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16497           parameters (gcc 4.0.2 warning fix).
16498
16499 2005-07-18  Robert Love  <rml@novell.com>
16500
16501         Suggested by Aaron Bockover (abockover@novell.com)
16502         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16503           s/Ascii/ASCII
16504         * gnome/applet/passphrase-dialog.c: ditto
16505         * gnome/applet/wireless-applet.glade: ditto
16506
16507 2005-07-13  Dan Williams  <dcbw@redhat.com>
16508
16509         Patch from Ray Strode <halfline@gmail.com>
16510         * vpn-daemons/vpnc/nm-vpnc-service.c
16511                 - Don't let vpnc daemonize, fixes some races with PID file reading
16512
16513 2005-07-13  Dan Williams  <dcbw@redhat.com>
16514
16515         Patch from Ray Strode <halfline@gmail.com>
16516         * Random cleanups for strict CFLAGS
16517
16518 2005-07-07  Dan Williams  <dcbw@redhat.com>
16519
16520         Patch from Derek Atkins <warlord@MIT.EDU>
16521         * src/nm-dbus-net.c:
16522                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16523
16524 2005-07-07  Dan Williams  <dcbw@redhat.com>
16525
16526         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16527         * src/backends/NetworkManagerGentoo.c
16528                 - Gentoo backend Static IP nameserver fixes
16529                 - General Gentoo backend goodness
16530
16531 2005-07-07  Dan Williams  <dcbw@redhat.com>
16532
16533         Patch from Bastien Nocera:
16534         * gnome/applet/applet.c
16535                 - Fix up error reporting when icons or glade files are missing
16536
16537 2005-07-07  Robert Love  <rml@novell.com>
16538
16539         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16540           are not any VPN connections above it.
16541
16542 2005-07-07  Robert Love  <rml@novell.com>
16543
16544         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16545
16546 2005-07-05  Robert Love  <rml@novell.com>
16547
16548         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16549           zero.
16550
16551 2005-07-05  Robert Love  <rml@novell.com>
16552
16553         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16554           on wired or unencrypted wireless.
16555
16556 2005-07-01  Robert Love  <rml@novell.com>
16557
16558         * src/NetworkManagerSystem.c: Print the error via strerror().
16559
16560 2005-06-30  Robert Love  <rml@novell.com>
16561
16562         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16563           then exit if the glade file is not found.  currently the application
16564           just hangs.
16565
16566 2005-06-30  Robert Love  <rml@novell.com>
16567
16568         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16569           explicitly up all interfaces on wake from sleep.
16570
16571 2005-06-30  Robert Love  <rml@novell.com>
16572
16573         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16574           with information about the currently active connection.
16575         * gnome/applet/applet.h: (ditto)
16576         * gnome/applet/wireless-applet.glade: (ditto), new file
16577
16578 2005-06-30  Robert Love  <rml@novell.com>
16579
16580         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16581         * src/nm-dbus-nm.c: print when we sleep and wake up.
16582         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16583         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16584           in /sbin unless D-BUS is, folks).
16585         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16586
16587 2005-06-27  Robert Love  <rml@novell.com>
16588
16589         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16590           case.
16591
16592 2005-06-27  Robert Love  <rml@novell.com>
16593
16594         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16595           items radios.
16596
16597 2005-06-26  Robert Love  <rml@novell.com>
16598
16599         * src/NetworkManagerDevice.c: be specific about which device in
16600           nm_info() message.
16601
16602 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16603
16604         * src/nm-netlink-monitor.c: correct spelling error.
16605
16606 2005-06-23  Robert Love  <rml@novell.com>
16607
16608         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16609         * gnome/applet/passphrase-dialog.c: more of that keyring!
16610
16611 2005-06-23  Robert Love  <rml@novell.com>
16612
16613         * configure.in: remove extraneous GNOMEKEYRING directives.
16614         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16615         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16616         * gnome/applet/passphrase-dialog.c: whitespace.
16617
16618 2005-06-23  Robert Love  <rml@novell.com>
16619
16620         * src/NetworkManagerDevice.c: division in assignment was flipped.
16621
16622 2005-06-23  David Zeuthen  <david@fubar.dk>
16623
16624         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16625         signal to the child to indicate that we got what we wanted when we
16626         see two new-lines right after each other.
16627         (nmwa_vpn_request_password): Pass a structure with several members
16628         instead of just the passwords
16629
16630 2005-06-23  Dan Williams <dcbw@redhat.com>
16631
16632         * src/NetworkManager.c
16633           src/NetworkManagerMain.h
16634                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16635                 - (nm_hal_init): new function, init libhal context then add devices
16636                 - (nm_hal_deinit): new function, clean up libhal context
16637                 - (nm_data_free): Move Hal cleanup here
16638                 - (main): check whether Hal is running, and if so, get a list of
16639                         network devices from it
16640
16641         * src/NetworkManagerDbus.c
16642                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16643                         and when it appears, get a list of network devices from it.  If
16644                         Hal goes away, clean up the libhal context
16645
16646 2005-06-22  Robert Love  <rml@novell.com>
16647
16648         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16649           permissions of scripts before executing.
16650
16651 2005-06-21  Robert Love  <rml@novell.com>
16652
16653         * initscript/SUSE/networkmanager: update.
16654         * src/backends/NetworkManagerSuSE.c: cleanup.
16655
16656 2005-06-21  Robert Love <rml@novell.com>
16657
16658         * gnome/applet/applet.c: use menu mnemonics.
16659         * gnome/applet/menu-items.c: (ditto)
16660
16661 2005-06-21  Robert Love  <rml@novell.com>
16662
16663         * applet/applet-dbus-devices.c: mark non-static functions static.
16664         * applet/applet-dbus-vpn.c: (ditto)
16665         * applet/applet.c: (ditto)
16666         * applet/nm-device.h: (ditto)
16667         * applet/other-network-dialog.c: (ditto)
16668         * applet/passphrase-dialog.c: (ditto)
16669         * NetworkManager.c: (ditto)
16670         * NetworkManagerDbus.c: (ditto)
16671         * NetworkManagerDevice.c: (ditto)
16672         * NetworkManagerPolicy.c: (ditto)
16673         * NetworkManagerUtils.c: (ditto)
16674         * NetworkManagerWireless.c: (ditto)
16675         * NetworkManagerWireless.h: (ditto)
16676         * nm-netlink-monitor.c: (ditto)
16677         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16678         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16679         * autoip.c: include autoip.h.
16680         * autoip.h: new file.  define get_autoip().
16681         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16682         * NetworkManagerDbus.h: remove duplicate definitions.
16683
16684 2005-06-20  Robert Love  <rml@novell.com>
16685
16686         * Makefile.am: Add missing intltool-foo.in generated files to
16687           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16688           with the start of stuff to cleanup on 'distclea'.
16689         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16690           stuff right and 'distcheck' works.
16691         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16692           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16693           Makefile.am for each.  And systray/Makefile needs to be redone.
16694
16695 2005-06-19  Dan Williams <dcbw@redhat.com>
16696
16697         * src/NetworkManagerDevice.c
16698         - (nm_device_wireless_process_scan_results): scan every 20s when
16699           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16700
16701 2005-06-19  Dan Williams <dcbw@redhat.com>
16702
16703         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16704
16705 2005-06-18  Ray Strode <rstrode@redhat.com>
16706
16707         * src/nm-netlink-monitor.c 
16708         (nm_netlink_monitor_event_handler): check for the presence
16709         of either error condition not both. 
16710         
16711         (nm_netlink_monitor_error_handler): emit error signal if
16712         error occurs.
16713
16714         (nm_netlink_monitor_event_handler),
16715         (nm_netlink_monitor_error_handler),
16716         (nm_netlink_monitor_disconnect_handler): if an 
16717         assertion fails disconnect the event handler to prevent 
16718         infinite loops.
16719
16720         * src/nm-netlink-monitor.h: add new error condition
16721         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16722
16723 2005-06-18  Ray Strode <rstrode@redhat.com>
16724
16725         * src/nm-netlink-monitor.c 
16726         (nm_netlink_monitor_event_handler): remove bogus < 0
16727         check on unsigned value and return early if the kernel
16728         didn't send any bytes.
16729
16730 2005-06-17  Robert Love  <rml@novell.com>
16731
16732         * initscript/SUSE/networkmanager: Change the Provides and default
16733         run levels
16734
16735 2005-06-16  Dan Williams <dcbw@redhat.com>
16736
16737         Patch from Robert Love:
16738         * gnome/applet/applet.c
16739                 - Beautify some applet menu item names
16740
16741 2005-06-17  David Zeuthen  <davidz@redhat.com>
16742
16743         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16744         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16745         Also add new methods can_export, import_file and export.
16746
16747         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16748         to the main UI
16749
16750         * gnome/vpn-properties/nm-vpn-properties.c:
16751         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16752         nm-vpn-ui-interface.h.
16753         (update_edit_del_sensitivity): Also update "Export" sensitivity
16754         (add_vpn_connection): Also add new SVC_NAME column
16755         (import_settings): New function
16756         (retrieve_data_from_selected_connection): New function
16757         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16758         this function
16759         (export_cb): New function
16760         (init_app): Also setup the "export" widget
16761         (main): Support the --import-service and --import-file commandline
16762         arguments
16763
16764         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16765         D-BUS 0.34
16766
16767 2005-06-16  Dan Williams <dcbw@redhat.com>
16768
16769         Patch from Robert Love:
16770         * gnome/applet/menu-items.c
16771                 - (network_menu_item_new): pass -1 as wireless network
16772                         menu items height size request rather than ascent / 2
16773
16774 2005-06-16  Dan Williams <dcbw@redhat.com>
16775
16776         * Clean up wording in Wireless Scan Methods menu items and constants
16777
16778 2005-06-16  Robert Love  <rml@novell.com>
16779
16780         * po/POTFILES.in
16781                 - remove gtkcell* files
16782
16783 2005-06-15  Dan Williams <dcbw@redhat.com>
16784
16785         Patch from Robert Love: make the applet stetic
16786
16787         * gnome/applet/Makefile.am
16788                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16789
16790         * gnome/applet/gtkcellview.h
16791           gnome/applet/gtkcellview.c
16792           gnome/applet/gtkcellrendererprogress.h
16793           gnome/applet/gtkcellrendererprogress.c
16794                 - Removed
16795
16796         * gnome/applet/menu-items.c
16797                 - Progress bars are 5:1 size ratio
16798                 - Use GTK progress bars rather than internal ones
16799
16800 2005-06-15  Dan Williams <dcbw@redhat.com>
16801
16802         Patch from Robert Love:
16803         * initscript/SUSE/networkmanager
16804                 - Fix typo
16805
16806 2005-06-15  Dan Williams <dcbw@redhat.com>
16807
16808         * src/backends/NetworkManagerSuSE.c
16809           src/backends/NetworkManagerRedHat.c
16810           src/backends/NetworkManagerDebian.c
16811                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16812
16813 2005-06-15  Dan Williams <dcbw@redhat.com>
16814
16815         * src/backends/NetworkManagerDebian.c
16816                 - Add nm_system_device_get_use_dhcp() to debian backend
16817
16818         Patch from Kay Sievers:
16819         * src/backends/NetworkManagerSuSE.c
16820                 - Update debian backend for static IP nameservers
16821
16822         * src/NetworkManagerDevice.c
16823                 - Actually set the device to use static IP or DHCP rather
16824                         than always DHCP
16825
16826 2005-06-15  Dan Williams <dcbw@redhat.com>
16827
16828         Patch from Thom May:
16829         * src/backends/NetworkManagerDebian.c
16830                 - Update debian backend for static IP nameservers
16831
16832 2005-06-15  Dan Williams <dcbw@redhat.com>
16833
16834         Patches from Robert Love:
16835         * gnome/applet/wireless-applet.glade
16836                 - Tighten up wording
16837
16838         * src/NetworkManagerDevice.c
16839                 - Remove misplaced ';'
16840
16841         * configure.in
16842           initscript/Makefile.am
16843           initscript/SUSE/Makefile.am
16844           initscript/SUSE/networkmanager
16845                 - Add SUSE initscript
16846
16847 2005-06-12  David Zeuthen  <davidz@redhat.com>
16848
16849         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16850
16851         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16852
16853         * gnome/vpn-properties/nm-vpn-properties.c: New file
16854
16855         * gnome/vpn-properties/Makefile.am: New file
16856
16857         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16858         array of passwords
16859
16860         * src/vpn-manager/nm-vpn-manager.c
16861         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16862         instead of just a single one
16863
16864         * src/vpn-manager/nm-dbus-vpn.c:
16865         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16866         here
16867         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16868
16869         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16870         Change the interface here to give a list of passwords. Also, don't
16871         require username, but do require service
16872
16873         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16874         the binary for the auth-dialog and use that instead of putting up a
16875         dialog asking for a single password
16876
16877         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16878         however do remember the service
16879
16880         * gnome/applet/main.c (main): Setup i18n
16881
16882         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16883         connection to '%s'" to the tooltip if we are connected using VPN
16884         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16885         key to determine whether we the auth-dialog needs to
16886         reprompt. Also cope with the fact that the auth-dialog now returns
16887         an array of passwords.
16888         (nmwa_menu_configure_vpn_item_activate): New handler for
16889         "Configure VPN..." menu item
16890         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16891         (is_vpn_available): New function to determine if we got any
16892         NM-compatible VPN software installed
16893         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16894         items only if we have NM-compatible VPN software installed
16895         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16896         logic for detecting when VPN connections are removed
16897
16898         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16899         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16900         since these are defined elsewhere
16901
16902         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16903         function used to keep track of whether the last attempt succeded
16904         (nmwa_dbus_filter): Update last_attempt according to whether the
16905         VPN connection could be established or not
16906
16907         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16908         Change prototype to take an array of passwords, not just a single
16909         password
16910
16911         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16912         update service, not user
16913         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16914         dbus_active_vpn_name is not NULL before using it
16915         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16916         string array instead of assuming a single password
16917
16918         * gnome/applet/applet-dbus-info.c:
16919         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16920         user name; don't read from gconf
16921
16922         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16923         VPN_NAME_FILES_DIR
16924
16925         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16926
16927         * configure.in: Add checks for gmodule-2.0.
16928         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16929         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16930         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16931         for details
16932
16933         * vpn-daemons/Makefile.am: Removed
16934
16935         * vpn-daemons/README: New file to describe extensions points for VPN
16936         software
16937
16938 2005-06-10  Dan Williams <dcbw@redhat.com>
16939
16940         * src/backends/NetworkManagerRedHat.c
16941                 - (get_current_profile_name): new function, grab current network profile name from
16942                         /etc/sysconfig/network
16943                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16944                         update an IP4 Config structure's settings from it
16945                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16946                         get DNS info from current network profile
16947
16948 2005-06-09  Dan Williams <dcbw@redhat.com>
16949
16950         Patch from Robert Love:
16951         * src/NetworkManagerDevice.c
16952           src/NetworkManagerUtils.c
16953                 - 64-bit build fixes
16954
16955 2005-06-09  Dan Williams <dcbw@redhat.com>
16956
16957         Patch from Kay Sievers and Robert Love:
16958         * configure.in
16959           src/backends/Makefile.am
16960           src/backends/NetworkManagerSuSE.c
16961                 - Add SuSE support
16962
16963 2005-06-09  Dan Williams <dcbw@redhat.com>
16964
16965         * NetworkManager.h
16966                 - Add NMWirelessScanMethod enum for scan methods
16967
16968         * gnome/applet/applet-dbus-devices.c
16969                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16970                 - (nmwa_dbus_update_scanning_enabled): remove
16971                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16972                         since it got removed
16973                 - (nmwa_dbus_enable_scanning): remove
16974
16975         * gnome/applet/applet-dbus-info.c
16976                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16977                         update the wireless scanning method from NMI
16978                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16979                         method value to NetworkManager
16980                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16981
16982         * gnome/applet/applet-dbus-info.h
16983                 - Add prototype for nmi_dbus_signal_update_scan_method
16984
16985         * gnome/applet/applet.c
16986                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16987                         Wireless Scanning menu based on current wireless scan method
16988                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16989                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16990                         and update our menu items to make sure the right one is checked
16991                 - (nmwa_set_scanning_enabled_cb): remove
16992                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16993                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16994                         Scanning menu item
16995                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16996                         from GConf
16997                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16998                         so we get notified of preference values too
16999                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17000
17001         * gnome/applet/applet.h
17002                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17003                 - Add wireless scan method member to applet data
17004                 - Remove pause_scanning_item, add Wireless Scanning submenu
17005
17006         * src/NetworkManager.c
17007                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17008                 - (main): grab scanning method from NMI if we can
17009
17010         * src/NetworkManagerDbus.c
17011                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17012                         nm_dbus_update_wireless_scan_method()
17013                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17014                         from NMI
17015                 - (nm_dbus_nmi_is_running): redundant function, removed
17016                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17017                         when NMI comes back
17018
17019         * src/NetworkManagerDevice.c
17020                 - (nm_device_is_activated): return TRUE if the device is activated
17021                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17022                         and we are activated
17023
17024         * src/nm-dbus-nm.c
17025                 - (nm_dbus_nm_set_scanning_enabled): removed
17026                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17027                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17028
17029 2005-06-09  Dan Williams <dcbw@redhat.com>
17030
17031         * NetworkManager.h
17032           src/vpn-manager/nm-vpn-service.c
17033                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17034
17035 2005-05-27  Dan Williams <dcbw@redhat.com>
17036
17037         * vpn-daemons/vpnc/nm-vpnc-service.c
17038                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17039                         Should fix the bug where the VPN connection terminates the first time.
17040
17041 2005-05-20  Dan Williams <dcbw@redhat.com>
17042
17043         * NetworkManager.h
17044                 - Differentiate VPN config signals between bad VPN config options
17045                         and bad IP config
17046
17047         * gnome/applet/applet-dbus-info.h
17048                 - Add prototypes for wireless network and vpn connection update functions
17049
17050         * gnome/applet/applet-dbus.c
17051                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17052
17053         * gnome/applet/applet.c
17054                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17055                         error signals
17056                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17057                         propogation to NetworkManager
17058                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17059                         notify propogation to NetworkManager
17060
17061         * src/NetworkManagerDbus.c
17062                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17063                         are updating so a network can be removed from it if necessary
17064
17065         * src/vpn-manager/nm-vpn-manager.c
17066                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17067
17068         * vpn-daemons/vpnc/nm-vpnc-service.c
17069                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17070                 - (nm_vpnc_dbus_signal_launch_failed): remove
17071                 - (nm_vpnc_dbus_signal_connect_failed): remove
17072                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17073                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17074                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17075                         for new generalized error signal function, remove config file stuff
17076                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17077                         we can write configuration options to it
17078                 - (nm_vpnc_config_file_generate): removed
17079                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17080                 - (nm_vpnc_config_options_validate): validate the config options we receive
17081                         from NetworkManager to block potential exploits
17082                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17083                         starting vpnc
17084                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17085                         to NetworkManager
17086
17087 2005-05-16  Dan Williams  <dcbw@redhat.com>
17088
17089         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17090                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17091                         is not "connect"
17092
17093 2005-05-16  Dan Williams  <dcbw@redhat.com>
17094
17095         Patch from Tomislav Vujec <tvujec@redhat.com>
17096         * gnome/applet/applet-dbus-info.c
17097                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17098                         GConf and pass them to NetworkManager.  New key is 'routes' under
17099                         the VPN connection, and should be a string list
17100
17101         * src/NetworkManagerSystem.c
17102                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17103                         set them on the device when we set the rest of the VPN config.  Ensure
17104                         they are in the correct format since they are passed directly to the
17105                         command line.
17106
17107         * src/backends/NetworkManagerRedHat.c
17108           src/backends/NetworkManagerDebian.c
17109                 - (nm_system_device_add_route_via_device_with_iface): new function
17110
17111         * src/vpn-manager/nm-dbus-vpn.c
17112                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17113
17114         * src/vpn-manager/nm-vpn-manager.c
17115                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17116                         them into the IP4 config functions
17117
17118 2005-05-15  Dan Williams  <dcbw@redhat.com>
17119
17120         From Filip Miletic:
17121         * po/sr.po
17122           po/sr@Latn.po
17123           configure.in
17124                 - Serbian translation added
17125
17126 2005-05-15  Dan Williams  <dcbw@redhat.com>
17127
17128         * dispatcher-daemon/NetworkManagerDispatcher.c
17129                 - (main): sync arguments with NetworkManager and the applet, now use
17130                         "--no-daemon" rather than "daemon=no"
17131                 - (nmd_print_usage): Fix script path in usage message
17132
17133 2005-05-15  Dan Williams  <dcbw@redhat.com>
17134
17135         * src/NetworkManagerDevice.[ch]
17136           src/NetworkManagerPolicy.c
17137           src/NetworkManager.c
17138           src/nm-dbus-nm.c
17139                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17140                         longer send the DeviceNoLongerActive signal unconditionally, but only
17141                         when the device is actually active.
17142
17143         * dispatcher-daemon/NetworkManagerDispatcher.c
17144                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17145                         and simplify the logic
17146                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17147                         we free it later on
17148
17149         * initscript/RedHat/Makefile.am
17150           initscript/RedHat/NetworkManagerDispatcher
17151                 - Add initscript for NetworkManagerDispatcher
17152
17153
17154         Patch from Bill Moss:
17155         * dispatcher-daemon/NetworkManagerDispatcher.c
17156                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17157
17158         * src/NetworkManagerDbus.c
17159                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17160                         and DeviceNowActive gets signaled, then the device has a new IP address
17161                         anyway.  There's no need for a separate signal.
17162
17163         * src/NetworkManagerDevice.c
17164                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17165
17166         * src/NetworkManagerPolicy.c
17167                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17168                         activates successfully.  This kind of went missing when I reworked the
17169                         activation code.
17170
17171 2005-05-15  Dan Williams  <dcbw@redhat.com>
17172
17173         * configure.in
17174                 - Check for dhcdbd and error if its not found
17175
17176         * src/dhcp-manager/Makefile.am
17177           src/dhcp-manager/nm-dhcp-manager.c
17178                 - Use path to dhcdbd that configure found
17179
17180 2005-05-14  Dan Williams  <dcbw@redhat.com>
17181
17182         * gnome/applet/nm-device.c
17183                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17184                         sort wireless networks alphabetically
17185
17186         * gnome/applet/applet-dbus-devices.c
17187                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17188                         before copying them over to the GUI
17189
17190 2005-05-14  Dan Williams  <dcbw@redhat.com>
17191
17192         * src/NetworkManager.c
17193                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17194                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17195                         the device list, as does nm_get_active_device() which is called from
17196                         nm_vpn_manager_deactivate_vpn_connection().
17197
17198 2005-05-14  Dan Williams  <dcbw@redhat.com>
17199
17200         * NetworkManager.h
17201                 - Add signals for VPN Launch and Connect failures
17202
17203         * gnome/applet/applet-dbus.c
17204                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17205
17206         * gnome/applet/applet.c
17207                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17208                         function to handle all VPN failure messages
17209                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17210                         function to hanlde all VPN failure  messages
17211                 - (show_warning_dialog): work around focus-stealing prevention
17212
17213         * gnome/applet/other-network-dialog.c
17214           gnome/applet/passphrase-dialog.c
17215                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17216                         problem where it never enabled for ASCII Key and Hex Key types
17217
17218         * gnome/applet/wireless-applet.glade
17219                 - Add window title to Other Wireless Network Dialog
17220
17221         * src/vpn-manager/nm-dbus-vpn.c
17222                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17223                         function to handle all VPN failure messages
17224
17225         * src/vpn-manager/nm-vpn-manager.c
17226                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17227
17228         * vpn-daemons/vpnc/nm-vpnc-service.c
17229                 - (nm_vpnc_dbus_signal_launch_failed): new function
17230                 - (nm_vpnc_dbus_signal_connect_failed): new function
17231                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17232                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17233                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17234                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17235
17236 2005-05-11  Dan Williams  <dcbw@redhat.com>
17237
17238         * vpn-daemons/vpnc/nm-vpnc-service.c
17239                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17240                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17241                         file exists before trying to write it out.
17242
17243 2005-05-10  Dan Williams  <dcbw@redhat.com>
17244
17245     * gnome/applet/applet-dbus-device.c
17246         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17247             prevented just entering ESSID and leaving key and key type up to
17248             NetworkManager (which should have them already cached)
17249
17250 2005-05-08  Dan Williams  <dcbw@redhat.com>
17251
17252         * src/NetworkManagerPolicy.c
17253                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17254                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17255                         fix a situation where NM is told to terminate and the device stops activation,
17256                         but the main thread isn't aware of that because it would never have run
17257                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17258                         had already quit.
17259
17260         * src/NetworkManagerDevice.c
17261                 - (nm_device_probe_wired_link_state): cosmetic fixes
17262                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17263                         we've failed to activate or been canceled.
17264                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17265
17266 2005-05-08  Dan Williams  <dcbw@redhat.com>
17267
17268         * src/NetworkManagerWireless.c
17269                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17270                         value of WEXT quality structures, and add a debug message when we cannot
17271                         determine any quality % at all
17272
17273 2005-05-08  Dan Williams  <dcbw@redhat.com>
17274
17275         * src/dhcp-manager/nm-dhcp-manager.c
17276                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17277                         it goes down.
17278
17279 2005-05-06  Dan Williams  <dcbw@redhat.com>
17280
17281         * gnome/applet/applet-dbus-device.c
17282           gnome/applet/applet-dbus-info.c
17283           gnome/applet/applet-dbus.c
17284           gnome/applet/applet.c
17285           gnome/applet/applet.h
17286                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17287
17288         * gnome/applet/applet-dbus.c
17289                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17290                         so we notice when wired device's carriers come back on.  Should
17291                         fix issue with wired devices being grayed out even if the cable
17292                         is in, for devices that support carrier detection.
17293
17294         * gnome/applet/applet.c
17295                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17296                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17297                         tooltip message
17298                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17299                         Fix situation where applet wouldn't respond to menu selections
17300
17301         * src/NetworkManager.c
17302           src/NetworkManagerDevice.c
17303           src/NetworkManagerDbus.c
17304           src/NetworkManagerDbus.h
17305                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17306
17307         * src/NetworkManagerDbus.c
17308                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17309                         Remove, no longer used or relevant
17310                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17311                 - (nm_dbus_schedule_device_status_change_signal): add
17312
17313         * src/NetworkManagerDevice.c
17314                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17315                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17316                         ie don't deactivate them unless explicitly told to by the user.  Also send
17317                         CARRIER_OFF / CARRIER_ON signals when link changes
17318                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17319                         Don't print error message when device is no longer around
17320                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17321                         not just during activation
17322
17323         * src/NetworkManagerPolicy.c
17324                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17325                         auto-device-selection.
17326                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17327
17328         * src/NetworkManagerSystem.c
17329                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17330                         is no longer present (Bill Moss)
17331
17332         * src/backends/shvar.c
17333                 - (svOpenFile): Open read-only to make SELinux happy
17334
17335         * src/backends/NetworkManagerRedHat.c
17336                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17337                         the path to the ifcfg-* files
17338
17339 2005-05-05  Dan Williams  <dcbw@redhat.com>
17340
17341         * Expose activation stages to NetworkManager clients, like the applet
17342         * Add Diana's progress icons to the applet, cued off NM activation stage
17343         * Use more descriptive tooltips, cued off NM activation stage
17344
17345 2005-05-05  Ray Strode  <rstrode@redhat.com>
17346
17347         * src/nm-netlink-monitor.c:
17348                 - Use clear_event_source instead of g_nullify_pointer() again.
17349
17350 2005-05-05  Dan Williams  <dcbw@redhat.com>
17351
17352         * gnome/applet/main.c
17353                 - Fix session management so the applet is actually managed now
17354
17355         * gnome/applet/passphrase-dialog.c
17356                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17357
17358 2005-05-05  Dan Williams  <dcbw@redhat.com>
17359
17360         Patch from Bill Moss:
17361         * gnome/libnm_glib/libnm_glib.c
17362                 - Fix for dbus-0.33
17363
17364 2005-05-05  Dan Williams  <dcbw@redhat.com>
17365
17366         Suggestion from Bill Moss:
17367         * src/NetworkManagerSystem.c
17368                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17369
17370
17371         * src/NetworkManager.c
17372                 - (nm_data_free): move destruction of the various managers after
17373                         release of device list, because deactivating and freeing a device
17374                         requires at least the named manager
17375                 - (nm_poll_and_update_wireless_link_state):
17376                   (nm_device_link_activated):
17377                   (nm_device_link_deactivated):
17378                         don't grab the device list lock when actually updating device
17379                         link status or strength, since nm_device_set_link_active()
17380                         needs to call nm_get_active_device(), which also locks the device list.
17381
17382         * src/NetworkManagerDevice.c
17383                 - (nm_device_set_link_active): if a device's link switches from off->on,
17384                         and it's wired, and the active device is wireless (or there is no
17385                         active device), activate the new device whose link just came on
17386                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17387                         my only calling the link to the current ap "failed" when more than 2
17388                         consecutive link checks have failed
17389
17390 2005-05-04  Dan Williams  <dcbw@redhat.com>
17391
17392         * src/NetworkManagerDevice.c
17393                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17394                         but let link_to_specific_ap() do the locking where it needs
17395
17396         Patch from Bill Moss:
17397         * src/NetworkManagerSystem.c
17398                 - Set MTU of VPN devices to 1412
17399
17400 2005-05-04  Dan Williams  <dcbw@redhat.com>
17401
17402         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17403
17404         * Fix some holes in device activation and retaining the currently connected
17405                 access point
17406
17407 2005-05-03  Dan Williams  <dcbw@redhat.com>
17408
17409         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17410           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17411           means you need dhcdbd, which you can get here (get the latest one):
17412
17413                 http://people.redhat.com/jvdias/dhcdbd/
17414
17415           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17416           interface as dhcdbd.
17417
17418         * Rewrite device activation to facilitate the new DHCP infrastructure and
17419           future improvements.  Its now "activation request" based, ie there is a single
17420           activation request composed of the device, access point, and other info which
17421           follows the entire activation process.  There are 5 stages of the activation
17422           process which correspond to:
17423
17424                 1) Device preparation
17425                 2) Device configuration (bring it up, set ESSID/Key/etc)
17426                 3) IP Config Start (fire off DHCP if we're using it)
17427                 4) IP Config Get (grab config from DHCP or static config files)
17428                 5) IP Config Commit (set device's IP address, DNS, etc)
17429
17430           Note that there is no longer a "scanning" step, since the access point must
17431           be known _before_ activation starts.  If the access point drops out or does
17432           not exist for some reason, the entire activation process fails and must be
17433           restarted for a different access point or device.
17434
17435         Patch from Bill Moss:
17436         * gnome/applet/applet.c
17437                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17438
17439 2005-04-27  Dan Williams  <dcbw@redhat.com>
17440
17441         * gnome/applet/applet-dbus-vpn.c
17442           gnome/applet/applet.c
17443           gnome/applet/applet.h
17444                 - Fix up active VPN handling so that we reliably know when a VPN
17445                         connection has been deactivated
17446
17447         * src/vpn-manager/nm-vpn-manager.c
17448                 - Remove duplicate VPNConnectionChange signal
17449
17450 2005-04-27  Dan Williams  <dcbw@redhat.com>
17451
17452         Patch from Peter Jones:
17453         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17454
17455         Patch from Bill Moss:
17456         * src/NetworkManagerSystem.c
17457                 - Fix checking of return value from ioctl()
17458
17459 2005-04-27  Dan Williams  <dcbw@redhat.com>
17460
17461         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17462         * Warn and exit if icons cannot be found
17463
17464 2005-04-27  Dan Williams  <dcbw@redhat.com>
17465
17466         Patch from Tom Parker:
17467         * Update debian backend
17468
17469 2005-04-27  Dan Williams  <dcbw@redhat.com>
17470
17471         * Merge the applet and the info-daemon, and move the converged
17472                 applet under gnome/applet
17473         * Move libnm_glib to gnome/libnm_glib
17474         * Convert most dbus calls between the applet, info-daemon, and NM
17475                 into async calls
17476         * Fix a few things valgrind noticed
17477         * Make NM broadcast state more reliably
17478
17479 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17480
17481         * configure.in: Added ne in ALL_LINGUAS
17482
17483 2005-04-15  Dan Williams  <dcbw@redhat.com>
17484
17485         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17486                 code for dbus 0.2x versions
17487
17488 2005-04-15  Dan Williams  <dcbw@redhat.com>
17489
17490         Patches from Tom Parker:
17491         - Fix memleaks
17492         - Join with worker thread rather than polling for its exit
17493
17494         Patch from Bill Moss:
17495         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17496
17497 2005-04-15  Dan Williams  <dcbw@redhat.com>
17498
17499         - Fixes to pass 'make distcheck'
17500
17501 2005-04-15  Dan Williams  <dcbw@redhat.com>
17502
17503         Initial VPN Support
17504                 - supports 'vpnc'
17505                 - reworks device IP configuration, backend files have changed and will need
17506                         to be updated for all distributions.  I will try to do what I can for
17507                         them, but I cannot test them.
17508
17509         - Move named directory to src/named-manager
17510         - Make backends directory self-contained
17511
17512 2005-04-06  Dan Williams  <dcbw@redhat.com>
17513
17514         Add debug code for socket/file descriptor leaks.  We register every socket
17515         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17516         list of sockets that we forgot to close on shutdown.  This also consolidates
17517         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17518
17519 2005-04-06  Dan Williams  <dcbw@redhat.com>
17520
17521         * dhcpcd/dhcpcd.c
17522                 - (dhcp_interface_free): fix a file descriptor leak that may have
17523                         caused network drivers to not unload due to refcounts > 0
17524
17525 2005-04-04  Dan Williams  <dcbw@redhat.com>
17526
17527         * panel-applet/NMWirelessAppletDbus.c
17528                 - (nmwa_dbus_call_nm_method): remove some commented code
17529
17530         * src/NetworkManagerAPList.[ch]
17531                 - (nm_ap_list_remove_ap_by_essid): new function
17532
17533         * src/NetworkManagerDevice.c
17534                 - (nm_device_wireless_force_use): remove access points from the ignore list
17535                         when the user forces them
17536
17537         * src/nm-dbus-device.c
17538                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17539
17540 2005-04-04  Dan Williams  <dcbw@redhat.com>
17541
17542         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17543
17544 2005-04-04  Dan Williams  <dcbw@redhat.com>
17545
17546         * src/NetworkManagerDevice.c:
17547                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17548                         of only erroring after the second consecutive scan times out.  Also
17549                         don't exit when the card requires more time than we can give it, just
17550                         log the event and continue.
17551
17552 2005-04-01  Steve Murphy  <murf@e-tools.com>
17553
17554         * configure.in: Added "rw" to ALL_LINGUAS.
17555
17556 2005-04-01  Dan Williams <dcbw@redhat.com>
17557
17558         Perform scans during device activation, if needed.  Both activation 
17559         and scans run in the same GMainContext.  Therefore, if an access point
17560         is not found by the time the device starts activation, it will not
17561         be available until after activation.  We now try to scan during
17562         activation (in nm_wa_test) every 15s so that all available access
17563         points are more likely to be found and available for the activation
17564         procedure.
17565
17566         Also change nm_wireless_link_state_handle() to only update the "best"
17567         AP if we are not forcing a device and if we are not about to change
17568         state.  This attempts to work around a race when forcing a device,
17569         where the forced AP would get cleared out too soon by the link state
17570         checking timeout in the main thread, and the activation attempt with
17571         that AP would fail.
17572
17573 2005-04-01  Dan Williams <dcbw@redhat.com>
17574
17575         * po/POTFILES.in
17576                 - Update with new translatables
17577
17578 2005-03-31  Dan Williams <dcbw@redhat.com>
17579
17580         * panel-applet/NMWirelessAppletDbus.c
17581                 - Fix device names now that hal has changed device parenting for
17582                         network devices.
17583
17584 2005-03-31  Dan Williams <dcbw@redhat.com>
17585
17586         Tighten up handling of wireless devices that don't support wireless
17587         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17588         hadn't been doing pseudo-scanning for a while either and would just
17589         spin waiting for an access point.  They are now manual devices where
17590         the user must choose the access point from the menu every time.  All
17591         "allowed" access points are listed in the applet's menu regardless
17592         of whether or not they can be seen by the card, since it can't scan
17593         anyway.
17594
17595         * src/NetworkManager.c
17596                 - (nm_wireless_link_state_handle): new function, but only update
17597                         the "best" ap for non-scanning devices when its not activating,
17598                         and when no device is being forced on the card
17599                 - (nm_link_state_monitor): split wireless link state handling out
17600                         into separate function
17601
17602         * src/NetworkManagerDevice.c
17603                 - (nm_device_copy_allowed_to_dev_list): new function
17604                 - (nm_device_new): populate non-scanning cards' AP lists with
17605                         access points from the "allowed" list
17606                 - (nm_device_new): don't start a scanning timeout for devices that
17607                         can't scan
17608                 - (nm_device_activation_schedule_finish): new parameter, should be
17609                         the AP that failed to be connected to, pass it on to the
17610                         activation finish function in NetworkManagerPolicy.c
17611                 - (nm_device_activate_wireless): don't ever try to get a new AP
17612                         for non-scanning devices, just fail.  The user must choose
17613                         a new access point manually.
17614                 - (nm_device_activate): grab the AP that failed connection and
17615                         pass it on
17616                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17617                         a link to it, user must manually choose a new one
17618                 - (nm_device_do_pseudo_scan): remove function
17619                 - (nm_device_wireless_process_scan_results): remove bits for non-
17620                         scanning cards since they never get here
17621                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17622                         and fake the scan list for test devices a bit earlier
17623
17624         * src/NetworkManagerPolicy.c
17625                 - (nm_policy_activation_finish): use the failed_ap that we get
17626                         passed rather than getting the best_ap from the card, which
17627                         may have changed since we were scheduled
17628                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17629                         update their scan list directly from the allowed list when
17630                         we get updates to the allowed list from NetworkManagerInfo
17631
17632         * src/NetworkManagerPolicy.h
17633                 - New member for failed access point in NMActivationResult
17634
17635   -------------------------------------
17636
17637         Driver Notification patch: notifies the user when their driver
17638                 sucks.  Gives them the option to ignore further insertions
17639                 of the card that has the sucky driver.
17640
17641         * NetworkManager.h
17642                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17643                         enum and replace it with NO_CARRIER_DETECT and
17644                         NO_WIRELESS_SCAN
17645
17646         * panel-applet/NMWirelessApplet.[ch]
17647                 - Merge essid.glade -> wireless-applet.glade
17648                 - Implement the "Your driver sucks" notification dialog
17649
17650         * panel-applet/NMWirelessAppletDbus.c
17651                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17652                 - Grab hardware address for each device from NM too
17653                 - Check whether the driver for each device sucks or not whenever
17654                         a new device is noticed
17655
17656         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17657                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17658
17659         * src/NetworkManager.c
17660                 - Fix a double-unref on device removal
17661
17662         * src/NetworkManagerUtils.c
17663                 - Set appropriate driver support level on a device that doesn't
17664                         support scanning or carrier detection
17665
17666         * src/nm-dbus-device.c
17667                 - New "getHWAddress" dbus method on devices
17668                 - getSupportsCarrierDetect -> getDriverSupportLevel
17669
17670 2005-03-31  Dan Williams <dcbw@redhat.com>
17671
17672         * src/NetworkManagerDevice.c
17673                 - (nm_device_wireless_scan): Fix leak of scan results in some
17674                         instances
17675
17676 2005-03-29  Dan Williams <dcbw@redhat.com>
17677
17678         * src/NetworkManager.c
17679                 - (nm_poll_and_update_wireless_link_state): make code less indented
17680
17681         Patch from Bill Moss:
17682         * src/NetworkManager.c
17683                 - (nm_device_update_link_state): Update signal strength on wireless
17684                         devices every time we update link state too.
17685
17686 2005-03-29  Dan Williams <dcbw@redhat.com>
17687
17688         * src/NetworkManagerDevice.c
17689                 - (nm_device_set_essid): Work around Orinoco cards which need
17690                         extra time after setting the ESSID
17691
17692 2005-03-29  Dan Williams <dcbw@redhat.com>
17693
17694         * src/NetworkManagerDevice.c
17695                 - Merge one more bit of Peter Jones' completion patch
17696
17697 2005-03-29  Dan Williams <dcbw@redhat.com>
17698
17699         * src/NetworkManagerDevice.c
17700                 - (nm_device_force_use): Fix possible segfault
17701
17702 2005-03-29  Dan Williams <dcbw@redhat.com>
17703
17704         * src/NetworkManagerDevice.c
17705                 - Use iw_get_ext() where we should rather than iw_set_ext()
17706
17707 2005-03-29  Dan Williams <dcbw@redhat.com>
17708
17709         * src/NetworkManagerDevice.c
17710                 - (nm_device_set_up_down): remove check for unsupported devices
17711                         that caused NM to not bring devices up when they were
17712                         added to the device list.
17713
17714 2005-03-28  Dan Williams <dcbw@redhat.com>
17715
17716         * src/NetworkManagerDevice.c
17717                 - (mdio_read): Fix two bugs that caused all devices to fail
17718                         the MII carrier detection support checks
17719
17720 2005-03-26  Dan Williams <dcbw@redhat.com>
17721
17722         * src/NetworkManagerDevice.c
17723                 - (nm_device_wireless_scan): Remove duplicated scanning code
17724
17725 2005-03-25  Dan Williams <dcbw@redhat.com>
17726
17727         * panel-applet/NMWirelessApplet.c
17728                 - (nmwa_about_cb): Add some more contributors
17729                 - (nmwa_update_state): show the applet when there's no connection
17730                 - Enable the "Stop/Resume all wireless devices" option in the
17731                         context menu
17732                 - New "no connection" icon
17733
17734         * src/NetworkManager.c
17735                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17736                         wireless is disabled or we're asleep
17737
17738         * src/NetworkManagerDHCP.c
17739                 - Remove trailing "\n" on debug messages
17740
17741         * src/NetworkManagerDbus.c
17742                 - (nm_dbus_network_status_from_data): new state "asleep"
17743
17744         * src/NetworkManagerDevice.c
17745                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17746                         latency and wait times for most operations
17747                 - (nm_device_wireless_scan): Don't scan when asleep
17748
17749         * src/NetworkManagerPolicy.c
17750                 - (nm_policy_get_best_device): return no device when asleep
17751                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17752                         for all wireless devices on update, not just active device
17753
17754         * src/NetworkManagerUtils.c
17755                 - Merge Peter Jones' "completion" patch
17756
17757         * src/nm-dbus-nm.c
17758                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17759                         we're told to disable them
17760                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17761
17762         * utils/nm-utils.h
17763                 - New variants of the warn/info/error/debug print functions that can take
17764                         variables rather than static strings
17765
17766 2005-03-24  Dan Williams <dcbw@redhat.com>
17767
17768         * src/NetworkManagerUtils.c
17769                 - (nm_get_device_driver_name): driver names are now on the parents of
17770                         "Network Interface" objects, so look for them there
17771
17772 2005-03-24  Dan Williams <dcbw@redhat.com>
17773
17774         * test/nmtest.c
17775                 - Escape some forgotten object paths before we shove them through dbus
17776
17777 2005-03-24  Dan Williams <dcbw@redhat.com>
17778
17779         * dhcpcd/dhcpcd.[ch]
17780           src/NetworkManagerDHCP.c
17781                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17782                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17783
17784         * src/NetworkManagerDbus.c
17785                 - spacing cleanups
17786
17787         * src/nm-dbus-dhcp.c
17788                 - Make the API suck less.  There is now only 1 type of each function,
17789                         ie only "getInteger" and no longer also "getIntegerv".  All types
17790                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17791                         that will never have more than 1 element.  This should simplify
17792                         things greatly.
17793
17794         * test/nm-dhcp-opt-test.c
17795                 - Make the tool not segfault
17796                 - adapt to new DHCP Options API
17797
17798 2005-03-22  Dan Williams <dcbw@redhat.com>
17799
17800         * src/NetworkManager.c
17801                 - (nm_wired_link_deactivated): actually ignore netlink events from
17802                         wireless devices.
17803
17804 2005-03-22  Dan Williams <dcbw@redhat.com>
17805
17806         * src/NetworkManager.c
17807                 - (nm_wired_link_activated): actually ignore netlink events from
17808                         wireless devices.
17809
17810 2005-03-17  Dan Williams <dcbw@redhat.com>
17811
17812         Patch from Tom Parker:
17813         * src/nm-netlink-monitor.c
17814                 - Include unistd.h
17815         * info-daemon/NetworkManagerInfoDbus.c
17816                 - (nmi_dbus_update_network_auth_method): free GConf values
17817
17818         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17819         * src/NetworkManagerDevice.c
17820                 - (nm_device_set_wireless_config): wait for successful
17821                         association longer for some cards (Atheros a/b/g)
17822
17823 2005-03-15  Ray Strode  <rstrode@redhat.com>
17824
17825         * src/NetworkManager.c:
17826         (sigterm_pipe_handler):
17827         remove bogus FIXME
17828
17829 2005-03-15  Ray Strode  <rstrode@redhat.com>
17830
17831         * src/NetworkManagerDbus.c:
17832         Fix some sign weirdness that gcc4 doesn't like,
17833         and add a header file so PPC can hopefully find
17834         SIGTRAP
17835
17836 2005-03-14  Ray Strode  <rstrode@redhat.com>
17837         
17838         Fourth (probably working) cut at porting to
17839         dbus 0.30 api and new hal. This cut adds
17840         some new logging macros to make debugging
17841         easier.
17842
17843         * dispatcher-daemon/NetworkManagerDispatcher.c:
17844         * info-daemon/NetworkmanagerInfo.c:
17845         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17846         * info-daemon/NetworkManagerInfoVPN.c:
17847         * src/NetworkManager.c:
17848         * src/NetworkManagerAP.c:
17849         * src/NetworkManagerAPList.c:
17850         * src/NetworkManagerDHCP.c:
17851         * src/NetworkManagerDbus.c:
17852         * src/NetworkManagerDevice.c:
17853         * src/NetworkManagerPolicy.c:
17854         * src/NetworkManagerSystem.c:
17855         * src/NetworkManagerUtils.c:
17856         * src/NetworkManagerWireless.c:
17857         * src/autoip.c:
17858         * src/nm-dbus-nm.c:
17859         * src/backends/NetworkManagerDebian.c:
17860         * src/backends/NetworkManagerGentoo.c:
17861         * src/backends/NetworkManagerRedHat.c:
17862         * src/backends/NetworkManagerSlackware.c:
17863         use new logging macros.
17864
17865         * dispatcher-daemon/NetworkManagerDispatcher.c:
17866         (nmd_dbus_filter): s/dbus_free/g_free/
17867
17868         * info-daemon/Makefile.am: link in utils library.
17869         * info-daemon/NetworkmanagerInfo.c: use new logging 
17870         macros.
17871         (nmi_dbus_get_network): don't assume enumerations
17872         are 32-bit.
17873         (nmi_dbus_nmi_message_handler): don't free what 
17874         doesn't belong to us.
17875
17876         * libnm_glib/libnm_glib.c:
17877         (libnm_glib_get_nm_status): 
17878         (libnm_glib_init): don't free what doesn't
17879         belong to us.
17880         (libnm_glib_dbus): strdup result, so it doesn't get
17881         lost when message is unref'd.
17882
17883         * panel-applet/NMWirelessAppletDbus.c:
17884         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17885
17886         * src/NetworkManager.c:
17887         (nm_monitor_wired_link_state): request initial status 
17888         dump of all cards when we start up, instead of relying
17889         on /sys/.../carrier.
17890         (nm_info_handler), (nm_set_up_log_handlers): 
17891         log handlers to specify what syslog priorites 
17892         the logging macros default to.
17893
17894         * src/NetworkManagerAPList.c: 
17895         (nm_ap_list_populate_from_nmi):
17896         s/dbus_free_string_array/g_strfreev/
17897
17898         * src/NetworkManagerDbus.c:
17899         (nm_dbus_get_network_object):
17900         validate d-bus message argument types.
17901         Advance message iterator after reading argument,
17902         prepend instead of append to GSList.
17903
17904         * src/NetworkManagerDevice.c:
17905         (nm_device_probe_wired_link_status):
17906         remove redundant /sys in /sys path. remove wrong
17907         contents == NULL means has carrier assumption.
17908
17909         * src/nm-netlink-monitor.c 
17910         (nm_netlink_monitor_request_status): implement
17911         function to ask kernel to dump interface link
17912         status over netlink socket.
17913
17914         * test/*.c: s/dbus_free/g_free/
17915
17916         * utils/nm-utils.h:
17917         (nm_print_backtrace): new macro to print backtrace.
17918         (nm_get_timestamp): new macro to get sub-second precise
17919         unix timestamp.
17920         (nm_info), (nm_debug), (nm_warning), (nm_error):
17921         new logging functions. nm_info just prints,
17922         nm_debug includes timestamp and function,
17923         nm_warning includes function, nm_error includes
17924         backtrace and sigtrap.
17925
17926 2005-03-11  Ray Strode  <rstrode@redhat.com>
17927
17928         Third (unfinished, partially working) cut at porting to 
17929         dbus 0.30 api and new hal.
17930
17931         * info-daemon/NetworkManagerInfoDbus.c:
17932                 don't free null arrays.
17933
17934         * panel-applet/NMWirelessAppletDbus.c: 
17935         * src/nm-dbus-device.c:
17936         * src/nm-dbus-net.c: 
17937         * src/NetworkManagerDbus.c: more 
17938         STRING -> OBJECT_PATH fun
17939         * src/NetworkManagerDevice.c:
17940         * src/NetworkManagerDevice.h:
17941         (rename nm_device_get_link_active): rename to 
17942         nm_device_has_active_link
17943         (nm_device_wireless_link_active): rename to
17944         nm_device_probe_wireless_link_state
17945         (nm_device_wired_link_active): rename to
17946         nm_device_probe_wired_link_state.  Rewrite to
17947         use carrier file since hal doesn't maintain
17948         link state anymore.
17949         (nm_device_update_link_active): rename to
17950         nm_device_update_link_state
17951         * src/NetworkManagerPolicy.c 
17952           (nm_policy_activation_finish): check for NULL
17953           MAC address.
17954
17955         * src/Makefile.am:
17956         * src/NetworkManagerMain.h: 
17957         * src/NetworkManager.c:
17958         * src/nm-netlink-monitor.c:
17959         * src/nm-netlink-monitor.h: New class to support
17960         monitoring wired ethernet link status, since HAL
17961         doesn't export that information anymore.
17962
17963 2005-03-09  Ray Strode  <rstrode@redhat.com>
17964
17965         Second (unfinished, unworking) cut at porting to 
17966         dbus 0.30 api.
17967
17968         * dispatcher-daemon/NetworkManagerDispatcher.c:
17969         * info-daemon/NetworkManagerInfoDbus.c:
17970         * panel-applet/NMWirelessAppletDbus.c:
17971         * src/NetworkManagerDbusUtils.c:
17972         * src/NetworkManagerDbusUtils.h:
17973         * src/nm-dbus-device.c:
17974         * src/nm-dbus-nm.c:
17975         * test/nmtest.c: support dbus "object path" type
17976
17977         * configure.in: 
17978         * Makefile.am:
17979         * info-daemon/Makefile.am:
17980         * libnm_glib/Makefile.am:
17981         * panel-applet/Makefile.am:
17982         * dispatcher-daemon/Makefile.am
17983         * src/Makefile.am:
17984         * test/Makefile.am:
17985         * utils/Makefile.am: 
17986         * utils/nm-utils.c: 
17987         * utils/nm-utils.h: new utils static lib
17988
17989 2005-03-07  Ray Strode  <rstrode@redhat.com>
17990
17991         * info-daemon/NetworkManagerInfoDbus.c:
17992         * libnm_glib/libnm_glib.c:
17993         * panel-applet/NMWirelessAppletDbus.c:
17994         * src/NetworkManager.c:
17995         * src/NetworkManagerDbus.c:
17996         * src/NetworkManagerDevice.c:
17997         * src/NetworkManagerUtils.c:
17998         * src/nm-dbus-device.c:
17999         * src/nm-dbus-dhcp.c:
18000         * src/nm-dbus-net.c:
18001         * src/nm-dbus-nm.c:
18002         * test/nminfotest.c:
18003         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18004
18005 2005-03-04  Dan Williams  <dcbw@redhat.com>
18006
18007         * configure.in
18008                 - Mark HEAD as 0.4
18009
18010 2005-03-04  Dan Williams  <dcbw@redhat.com>
18011
18012         Patch from Peter Jones:
18013         - Make stuff work with gcc 4.0
18014
18015 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18016
18017         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18018
18019 2005-02-27  Jim Huang  <jserv@kaffe.org>
18020
18021         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18022
18023 2005-02-27  Dan Williams  <dcbw@redhat.com>
18024
18025         Patch from Bill Moss:
18026         * panel-applet/NMWirelessAppletDbus.c
18027                 - Make sure strength for current access point is up-to-date when we
18028                         update the gui data model
18029
18030 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18031
18032         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18033
18034 2005-02-27  Dan Williams  <dcbw@redhat.com>
18035
18036         * src/backends/NetworkManagerRedHat.c
18037                 - (nm_system_init): Kill any dhclient processes lying around as well
18038                         as stopping 'nifd' if its already been started.  NetworkManager
18039                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18040
18041 2005-02-27  Dan Williams  <dcbw@redhat.com>
18042
18043         * panel-applet/NMWirelessApplet.c
18044                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18045                         dbus data model, not the GUI data model twice.
18046
18047 2005-02-27  Dan Williams  <dcbw@redhat.com>
18048
18049         * panel-applet/NMWirelessApplet.[ch]
18050           panel-applet/NMWirelessAppletDbus.[ch]
18051                 - Move to incremental network updates.  Instead of blowing away our list
18052                         of devices every time we get a signal from NetworkManager, we now
18053                         incrementally add/remove networks when NetworkManager notifies us that
18054                         a new network has appeared or disappered.  Strength updates now happen
18055                         on-the-fly for each access point as well.  There are now two copies of
18056                         data from NetworkManager: one for the dbus side, and one for the gui side.
18057                         When the dbus side data is modified, it is copied over to the gui side
18058                         so we don't have to hold the data_mutex for long periods of time (and
18059                         therefore block animation of the applet's icon).
18060                 - Clean up some memleaks too
18061
18062         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18063                 - Minor code beautification
18064
18065         * src/NetworkManagerAPList.c
18066                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18067                         completely new and whether or not an existing one's strength was updated.
18068                         Try to fix multiple access points and signal strength by using the highest
18069                         signal strength in each scan for any given ESSID.
18070
18071         * src/NetworkManagerDbus.[ch]
18072                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18073                         wireless networks; now we have only WirelessNetworkUpdate which includes
18074                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18075                 - Kill usage of DbusMessageIter
18076
18077         * src/NetworkManagerDevice.c
18078                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18079                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18080                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18081                         currently associated with from the network list.
18082                 - Update for new signals during scan, send out Appeared, Disappeared, or
18083                         StrengthChanged when necessary.
18084
18085 2005-02-25  Dan Williams  <dcbw@redhat.com>
18086
18087         * README
18088                 - Line break the README
18089
18090 2005-02-25  Dan Williams  <dcbw@redhat.com>
18091
18092         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18093                 - Remove usage of gtk_window_set_default_size()
18094
18095         * panel-applet/essid.glade
18096                 - Stick default size here
18097                 - Add in random crap that current glade wants to add in now
18098
18099 2005-02-25  Dan Williams  <dcbw@redhat.com>
18100
18101         * src/backends/NetworkManagerRedHat.c
18102                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18103                         and that we actually tell nscd to reload the hosts cache when it changes
18104
18105 2005-02-25  Dan Williams  <dcbw@redhat.com>
18106
18107         * info-daemon/NetworkManagerInfoDbus.c
18108                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18109
18110         * test/nminfotest.c
18111                 - Whack usage of DbusMessageIter
18112                 - Clean up DbusError and DbusMessage handling and freeing
18113                 - Remove unused unregister handler
18114
18115         * test/nmtest.c
18116                 - Whack usage of DbusMessageIter
18117
18118         * test/nmtestdevices.c
18119                 - Whack usage of DbusMessageIter
18120
18121 2005-02-25  Dan Williams  <dcbw@redhat.com>
18122
18123         * NetworkManager.h
18124                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18125                         signal
18126
18127 2005-02-25  Dan Williams  <dcbw@redhat.com>
18128
18129         * named/nm-named-manager.c
18130                 - Ensure that pid and watch variables for child named process get cleared out
18131                         when the child goes away.
18132
18133 2005-02-22  Dan Williams  <dcbw@redhat.com>
18134
18135         * src/NetworkManagerPolicy.c
18136                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18137                         and NULL out data->active_device so that we have to choose another one.
18138                         This may make NetworkManager keep attempting to connect to a wired network
18139                         if it fails, but if it keeps failing the wired network has more problems than
18140                         just NetworkManager.
18141
18142         * src/backends/NetworkManagerRedHat.c
18143                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18144                         is already running
18145
18146         * named/nm-named-manager.c
18147                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18148                         named so that the distro can flush whatever name service caching
18149                         daemon it uses
18150
18151 2005-02-21  Dan Williams  <dcbw@redhat.com>
18152
18153         * src/NetworkManagerDHCP.[ch]
18154                 - (nm_device_dhcp_remove_timeouts): new function
18155
18156         * src/NetworkManagerDevice.c
18157                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18158                         remove the DHCP timeouts.
18159
18160 2005-02-21  Dan Williams  <dcbw@redhat.com>
18161
18162         * panel-applet/NMWirelessApplet.[ch]
18163           panel-applet/menu-info.[ch]
18164                 - Give the panel applet some major love: menu items are no longer
18165                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18166                         This allows the applet to actually reflect theme changes correctly,
18167                         since themeing of subclassed items in GTK _sucks_.
18168
18169 2005-02-18  Dan Williams  <dcbw@redhat.com>
18170
18171         * libnm_glib/libnm_glib.[ch]
18172           test/libnm_glib_test.c
18173                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18174                         and its data, and doesn't have to free the callback data anymore
18175
18176 2005-02-18  Dan Williams  <dcbw@redhat.com>
18177
18178         * panel-applet/NMWirelessApplet.c
18179                 - Revert 2005-02-18 William Jon McCann fix for standard
18180                         copyright string until it passes 'make distcheck'.
18181                         With standard copyright string, xgettext complains
18182                         about "Non-ASCII string at ...".
18183
18184 2005-02-18  Dan Williams  <dcbw@redhat.com>
18185
18186         * panel-applet/essid.glade
18187           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18188                 - Correct spelling of "adaptor"->"adapter"
18189
18190 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18191
18192         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18193         (nmwa_about_cb): Use standard copyright string.  Update comment
18194         text to reflect that it is a notification area applet.  Remove
18195         leading newline in authors list.
18196         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18197         instead of on parent menu item activation.  Fixes #167550.
18198
18199 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18200
18201         * panel-applet/essid.glade: Capitalize items as per HIG.
18202           Fixes #167632
18203
18204 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18205
18206         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18207         files for GTK 2.4 or lower, since now public in GTK 2.6.
18208
18209         * panel-applet/essid.glade: Don't specify window size.
18210         
18211 2005-02-17  Dan Williams  <dcbw@redhat.com>
18212
18213         Caught by Bill Moss:
18214         * dhcpcd/client.c
18215                 - Time remaining for DHCP transaction calculation was incorrectly
18216                         inside a #ifdef DEBUG
18217
18218 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18219
18220         * configure.in: Added fr (French) to ALL_LINGUAS.
18221
18222 2005-02-14  Dan Williams  <dcbw@redhat.com>
18223
18224         * src/NetworkManagerDHCP.c
18225                 - (set_domain_searches): Fix free of invalid pointer
18226
18227 2005-02-14  Dan Williams  <dcbw@redhat.com>
18228
18229         Patch from Peter Jones:
18230         * dhcpcd/client.c
18231                 - Ensure we return RET_DHCP_CEASED everywhere we should
18232         * dhcpcd/udpipgen.c
18233                 - Use faster TOS for IP packets
18234                 - Don't set ip_id since we're UDP
18235
18236         Patch from Tomislav Vujec:
18237         * src/nm-dbus-dhcp.c
18238           test/nm-dhcp-opt-test.c
18239                 - Clean up warnings to enable cvs tree compilation.
18240
18241 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18242
18243         * configure.in
18244           po/hr.po
18245                 - Add the Croatian locale.
18246
18247 2005-02-14  Colin Walters  <walters@verbum.org>
18248
18249         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18250         list of domains to search.
18251         
18252         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18253
18254 2005-02-13  Dan Williams  <dcbw@redhat.com>
18255
18256         * dhcpcd/client.c
18257                 - Debug output cleanups of DHCP option printing and parsing.
18258
18259 2005-02-13  Dan Williams  <dcbw@redhat.com>
18260
18261         Patch from Dan Reed:  DHCP options D-BUS API
18262                 Exposes the DHCP options that a device receives to clients over D-BUS.
18263
18264         * configure.in
18265                 - A few cleanups
18266
18267         * dhcpcd/client.h
18268                 - Correct names, option length, and types for DHCP options
18269
18270         * dhcpcd/dhcpcd.[ch]
18271                 - Clarify function names that access DHCP options & data
18272
18273         * src/NetworkManagerDHCP.c
18274                 - Use new DHCP data access functions
18275
18276         * src/NetworkManagerDbus.c
18277                 - Message handler for DHCP functions
18278
18279         * src/nm-dbus-dhcp.[ch] (new)
18280                 - DHCP dbus methods
18281
18282         * test/nm-dhcp-opt-test.c
18283                 - Test DHCP D-BUS API and return all present DHCP options
18284
18285 2005-02-12  Dan Williams  <dcbw@redhat.com>
18286
18287         * test/Makefile.am
18288           test/nmclienttest.c
18289           test/nmtest.c
18290                 - Move nmclienttest.c -> nmtest.c
18291
18292 2005-02-12  Dan Williams  <dcbw@redhat.com>
18293
18294         * dhcpcd/buildmsg.c
18295                 - Pad DHCP packets until they are at least 300 bytes in size.
18296
18297 2005-02-11  Dan Williams  <dcbw@redhat.com>
18298
18299         * dhcpcd/client.c
18300                 - (dhcp_init): only print out client ID and class ID if they are specified
18301
18302         * src/NetworkManagerDbus.[ch]
18303           src/nm-dbus-nm.[ch]
18304           src/nm-dbus-device.[ch]
18305           src/nm-dbus-net.[ch]
18306                 - Move NM, Device, and Net functions to separate files and use the
18307                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18308                         method dispatching
18309
18310         * src/NetworkManagerDbusUtils.c
18311                 - Add new validate_method called before each dispatch (if present)
18312                         that can validate the method call
18313
18314         * src/NetworkManagerWireless.c
18315                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18316                         levels never to be evaluated
18317
18318         Patch from j@bootlab.org
18319         * src/NetworkManagerDevice.c
18320                 - Add typedef for "u64"
18321
18322         * src/backends/NetworkManagerDebian.c
18323                 - Copy in Dave Woodhouse's fixes for IPv6
18324
18325 2005-02-11  Dan Williams  <dcbw@redhat.com>
18326
18327         Patch from Dave Woodhouse for IPv6:
18328         * src/NetworkManagerUtils.c
18329                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18330                         and multicast addresses
18331
18332         * src/NetworkManagerDevice.c
18333                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18334                         after bringing up a card.
18335
18336 2005-02-10  Dan Williams  <dcbw@redhat.com>
18337
18338         Patch from Dave Woodhouse:
18339         * src/NetworkManagerSystem.h
18340           src/backends/NetworkManagerDebian.c
18341           src/backends/NetworkManagerGentoo.c
18342           src/backends/NetworkManagerSlackware.c
18343                 - New nm_system_device_add_ip6_link_address() function to add link-local
18344                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18345
18346         * src/backends/NetworkManagerRedHat.c
18347                 - (nm_system_device_add_ip6_link_address): implement
18348                 - (nm_system_device_flush_addresses): revert to previous behavior of
18349                         flushing all addresses
18350
18351 2005-02-10  Dan Williams  <dcbw@redhat.com>
18352
18353         Patch from Tom Parker:
18354         * src/NetworkManagerDevice.c
18355                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18356                         mii.h headers are broken, and instead use our own typedefs
18357
18358 2005-02-10  Dan Williams  <dcbw@redhat.com>
18359
18360         * dhcpcd/buildmsg.c
18361                 - (fill_host_and_class_id): only fill in client and class IDs if
18362                         they are set by callers.
18363
18364         * dhcpcd/client.c
18365                 - (class_id_setup): don't autogenerate a class ID, only use one
18366                         we're given, if any.
18367                 - (client_id_setup): don't autogenerate a client ID, only use one
18368                         we're given, if any.
18369
18370         * dhcpcd/dhcpcd.c
18371                 - (dhcp_interface_init): ensure that client options are correctly
18372                         NULL terminated
18373
18374         * src/NetworkManagerDHCP.c
18375                 - (nm_device_dhcp_request): pass hostname to dhcp library
18376
18377 2005-02-10  Dan Williams  <dcbw@redhat.com>
18378
18379         * dhcpcd/client.c
18380                 - #rh147661# Don't send kernel version in DHCP requests
18381
18382         * src/NetworkManagerSystem.h
18383           src/backends/NetworkManagerDebian.c
18384           src/backends/NetworkManagerGentoo.c
18385           src/backends/NetworkManagerRedHat.c
18386           src/backends/NetworkManagerSlackware.c
18387                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18388                         functions, they are no longer used anyway
18389
18390         * src/backends/NetworkManagerRedHat.c
18391                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18392                         addresses in an attempt to keep IPv6 local-scope addresses around
18393
18394 2005-02-10  Dan Williams  <dcbw@redhat.com>
18395
18396         * src/NetworkManager.c
18397                 - (nm_create_device_and_add_to_list): change the add message slightly
18398
18399         * src/NetworkManagerUtils.c
18400                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18401                         Return driver name to calling function
18402                 - (nm_get_driver_support_level): print out the driver a device is using
18403                         during the support check
18404
18405         Patch from Dave Woodhouse:
18406         * dhcpcd/udpipgen.c
18407                 - (in_cksum): copy last byte of odd-sized packets into a
18408                         'u_short' rather than a 'u_char', should fix wrong checksums
18409                         on big-endian platforms
18410
18411 2005-02-09  Dan Williams  <dcbw@redhat.com>
18412
18413         * Clean up usage of GSList objects and looping through their members
18414         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18415                 now.
18416         * Fix problem where even if scanning was turned off, card would still
18417                 cycle through frequencies.
18418
18419 2005-02-08  Dan Williams  <dcbw@redhat.com>
18420
18421         * panel-applet/NMWirelessApplet.c
18422                 - Fix for gtk 2.4
18423
18424 2005-02-08  Dan Williams  <dcbw@redhat.com>
18425
18426         Patch from Bill Moss
18427         * panel-applet/NMWirelessApplet.c
18428                 - Restore correct ESSID in tooltips
18429
18430 2005-02-07  Dan Williams  <dcbw@redhat.com>
18431
18432         * panel-applet/NMWirelessApplet.[ch]
18433                 - Add a context menu that contains:
18434                         Pause/Resume Wireless Scanning
18435                         Stop/Start All Wireless Devices
18436                         About...
18437                 - Grab active device strength off active device,
18438                         not its network
18439
18440         * panel-applet/NMWirelessAppletDbus.[ch]
18441                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18442                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18443                 - Update active device strength every 2 seconds, not every 1 second
18444
18445         * panel-applet/menu-info.c
18446                 - Only disable wired devices in the menu when they support carrier detection,
18447                         and don't currently have a link.  Non-carrier-detect devices will always
18448                         remain choosable
18449
18450         * src/Makefile.am
18451           src/NetworkManagerDbusUtils.[ch]
18452                 - Add new new dbus utils sources
18453
18454         * src/NetworkManager.c
18455                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18456                         with the boolean parameter
18457                 - Set scanning_enabled & wireless_enabled to TRUE
18458
18459         * src/NetworkManagerDbus.c
18460                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18461                 - Implement scanning & wireless enable/disable calls
18462                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18463
18464         * src/NetworkManagerDevice.c
18465                 - New link detection stuff again...
18466                         o  Create device's mainloop earlier (but don't run it earlier)
18467                         o  Hook up new carrier-detect support stuff
18468                         o  Add in the ethtool & mii support detection code
18469                 - Don't scan if scanning is disabled
18470
18471         * src/NetworkManagerPolicy.c
18472                 - Never automatically choose a device that doesn't support carrier detection
18473                 - Don't automatically choose a wireless device if wireless is disabled
18474
18475 2005-02-07  Dan Williams  <dcbw@redhat.com>
18476
18477         * libnm_glib/libnm_glib.c
18478                 - Small cleanup in element list iteration
18479
18480 2005-02-07  Dan Williams  <dcbw@redhat.com>
18481
18482         * src/NetworkManagerWireless.c
18483                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18484                         to be in line with the WEXT quality specification
18485
18486 2005-02-02  Dan Williams  <dcbw@redhat.com>
18487
18488         Patch from Nathan Fredrickson <nathan@silverorange.com>
18489         * Fix up compile for deprecation of libgnomeui
18490                 - Switch to <glib/gi18n.h> from <libintl.h>
18491                 - Remove <libgnomeui/libgnomeui.h> includes
18492                 - Use gtk_window_set_default_icon_from_file() rather than
18493                         gnome_window_set_default_icon_from_file()
18494
18495         * named/nm-named-manager.c
18496                 - (generate_named_conf): Fix return-nothing in non-void
18497                         function
18498
18499 2005-02-02  Dan Williams  <dcbw@redhat.com>
18500
18501         * Clean up unused variables and the like
18502
18503 2005-02-02  Dan Williams  <dcbw@redhat.com>
18504
18505         * src/NetworkManagerAPList.c
18506                 - (nm_ap_list_merge_scanned_ap): merge strength too
18507
18508         * src/NetworkManagerUtils.c
18509                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18510                         of locking issues by printing out prettier information than g_mutex_lock
18511                 - Print out names of mutexes registered with nm_register_mutex_desc()
18512                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18513                         us to seemingly block here for too long
18514
18515         * src/NetworkManager.c
18516           src/NetworkManagerAPList.c
18517           src/NetworkManagerDevice.c
18518                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18519                         so we get better debug information printed
18520
18521         * src/NetworkManagerDbus.c
18522                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18523                         since it sometimes has locking side effects
18524                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18525                         from 10s
18526                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18527                         we don't need a switch.  This gets called often enough that we can't block
18528                         until the scan mutex is acquired, because we'll block on device activation
18529                         and a few other things, which hangs main thread for too long.
18530
18531         * src/NetworkManagerPolicy.c
18532                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18533                         nm_device_need_ap_switch() will be called               
18534
18535 2005-02-02  Dan Williams  <dcbw@redhat.com>
18536
18537         * panel-applet/NMWirelessApplet.c
18538                 - Display name of wireless network we are connecting to or connected to
18539                         in the tooltip of the applet
18540
18541 2005-02-02  Dan Williams  <dcbw@redhat.com>
18542
18543         * src/NetworkManagerDHCP.c
18544                 - Hopefully fix double-default-route problem by cleaning up the default
18545                         route added by DHCP code right before the DHCP transaction begins
18546
18547 2005-02-02  Dan Williams  <dcbw@redhat.com>
18548
18549         * named/nm-named-manager.c
18550                 - Write out valid resolv.conf when we exit
18551
18552 2005-02-01  Dan Williams  <dcbw@redhat.com>
18553
18554         Patch from Colin Walters:
18555         * named/nm-named-manager.c
18556                 - Make multi-domain search options work
18557
18558 2005-01-31  Dan Williams  <dcbw@redhat.com>
18559
18560         * info-daemon/NetworkManagerInfoDbus.c
18561                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18562
18563         * src/NetworkManagerDevice.c
18564                 - (nm_device_new): Don't store the entire range struct, use only what we need
18565                         (which is currently avg_quality, max_quality, and frequencies).  Also
18566                         zero device structure when we've free'd it to maybe expose errors down
18567                         the line.
18568                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18569                         quality data from the card since quality will be useless during a scan.
18570                         Call updated wireless qual-to-percent function with values stored in
18571                         nm_device_new() earlier.
18572                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18573                         nm_device_get_bad_crypt_packets())
18574                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18575                         nm_device_new()
18576                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18577                         list if available.  Problem was this: when the WEP key is wrong, NM will
18578                         try OS then SK modes, and then get stuck in SK mode after that.  This
18579                         should reset it.
18580                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18581                         function
18582
18583         * src/NetworkManagerWireless.c
18584                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18585                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18586                         if that's all present, otherwise fall back to signal-to-noise ratios.
18587
18588 2005-01-29  Dan Williams  <dcbw@redhat.com>
18589
18590         * initscript/RedHat/NetworkManager
18591                 - Don't spit out sysctl stuff to console
18592
18593         * libnm_glib/libnm_glib.c
18594                 - (libnm_glib_init): call dbus_g_thread_init()
18595
18596         * panel-applet/NMWirelessAppletDbus.c
18597                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18598
18599         * src/NetworkManager.c
18600                 - (main): call dbus_g_thread_init()
18601
18602         * src/NetworkManagerAPList.c
18603                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18604                         so we can actually see what's there in a normal syslog
18605
18606         * src/NetworkManagerDevice.c
18607                 - (nm_device_activate_wireless): print out the "waiting for access point"
18608                         message only once, then say what access point we actually got after
18609                         the wait.
18610                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18611                         function, wait until the scan is done.  Scans may change the ESSID of
18612                         the card, making this function think we need to switch access points
18613                 - (nm_device_wireless_process_scan_results): for artificial access points
18614                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18615                         prevents collisions with the scanning code, which may change the card's
18616                         ESSID and cause the access point to get dropped from the device's AP
18617                         list.  Also increase the keep-around time to 2m from 60s since the max
18618                         scan interval could be 60s in some cases.
18619
18620         * src/NetworkManagerPolicy.c
18621                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18622                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18623                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18624                         between NM and NMI.
18625
18626 2005-01-27  Dan Williams  <dcbw@redhat.com>
18627
18628         * info-daemon/NetworkManagerInfoDbus.c
18629                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18630                         GConf, make a minimal entry for it (essid & timestamp)
18631
18632         * src/NetworkManagerAPList.c
18633                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18634                         NetworkManagerInfo isn't running
18635
18636         * src/NetworkManagerDbus.[ch]
18637                 - (nm_dbus_nmi_is_running): new function
18638
18639         * src/NetworkManagerDevice.c
18640                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18641                         address to garbage.
18642
18643         * src/NetworkManagerPolicy.c
18644                 - (nm_policy_activation_finish): On successful activation, make sure
18645                         the "best" AP has a MAC address, and don't tell NMI to add the
18646                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18647                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18648                         access point after refreshing our allowed list if it doesn't already
18649                         have a "best" access point.
18650
18651 2005-01-25  Dan Williams  <dcbw@redhat.com>
18652
18653         * panel-applet/NMWirelessAppletDbus.c
18654                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18655                         so we check for NM_DBUS_SERVICE rather than not for it
18656
18657         * libnm_glib/libnm_glib.c
18658                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18659                         ServiceOwnerChanged signal
18660
18661 2005-01-25  Dan Williams  <dcbw@redhat.com>
18662
18663         * configure.in
18664                 - Check DBUS version in configure, and set the C macros
18665                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18666
18667         * info-daemon/NetworkManagerInfoDbus.c
18668                 - Remove #if 0-d section of code that quit NMI if NM went away.
18669
18670         * panel-applet/NMWirelessAppletDbus.c
18671                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18672
18673         * src/NetworkManager.c
18674           src/NetworkManagerMain.h
18675           src/NetworkManagerDbus.c
18676                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18677                 - Make updating of our Allowed Wireless Network lists from NMI
18678                         an idle function in the main thread now, with a high priority.
18679
18680 2005-01-24  Dan Williams  <dcbw@redhat.com>
18681
18682         * panel-applet/gtkcellview.[ch]
18683           panel-applet/menu-info.c
18684                 - Fix GTK version checks to be <= rather than <
18685
18686         * test/Makefile.am
18687                 - Include the libtool archive of libnm_glib rather than
18688                         trying to pull in the .so
18689
18690 2005-01-24  Dan Williams  <dcbw@redhat.com>
18691
18692         * src/NetworkManagerDevice.c
18693           src/NetworkManagerDevicePrivate.h
18694                 - Block nm_device_new() until our device's worker thread has had a
18695                         chance to start up.  Fixes a race between main thread and worker
18696                         thread starting that caused activation requests to get lost.
18697
18698 2005-01-24  Dan Williams  <dcbw@redhat.com>
18699
18700         * initscript/RedHat/NetworkManager
18701                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18702                         to add the NM startup script at priority 50, which was
18703                         way too early
18704
18705 2005-01-24  Colin Walters  <walters@redhat.com>
18706
18707         * named/named.conf: Use any port for query source instead of
18708         restricting to port 53.
18709
18710 2005-01-24  Dan Williams  <dcbw@redhat.com>
18711
18712         * initscript/RedHat/NetworkManager
18713                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18714                         to add the NM startup script at priority 50, which was
18715                         way too early
18716
18717 2005-01-24  Dan Williams  <dcbw@redhat.com>
18718
18719         Patch from Tom Parker <palfrey@tevp.net>
18720         * Fix up compile warnings & errors in the wireless applet
18721
18722 2005-01-24  Dan Williams  <dcbw@redhat.com>
18723
18724         * panel-applet/NMWirelessApplet.c
18725                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18726
18727 2005-01-24  Dan Williams  <dcbw@redhat.com>
18728
18729         * panel-applet/gtkcellview.[ch]
18730                 - Only compile these files for GTK 2.4 or lower, since 
18731                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18732                         when choosing "Other Wireless Networks" from the panel
18733                         applet menu
18734
18735 2005-01-21  Dan Williams  <dcbw@redhat.com>
18736
18737         * src/NetworkManager.c
18738                 - Daemonize earlier so that glib doesn't get confused (?)
18739
18740 2005-01-21  Dan Williams  <dcbw@redhat.com>
18741
18742         * panel-applet/NMWirelessApplet.[ch]
18743           panel-applet/NMWirelessAppletDbus.c
18744           panel-applet/menu-info.c
18745           src/NetworkManagerDevice.c
18746                 - Disable wired devices in the menu when they have no link.
18747
18748 2005-01-21  Dan Williams  <dcbw@redhat.com>
18749
18750         * Cache last-known-good wireless authentication method in
18751                 NetworkManagerInfo, and use that method first during
18752                 wireless device activation.  Should speed up devices that
18753                 need Shared Key authentication method since Open System is
18754                 now the default.
18755
18756         * Remove the hack to not do full activation on wired connections
18757                 that are active when we launch, it causes too many problems
18758                 with name resolution and was a hack in the first place.
18759
18760         * Re-work wireless device activation again somewhat to have a
18761                 clearer chain of events and to use last-known-good
18762                 authentication method of the access point.  Also provide
18763                 better status throughout activation to ensure the applet
18764                 can tell the user exactly what's going on.
18765
18766         * Remove the "find wireless network" code and now simply attempt
18767                 to activate with that access point.  This reduces the delay
18768                 between selecting "Other wireless Network" and actually
18769                 connecting to that network.
18770
18771         * Correctly stop the device's worker thread when its removed.
18772
18773 2005-01-21  Dan Williams  <dcbw@redhat.com>
18774
18775         * dhcpcd/client.c
18776                 - Clean up some of the debug messages
18777
18778 2005-01-21  Dan Williams  <dcbw@redhat.com>
18779
18780         * Add new icons, more frames of animation
18781         * Remove some hacks to get the panel applet to display correct
18782                 status, an NM update will soon follow that will fix the
18783                 real issue.
18784
18785 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18786
18787         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18788         the first include for working i18n. Also, don't include it in .h files
18789         * panel-applet/NMWirelessApplet.h: Same
18790         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18791         * panel-applet/menu-info.c: Same
18792
18793 2005-01-18  Dan Williams <dcbw@redhat.com>
18794
18795         * dhcpcd/client.c
18796                 - Remove some debug messages
18797                 - Wrap others in #ifdef DEBUG/#endif
18798
18799         * src/NetworkManager.c
18800                 - Remove some debug messages
18801                 - Clarify some debug messages
18802                 - Remove code related to old single-thread wireless scanning
18803
18804         * src/NetworkManagerAP.[ch]
18805                 - New AP property "last_seen" to track how recently an AP was
18806                         found in a scan
18807                 - Start using 'const' more in function arguments
18808
18809         * src/NetworkManagerAPList.[ch]
18810                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18811                         of an AP found in an AP list from a source AP, or if not found
18812                         in the list add the source AP
18813                 - (nm_ap_list_combine): remove, no longer needed
18814
18815         * src/NetworkManagerDevice.c
18816                 - Each device now has a "worker" thread from start to end of its life.
18817                         Scanning for wireless devices now happens in that thread,
18818                         not in a single "wireless scanning thread" for all devices as
18819                         previously.  Activation consists of adding an idle handler to the
18820                         thread's main loop/context, which gets run at the next available
18821                         opportunity.
18822                 - Wireless scanning is also simplified, there is now only one list of
18823                         access points per wireless device, and APs older than 60s are
18824                         removed from the list.  Previously, we kept results for the last
18825                         3 scans and merged whole lists, which was complicated.
18826                 - Cleaned up activation debug messages.
18827                 - Wireless activation and access-point search routines now use Open System
18828                         authentication before trying Shared Key.
18829                 - Removed some code in nm_device_update_best_ap() that could cause cards
18830                         to loose their link to the access point.
18831                 - Scanning now uses a backoff algorithm, where the inverval becomes
18832                         progressively longer between scans when the list of scanned access
18833                         points doesn't change.  A change will revert to the shortest scan
18834                         interval (20s).
18835
18836         * src/NetworkManagerWireless.[ch]
18837                 - Remove code related to old single-thread wireless scanning
18838
18839 2005-01-18  Colin Walters  <walters@redhat.com>
18840
18841         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18842         of older nameservers.
18843
18844 2005-01-18  Colin Walters  <walters@redhat.com>
18845
18846         * named/nm-named-manager.c (generate_named_conf): Many fixes
18847         to config file generation.
18848         (safer_kill): Remove, was too much trouble for little gain.
18849         (nm_named_manager_start): Run named as NM_NAMED_USER.
18850
18851         * configure.in: Add option --with-named-user.
18852
18853 2005-01-14  Colin Walters  <walters@redhat.com>
18854
18855         Patch from ed@catmur.co.uk (Ed Catmur)
18856
18857         * named/nm-named-manager.c: Add "context" property.
18858         Use it to add child watch source in specific GMainContext.
18859
18860         * src/NetworkManager.c (nm_data_new): Initialize
18861         named with correct main context.  Start named only
18862         after forking.
18863
18864 2005-01-14  Colin Walters  <walters@redhat.com>
18865
18866         * named/nm-named-manager.c (generate_named_conf): Write config
18867         and pid files into NM_NAMED_DATA_DIR; this allows things to
18868         work better with FC3 named SELinux policy.  Also fix up silly
18869         format error.
18870
18871         * configure.in: Add --with-named-dir option.
18872
18873 2005-01-14  Colin Walters  <walters@redhat.com>
18874
18875         * configure.in: Make named support require passing --with-named.
18876
18877         * named/nm-named-manager.c: Support writing resolv.conf directly
18878         without running named.
18879
18880 2005-01-13  Dan Williams <dcbw@redhat.com>
18881
18882         * named/nm-named-manager.c
18883                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18884
18885         * src/NetworkManagerDevice.c
18886                 - Rework wireless link detection code to be more reliable
18887
18888 2005-01-12  Dan Williams <dcbw@redhat.com>
18889
18890         * initscripts/RedHat/NetworkManager
18891                 - Change initial level to "-" rather than "345" so that
18892                         we don't activate ourselves by default on install
18893
18894 2005-01-12  Dan Williams <dcbw@redhat.com>
18895
18896         * libnm_glib/
18897                 - Client library for applications using glib
18898
18899         * configure.in
18900           various Makefiles
18901                 - Split NM_CFLAGS and NM_LIBS into separate variables
18902                         like DBUS_*, HAL_* and GLIB_*
18903
18904         * src/NetworkManager.c
18905           src/NetworkManagerMain.h
18906                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18907                         broadcast a status changed signal over DBUS from the main thread.
18908                         Still unused anywhere for the moment.
18909
18910         Patch from j@bootlab.org
18911         * panel_applet/NMWirelessAppletDbus.c
18912           src/NetworkManagerDbus.c
18913                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18914                         for the "getMode" method call
18915
18916 2005-01-10  Dan Williams <dcbw@redhat.com>
18917
18918         * src/NetworkManagerDevice.c
18919                 - Minor fixups & corrections to "auto" frequency mode, make it
18920                         less chatty with syslog
18921
18922 2005-01-10  Dan Williams <dcbw@redhat.com>
18923
18924         * src/NetworkManagerDevice.c
18925                 - Implement "auto" frequency/channel support, since cards like Atheros
18926                         can't use other frequencies at all when you've told it to use a
18927                         specific one, even for scanning.
18928                 - Grab the scan mutex around places where we can't tolerate wireless
18929                         settings changing underneath us, like nm_device_wireless_network_exists()
18930                         and nm_device_activate_wireless()
18931
18932         * src/NetworkManagerWireless.c
18933                 - Back scan interval off to 20s instead of 14s
18934
18935 2005-01-09  Dan Williams <dcbw@redhat.com>
18936
18937         * src/NetworkManagerDevice.c
18938                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18939                         already set.  Stops some drivers like Atmel from continually
18940                         reloading the firmware, which they do upon every configuration
18941                         change.
18942
18943 2005-01-09  Dan Williams <dcbw@redhat.com>
18944
18945         * dhcpcd/client.c
18946                 - Use correct timeout value
18947
18948         * info-daemon/NetworkManagerInfoDbus.c
18949           src/NetworkManagerDbus.c
18950                 - Consolidate communication between NM and NMI by doing only 1 dbus
18951                         method call to get Wireless Network info from NMI instead of 6
18952
18953         * src/NetworkManager.c
18954                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18955                         when we didn't have an AP to use, we'd wait for one forever without
18956                         quitting
18957
18958         * src/NetworkManagerDevice.c
18959                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18960                         activation, dhcp might not have started yet but we don't quit activation
18961                         before starting it, so the quit signal gets lost
18962
18963 2005-01-07  Dan Williams <dcbw@redhat.com>
18964
18965         * dhcpcd/client.c
18966                 - Rework the DHCP client code to be much less chatty when
18967                         it receives non-DHCP UDP packets during the DHCP run
18968                         (reported by and preliminary patches from Bill Moss)
18969
18970         * Move wireless scanning to a separate thread.  This thread forwards the
18971                 results to the main thread when done where they are integrated into
18972                 the device's access point lists.  This keeps the main thread (which
18973                 does all the DBUS communication) from being blocked for long periods
18974                 of time by wireless scanning.
18975
18976         * Make state modification an idle routine in the main loop, and trigger
18977                 state changes rather than polling for them.
18978
18979         * src/backends/NetworkManagerGentoo.c
18980                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18981
18982         * src/NetworkManagerDevice.c
18983                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18984                         router advertisements, causing problems and infinite loop
18985                         during "best" device determination due to link going up/down
18986                         (reported by Bill Moss)
18987
18988         Apply patch from Peter Jones
18989         * src/NetworkManagerDevice.c
18990                 - Shortcut for link-checking for ipw2x00 cards
18991                 - Split out association check into separate routine
18992
18993 2004-01-05  Colin Walters  <walters@redhat.com>
18994
18995         * named/named.conf: Add PID_FILE.
18996
18997         * named/nm-named-manager.c: Always generate a pid
18998         file, since older BIND versions don't support
18999         "pid-file none".
19000
19001 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19002
19003         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19004
19005 2004-12-22  Dan Williams <dcbw@redhat.com>
19006
19007         * src/NetworkManagerDevice.c
19008                 - Silently fail when setting bitrate doesn't work
19009
19010
19011         Patches from j@bootlab.org:
19012         * src/backends/NetworkManagerDebian
19013                 - Update backend to match functionality in RedHat backend
19014         * src/NetworkManagerDevice.c
19015                 - Take down then bring up wired devices after connection so
19016                 they send out ipv6 router advertisements
19017
19018 2004-12-21  Colin Walters  <walters@verbum.org>
19019
19020         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19021         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19022
19023 2004-12-21  Colin Walters  <walters@redhat.com>
19024
19025         * configure.in: Correct named detection.
19026
19027 2004-12-21  Colin Walters  <walters@redhat.com>
19028
19029         * src/NetworkManager.c (nm_data_new): Initialize named.
19030         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19031         the mainloop when these signals are received.
19032         (nm_data_free): Unref named.
19033         (sigterm_handler, sigterm_pipe_handler): New functions for
19034         exiting mainloop.
19035         
19036         * src/NetworkManagerMain.h (NMData): Add signal handling and
19037         nameserver bits.
19038
19039         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19040         unref.
19041
19042         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19043         set nameservers from DHCP response data.
19044         (set_domain_search): Set domain search from DHCP response.
19045         (nm_device_dhcp_configure): Invoke them.
19046
19047         * src/NetworkManagerSystem.c
19048         (nm_system_device_update_resolv_conf): Delete.  Deleting
19049         code is totally sweet.
19050
19051         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19052
19053         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19054         implements an object which controls a nameserver.  Currently
19055         uses bind 9.
19056
19057         * configure.in: Check for named.
19058
19059         * Makefile.am (SUBDIRS): Add named dir.
19060
19061         * named/named.conf: New template config file.
19062
19063 2004-12-20  Colin Walters  <walters@redhat.com>
19064
19065         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19066         instead of '='.
19067
19068 2004-12-17  Dan Williams  <dcbw@redhat.com>
19069
19070         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19071                 link-local addresses instead of doing DHCP.
19072
19073         * In the panel applet, there's a new "Create new Wireless Network..." item
19074
19075         * The panel applet also sticks around now even if NetworkManager dies, but
19076                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19077                 a bug, I'll fix that later.
19078
19079         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19080                 lookups after a switch rather than actually doing them.
19081
19082         * Clean up some of those warnings in nm_ap_list_* functions
19083
19084         * Delay between scans changed to 15s instead of 10s
19085
19086 2004-12-15  Dan Williams  <dcbw@redhat.com>
19087
19088         Patch from Tom Parker
19089         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19090                 address
19091
19092         * Longer pause after setting ESSID on cards that support a larger number
19093                 of channels to give the card time to find the right channel
19094
19095         * Add system hook to restart mDNSResponder (or whatever the local implementation
19096                 of Multicast DNS is) when we activate interfaces
19097
19098 2004-12-15  Dan Williams  <dcbw@redhat.com>
19099
19100         * Rework the DHCP code again to revert to sending full ethernet frames
19101                 rather then relying on the kernel to do the right thing with our
19102                 packets.
19103
19104 2004-12-06  Dan Williams  <dcbw@redhat.com>
19105
19106         * dhcpcd/client.c
19107                 - Fix some minor errors in dhcp_handle_transaction() that caused
19108                         unexpected early timeouts of DHCP transactions
19109
19110         * dhcpcd/client.h
19111                 - DHCP retransmit time from 4s -> 5s
19112
19113 2004-12-05  Dan Williams  <dcbw@redhat.com>
19114
19115         * Major rework of the DHCP code, taking some cues from pump.  We don't
19116                 write raw Ethernet packets anymore, which simplifies the code quite
19117                 a bit.  The new code should be more robust, not hang in recvfrom()
19118                 as much, and generally work better.  This also means that we need
19119                 to force HAL/dbus to use a created GMainContext rather than the
19120                 default context, since having the DHCP renew/rebind thread using
19121                 its own GMainContext seemed to give dbus a fit.  There is also more
19122                 debugging information printed from the DHCP loop to help with future
19123                 problems.
19124
19125         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19126                 assume that the default gateway should be the DHCP server.
19127
19128         Patch from Matthew Schick <matt oss-institute org>
19129         * src/backends/NetworkManagerGentoo.c
19130                 - Fix compilation error due to missing "ip4_broadcast"
19131
19132 2004-12-03  Dan Williams  <dcbw@redhat.com>
19133
19134         * initscript/Makefile.am
19135         * initscript/Debian/NetworkManager
19136         * initscript/Gentoo/NetworkManager
19137         * initscript/RedHat/NetworkManager
19138         * initscript/NMLaunchHelper.c
19139                 - Remove NMLaunchHelper, if you need to wait until the network
19140                         comes up, use the dead code from CVS.
19141
19142 2004-12-01  Colin Walters  <walters@redhat.com>
19143         
19144         * configure.in: Suck in gcc warnings code from Rhythmbox,
19145         but use fewer default flags, and in particular add -Wno-unused,
19146         since the codebase has a lot of unused variables.
19147
19148         * test/nmtestdevices.c (create_device): 
19149         * test/nminfotest.c (get_network_string_property) 
19150         (get_networks_of_type): 
19151         * test/nmclienttest.c (main): 
19152         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19153         * initscript/NMLaunchHelper.c (get_nm_status): 
19154         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19155         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19156         Fix declarations after statements.
19157
19158 2004-12-01  Colin Walters  <walters@redhat.com>
19159
19160         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19161         (nmi_dbus_get_vpn_userpass): New method.
19162         (nmi_dbus_nmi_message_handler): Invoke it.
19163
19164         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19165
19166         * info-daemon/NetworkManagerInfoVPN.h,
19167         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19168         to requests for VPN passwords.
19169
19170         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19171
19172 2004-12-01  Colin Walters  <walters@redhat.com>
19173
19174         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19175         includes.
19176
19177 2004-12-01  Colin Walters  <walters@redhat.com>
19178
19179         * panel-applet/NMWirelessAppletDbus.c
19180         (nmwa_dbus_update_active_device_strength): Fix missing
19181         return value.
19182
19183 2004-12-01  Colin Walters  <walters@redhat.com>
19184
19185         * panel-applet/NMWirelessApplet.c: Add missing include.
19186
19187 2004-12-01  Colin Walters  <walters@redhat.com>
19188
19189         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19190         Remove useless CLAMP (); the value is unsigned, and the case tests
19191         qual->qual < 100, so the value must always be between 0 and 100.
19192
19193 2004-12-01  Colin Walters  <walters@redhat.com>
19194
19195         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19196
19197 2004-11-22  Colin Walters  <walters@verbum.org>
19198
19199         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19200         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19201         which is essentially a noop since nscd caches hosts on disk too.
19202         
19203 2004-11-22  Colin Walters  <walters@redhat.com>
19204
19205         * src/Makefile.am (NetworkManager_SOURCES): Add
19206         NetworkManagerDevicePrivate.h.
19207
19208 2004-11-22  Dan Williams <dcbw@redhat.com>
19209
19210         * src/NetworkManagerDevicePrivate.h
19211                 - Split out the NMDevice struct to a different file so that stuff like
19212                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19213
19214         * dhcpcd/client.c
19215                 - fprintf->syslog
19216                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19217                         need to cancel the dhcp request during the send and recv
19218
19219         * dhcpcd/client.h
19220                 - Move the DHCP option enum to dhcpcd.h
19221
19222         * src/NetworkManagerDHCP.c
19223                 - Split out the actual IP/netmask/etc setting code
19224                 - New Renew/Rebind functions
19225                 - New timer setup function for renew/rebind operations
19226
19227         * src/NetworkManagerDevice.c
19228                 - For device activation, if we are using DHCP then keep the activation thread
19229                         alive until device deactivation.  We need to renew/rebind the DHCP address
19230                         after the T1 (renew) and T2 (rebind) times have expired.
19231                 - Increase some timeouts after bringing wireless cards up/down
19232
19233 2004-11-17  Dan Williams <dcbw@redhat.com>
19234
19235         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19236                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19237                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19238                 show known access points that don't broadcast their ESSID in the menus without
19239                 any user intervention whatsoever.
19240
19241         * info-daemon/NetworkManagerInfoDbus.c
19242                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19243                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19244
19245         * src/NetworkManagerAP.[ch]
19246                 - Add a "user_addresses" data member to the NMAccessPoint structure
19247                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19248                         the user_addresses data member
19249
19250         * src/NetworkManagerAPList.c
19251                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19252                         the AP's reported address
19253                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19254
19255         * src/NetworkManagerDHCP.c
19256                 - Increase DHCP timeout from 25s -> 30s
19257
19258         * src/NetworkManagerDbus.[ch]
19259                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19260                         user addresses
19261
19262         * src/NetworkManagerDevice.c
19263                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19264                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19265                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19266                         So, we take the card down to clear it out.
19267                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19268                         too, since that's where the user_addresses are
19269
19270         * src/NetworkManagerPolicy.c
19271                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19272                         that wireless networks' user_addresses list upon successful activation
19273
19274 2004-11-16  Dan Williams <dcbw@redhat.com>
19275
19276         * src/NetworkManagerDevice.[ch]
19277                 - (nm_device_clear_activation_fail): new function
19278
19279         * src/NetworkManagerPolicy.c
19280                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19281                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19282
19283 2004-11-16  Dan Williams <dcbw@redhat.com>
19284
19285         * src/NetworkManagerDevice.c
19286                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19287                         leak the structure, better updating of now_scanning status
19288                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19289
19290 2004-11-15  Dan Williams <dcbw@redhat.com>
19291
19292         Major rework of link detection code.  We now use DHCP
19293         as part of the link detection which proves to be much more robust,
19294         and also supports Open System authentication for wireless networks.
19295
19296         We no longer use external DHCP client programs.  Instead, we use 
19297         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19298         which was written by:
19299                 Yoichi Hariguchi <yoichi@fore.com>
19300                 Sergei Viznyuk <sv@phystech.com>
19301                 http://www.phystech.com/download/
19302         It resides in the "dhcpcd" directory and was refactored into a general
19303         purpose DHCP client library by me.
19304
19305         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19306         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19307
19308 2004-11-15  Dan Williams <dcbw@redhat.com>
19309
19310         Patch from Tom Parker <palfrey@tevp.net>:
19311
19312         * src/NetworkManagerDevice.c
19313                 - Less output to console when no access
19314                         points are found during a scan
19315
19316 2004-11-15  Dan Williams <dcbw@redhat.com>
19317
19318         Patch from Tom Parker <palfrey@tevp.net>:
19319
19320         * src/backends/interface_parser.c
19321                 - Use g_strdup ()
19322                 - Check for inp == NULL
19323                 - use syslog ()
19324
19325 2004-11-13  Colin Walters  <walters@redhat.com>
19326
19327         Patch from Tom Parker <palfrey@tevp.net>:
19328
19329         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19330         
19331         * src/backends/NetworkManagerRedHat.c: Switch to
19332         including shvar.h instead of shvar.c.
19333
19334         * src/backends/NetworkManagerDebian.c: Don't include
19335         interface_parser.c in source file.
19336
19337         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19338         and interface_parser.[ch].
19339         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19340         Include shvar.c and shvar.h here.
19341         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19342         interface_parser.c and interface_parser.h here.
19343
19344 2004-11-12  Colin Walters  <walters@redhat.com>
19345
19346         * configure.in: Strip out TARGET_DISTRO and
19347         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19348         conditionals.
19349
19350         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19351         (libnmbackend_la_SOURCES): Use Automake conditionals
19352         to add distro-specific files.
19353
19354         * initscript/Makefile.am (SUBDIRS): Update to
19355         use conditionals.
19356
19357 2004-11-12  Colin Walters  <walters@redhat.com>
19358
19359         Patches from j bootlab org
19360
19361         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19362         Add interface_parser.[ch].
19363
19364         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19365         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19366
19367 2004-11-12  Colin Walters  <walters@redhat.com>
19368
19369         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19370         call to nmi_dbus_is_running too, not necessary anymore.
19371         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19372         pick up exit().
19373
19374 2004-11-11  Colin Walters  <walters@verbum.org>
19375
19376         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19377         Delete.
19378         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19379         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19380         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19381         This avoids a race condition that made it pretty easily
19382         possible to get two NetworkManagerInfo daemons running.
19383
19384 2004-11-11  Colin Walters  <walters@verbum.org>
19385         
19386         * src/NetworkManager.c (main): Use daemon(3).
19387
19388         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19389
19390         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19391
19392 2004-11-10 Dan Williams <dcbw@redhat.com>
19393
19394         Patches from j bootlab org
19395         * src/NetworkManagerDevice.c
19396                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19397                         whether the card has a link or not, some cards are slow
19398                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19399
19400         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19401                 - Disable the "Login" button on the passphrase dialog until the user
19402                         enters a valid passphrase or key
19403
19404         Patches from Tom Parker <palfrey tevp net>
19405         * src/backends/NetworkManagerDebian.c
19406                 - Add static IP support to the debian backend
19407
19408         * src/backends/interface_parser.[ch]
19409                 - Parse debian interface config files
19410
19411 2004-11-08 Dan Williams <dcbw@redhat.com>
19412
19413         * src/NetworkManagerDevice.c
19414                 - Some random fprintf->syslog conversions
19415                 - (nm_device_wireless_network_exists): double-check for network
19416                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19417
19418         * src/NetworkManagerWireless.[ch]
19419                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19420                         so that the binary->ascii conversion works (if unsigned, the bitshift
19421                         will fill with zeros, which is what's required).  Also mask bitshift
19422                         result with 0xF for futher assurance.
19423
19424 2004-11-06 Dan Williams <dcbw@redhat.com>
19425
19426         * src/NetworkManagerUtils.c
19427                 - (nm_get_wireless_driver_support_level): default to
19428                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19429                         flip this when changing from whitelist->blacklist of
19430                         wireless drivers
19431
19432 2004-11-05 Dan Williams <dcbw@redhat.com>
19433
19434         Patch from Robert Paskowitz:
19435         * src/backends/NetworkManagerGentoo.c
19436                 - Update static IP config code
19437
19438 2004-11-05 Dan Williams <dcbw@redhat.com>
19439
19440         * info-daemon/NetworkManagerInfoDbus.c
19441           src/NetworkManagerDbus.[ch]
19442           src/NetworkManagerDevice.c
19443                 - Keep track of the # of attempts to get the WEP key
19444                         from the user and pass that along to the info daemon
19445
19446 2004-11-05 Dan Williams <dcbw@redhat.com>
19447
19448         * src/NetworkManagerUtils.c
19449                 - Blacklist wireless cards rather than whitelisting them.
19450                 - Grab driver name from HAL rather than trying to find it
19451                         ourselves.
19452
19453 2004-11-03 Dan Williams <dcbw@redhat.com>
19454
19455         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19456                 - Disable OK button until valid data is entered
19457                         for encryption stuff too
19458
19459         * panel-applet/NMWirelessApplet.c
19460                 - Report card strength for current AP if the card
19461                         doesn't report strength data for scanned access
19462                         points
19463
19464         * src/NetworkManagerDevice.c
19465                 - Smooth out cards reported quality, Atmel card was
19466                         intermittently reporting no quality data but soon
19467                         recovers
19468
19469         * src/NetworkManagerWireless.c
19470                 - Better quality data percentage calculation.  Atmel
19471                         cards (mine at least) seem to report the quality
19472                         in percentage format already, so honor that
19473
19474         Patch from <j@bootlab.org>
19475         * NetworkManager.h
19476           info-daemon/NetworkManagerInfoPassphraseDialog.c
19477           info-daemon/passphrase.glade
19478           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19479           panel-applet/essid.glade
19480           src/NetworkManagerAP.c
19481           src/NetworkManagerDevice.c
19482           src/NetworkManagerWireless.[ch]
19483                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19484
19485 2004-11-03 Dan Williams <dcbw@redhat.com>
19486
19487         * src/NetworkManagerDevice.[ch]
19488                 - (nm_device_set_enc_key): Add parameter to set Authentication
19489                         Mode (Open System, Shared Key, or None).  We're still using
19490                         Shared Key for now though.
19491
19492 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19493
19494         * panel-applet/menu-info.c: change from bold text to light
19495         colored, may cause problems with some themes, i've tested a lot
19496         and they seem fine. 
19497
19498         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19499
19500 2004-11-01  Colin Walters  <walters@verbum.org>
19501
19502         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19503         (nm_wireless_128bit_key_from_passphrase): Add const.
19504
19505         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19506         (nm_ap_set_enc_key_source): Add const.
19507         
19508 2004-11-01  Colin Walters  <walters@verbum.org>
19509
19510         * .cvsignore: Update.
19511
19512 2004-10-29 Dan Williams <dcbw@redhat.com>
19513
19514         * src/NetworkManagerDevice.c
19515                 - (nm_device_wireless_network_exists): Actually use the encryption
19516                         key we got from the applet when attempting to find a wireless network
19517                 - Don't bring devices down so much since on some cards it triggers
19518                         firmware hotplugs each time
19519
19520         * src/NetworkManagerDbus.c
19521                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19522                         from the caller
19523
19524 2004-10-29 Dan Williams <dcbw@redhat.com>
19525
19526         * src/NetworkManager.c
19527                 - (nm_hal_device_property_modified): unlock a locked active
19528                         wireless device when a wired connection gets a link.
19529                         (Means you'll switch to wired whenever you plug in no
19530                         matter what).
19531
19532 2004-10-29 Dan Williams <dcbw@redhat.com>
19533
19534         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19535                 - New files, implement the "Other wireless network" dialog
19536
19537         * panel-applet/NMWirelessApplet.c
19538                 - Move "other wireless network" dialog to separate file
19539
19540         * panel-applet/NMWirelessAppletDbus.[ch]
19541                 - Take key and key_type paramaters for the set_device function
19542
19543         * panel-applet/essid.glade
19544                 - Add UI bits for encryption settings
19545
19546         * src/NetworkManagerDbus.c
19547                 - Retrieve key and key_type params for "setActiveDevice" method call
19548                         and pass them on
19549                 - unref AP returned from nm_device_get_best_ap() when needed
19550
19551         * src/NetworkManagerDevice.c
19552                 - (nm_device_get_best_ap): ref the ap before returning it
19553                 - unref AP returned from nm_device_get_best_ap() when needed
19554                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19555                         need to call nm_device_get_best_ap() here, it was pretty much
19556                         redundant anyway
19557                 - (AP_NEED_KEY): break second link check condition out into separate
19558                         function, and fix segfault when ap->enc_key_source was NULL
19559                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19560                         pass them along to nm_device_wireless_network_exists().  If the
19561                         network does exist, set the passed-in key+key_type on the AP
19562
19563         * src/NetworkManagerPolicy.c
19564                 - unref AP returned from nm_device_get_best_ap() when needed
19565
19566 2004-10-28 Dan Williams <dcbw@redhat.com>
19567
19568         * src/NetworkManagerUtils.c
19569                 - (nm_spawn_process): Fix a potential dereference of NULL
19570
19571         Patches from Peter Jones:
19572
19573         * src/NetworkManagerDevice.c
19574                 - (nm_device_test_wireless_extensions): Better check for
19575                         wireless devices
19576
19577         * src/NetworkManagerUtils.c
19578                 - (nm_spawn_process): Pass in valid stdout and stderr so
19579                         executed programs don't randomly SIGPIPE and fail
19580                 - (nm_get_wired_driver_support_level): quash hal warning
19581                         when checking for USB ethernet device
19582
19583 2004-10-27 Dan Williams <dcbw@redhat.com>
19584
19585         * info-daemon/NetworkManagerInfo.c
19586           info-daemon/NetworkManagerInfoDbus.c
19587           info-daemon/NetworkManagerInfoPassphraseDialog.c
19588           panel-applet/NMWirelessApplet.c
19589                 - Properly escape gconf keys
19590
19591         * src/NetworkManager.c
19592                 - remove unused variables
19593
19594         * src/NetworkManagerAP.c
19595                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19596                         refcount since it got set in nm_ap_new()
19597
19598         * src/NetworkManagerAPList.c
19599                 - (nm_ap_list_combine): Give up ownership of newly created
19600                         access points to the ap list, fixes memleak
19601
19602         * src/NetworkManagerDevice.c
19603                 - Remove cached_ap_list4 member since its not really needed
19604                 - (nm_device_wireless_network_exists): Try to get correct
19605                         encryption status of a found AP if its already in our
19606                         device list
19607                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19608                         memory allocs/deallocs a bit clearer and shorter-lived
19609
19610 2004-10-26 Ray Strode <rstrode@redhat.com>
19611
19612         * panel-applet/NMWirelessApplet.c:
19613           (custom_essid_item_selected):  kill some compiler
19614         warnings 
19615
19616 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19617
19618         * info-daemon/NetworkManagerInfoDbus.c
19619                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19620                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19621
19622 2004-10-23 Dan Williams <dcbw@redhat.com>
19623
19624         * info-daemon/NetworkManagerInfoDbus.c
19625                 - Trap the "DeviceActivationFailed" signal
19626
19627         * docs/NetworkManager DBUS API.txt
19628                 - Add "DeviceActivationFailed" signal
19629
19630         * panel-applet/NMWirelessAppletDbus.c
19631                 - Quash the "NetworkManager service not available" message
19632
19633         * src/NetworkManagerDbus.[ch]
19634                 - Add the "DeviceActivationFailed" signal
19635
19636         * src/NetworkManagerDevice.c
19637                 - Add support for activation_failed flag
19638                 - Fix deadlock where activation thread didn't clean itself up, making
19639                         main thread still believe it was alive forever (didn't reset activation
19640                         flags like activating, just_activated, etc when IP configuration
19641                         failed)
19642
19643         * src/NetworkManagerPolicy.c
19644                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19645                         for wireless networks, try to fall back to some other access point
19646
19647 2004-10-23 Dan Williams <dcbw@redhat.com>
19648
19649         * panel-applet/NMWirelessApplet.[ch]
19650                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19651                         to the applet object, so we can get tooltips
19652                 - Add tooltips (RH #136866)
19653
19654         * src/NetworkManagerDevice.c
19655                 - When trying to find a wireless network, try to connect with encryption
19656                         turned on first, so that we can more accurately detect whether or not
19657                         we need to use encryption for the actual association later on
19658
19659 2004-10-21 Dan Williams <dcbw@redhat.com>
19660
19661         * Add some support for telling NetworkManagerInfo to tell the user
19662                 that they are using a device that's not fully supported
19663
19664         * Fix some assertions in debug messages due to null access point args
19665
19666 2004-10-21 Dan Williams <dcbw@redhat.com>
19667
19668         * src/NetworkManagerDevice.c
19669                 - Don't try to activate/bring up/down unsupported
19670                         devices
19671
19672         * src/NetworkManagerUtils.c
19673                 - Fix case of PCI ID checks for driver support levels
19674
19675 2004-10-21 Dan Williams <dcbw@redhat.com>
19676
19677         * NetworkManager.h
19678                 - New file, now contains commonly used structures and bits
19679                         for the dbus API of NetworkManager
19680
19681         * Makefile.am
19682                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19683
19684         * src/NetworkManager.h
19685                 - Rename -> src/NetworkManagerMain.c
19686
19687         * Various fixups all around to use NetworkManager.h and new
19688                 src/NetworkManagerMain.h, remove redundant bits that got
19689                 moved into NetworkManager.h
19690
19691         * src/NetworkManagerDevice.[ch]
19692           src/NetworkManagerUtils.[ch]
19693           src/NetworkManagerPolicy.c
19694           src/NetworkManagerDbus.c
19695                 - Whitelist wireless drivers, and blacklist some wired
19696                         drivers.  Also blacklist cipsec and ethernet-over-usb
19697                         devices at this time (RH #135722, RH #135648)
19698                 - Don't leak unsupported devices out over dbus, or allow
19699                         them to be set as the active device.  Skip over them
19700                         during automatic device picking
19701
19702         * test/nmclienttest.c
19703                 - Clean up the dbus code a lot
19704
19705 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19706
19707         * configure.in: post release bump.
19708
19709 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19710
19711         * configure.in:
19712         * NEWS: Released NetworkManager-0.3.1
19713
19714 2004-10-18 Dan Williams <dcbw@redhat.com>
19715
19716         Patches from Thom May:
19717         * test/nmtestdevices.c
19718                 - Include <string.h>
19719         * src/backends/NetworkManagerDebian.c:
19720                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19721                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19722                         Move to using g_strdup_printf rather than arbitrary buffers
19723                 - (nm_system_device_setup_static_ip4_config) Implement function.
19724                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19725
19726 2004-10-17 Dan Williams <dcbw@redhat.com>
19727
19728         * info-daemon/NetworkManagerInfoDbus.c
19729                 - Display name of network in the "network not found" dialog
19730
19731         * panel-applet/NMWirelessAppletDbus.c
19732                 - (nmwa_dbus_call_nm_method): new function replaces all other
19733                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19734                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19735                         consolidated into nmwa_dbus_get_object_name()
19736
19737 2004-10-15 Dan Williams <dcbw@redhat.com>
19738
19739         * src/NetworkManagerDbus.c
19740           info-daemon/NetworkManagerInfoDbus.c
19741                 - Display an error dialog when the user tries to use an
19742                         "Other wireless network" that's not found.
19743
19744 2004-10-15 Dan Williams <dcbw@redhat.com>
19745
19746         * panel-applet/NMWirelessApplet.[ch]
19747                 - Fix up corner cases in applet state, making it
19748                         look more responsive.  Change state to "connecting" when
19749                         the user is forcing a device too.
19750
19751 2004-10-15 Dan Williams <dcbw@redhat.com>
19752
19753         * src/NetworkManagerAPList.c
19754                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19755
19756         * src/NetworkManagerDbus.c
19757                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19758
19759         * src/NetworkManagerDevice.c
19760                 - Disown APs after the device's AP list takes ownership
19761
19762 2004-10-15 Dan Williams <dcbw@redhat.com>
19763
19764         * panel-applet/NMWirelessApplet.c
19765                 - Update our applet state from the GUI thread
19766
19767         * panel-applet/NMWirelessAppletDbus.c
19768                 - Greatly simplify the locking to make the GUI thread
19769                         smoother.  Update a private copy of the device list
19770                         and active device and only when done talking to
19771                         NetworkManager turn it over to the GUI thread.
19772
19773 2004-10-15 Dan Williams <dcbw@redhat.com>
19774
19775         * src/NetworkManagerAP.[ch]
19776                 - Add "artificial" get/set functions, set for APs that
19777                         aren't discovered as part of a scan but instead
19778                         discovered by force-setting the ESSID
19779
19780         * src/NetworkManagerDevice.[ch]
19781                 - (nm_device_wireless_network_exists): pass back whether
19782                         or not the discovered AP was encrypted.  Also, try
19783                         falling back to encrypted mode on the card if unencrypted
19784                         association doesn't work
19785                 - (nm_device_find_and_use_essid): If the network requested
19786                         did in fact exists, but it wasn't in our scan list, add
19787                         an "artificial" entry for it.  Some Cisco cards don't
19788                         see non-ESSID-broadcasting APs in their scan but can still
19789                         associate with them if you know the ESSID, this works around
19790                         that behavior
19791                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19792                         to scan if the card is currently associated with that AP
19793
19794 2004-10-15 Dan Williams <dcbw@redhat.com>
19795
19796         ---- We have a website ----
19797         http://people.redhat.com/dcbw/NetworkManager
19798
19799         Patch from Robert Paskowitz:
19800         * src/NetworkManager.c
19801                 - (main): Make sure we are run as root
19802         * src/NetworkManagerDevice.c
19803                 - Fix type in ad-hoc setting function
19804
19805         Patch from Thom May:
19806         * src/backends/NetworkManagerDebian.c
19807                 - Make Debian backend compile again
19808
19809 2004-10-14 Dan Williams <dcbw@redhat.com>
19810
19811         * Tagged NetworkManager-0_3
19812
19813 2004-10-14 Dan Williams <dcbw@redhat.com>
19814
19815         Patch from Robert Paskowitz:
19816         * NEWS
19817           src/NetworkManagerDevice.[ch]
19818           src/backends/NetworkManagerDebian.c
19819           src/backends/NetworkManagerGentoo.c
19820           src/backends/NetworkManagerRedHat.c
19821           src/backends/NetworkManagerSlackware.c
19822                 - Add support for grabbing and using a broadcast address
19823                         from system config files
19824                 - Some Gentoo backend fixes for grabbing network config
19825                 - Fix LOG_WARN->LOG_WARNING
19826
19827 2004-10-14 Dan Williams <dcbw@redhat.com>
19828
19829         * NEWS: a few small fixes in the credits
19830
19831 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19832
19833         * NEWS: prep for release.
19834
19835 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19836
19837         * panel-applet/NMWirelessAppletDbus.c
19838         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19839
19840 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19841
19842         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19843         applet->state == APPLET_STATE_NO_NM animation.
19844
19845         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19846         set the text correctly.
19847
19848 2004-10-14 Dan Williams <dcbw@redhat.com>
19849
19850         * src/NetworkManager.c
19851                 - Only accept and manager 802.3 and 802.11 devices
19852
19853         * src/NetworkManagerDbus.[ch]
19854                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19855                         logic into NetworkManagerDevice.c
19856                 - (nm_dbus_network_status_from_data): new function
19857                 - (nm_dbus_signal_network_status_change): new function, unused for now
19858                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19859
19860         * src/NetworkManagerDevice.[ch]
19861                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19862                         a random ESSID.
19863
19864 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19865
19866         * info-daemon/NetworkManagerInfo.c 
19867                 - (main): Added session management
19868
19869 2004-10-14 Dan Williams <dcbw@redhat.com>
19870
19871         * panel-applet/NMWirelessAppletDbus.[ch]
19872                 - Expose network_device_[un]ref()
19873                 - Expose wireless_network_[un]ref()
19874                 - (wireless_network_new_with_essid): new function, create and return
19875                         a wireless network with a particular essid
19876
19877         * panel-applet/NMWirelessApplet.c
19878                 - Hook up the "other network" dialog to do something
19879
19880 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19881
19882         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19883         doesn't work yet, but it looks okay.
19884
19885         * panel-applet/icons/*png: Resize to 22x22 and install in the
19886         right place.
19887
19888 2004-10-13 Dan Williams <dcbw@redhat.com>
19889
19890         * panel-applet/NMWirelessApplet.c
19891                 - Add function to print out applet_state in a readable
19892                         manner
19893
19894         * src/NetworkManager.c
19895                 - (main): Don't segfault when nm_dbus_init() fails, we had
19896                         a left-over call to hal_shutdown() into which we passed NULL
19897
19898         * src/NetworkManagerAP.c
19899                 - (nm_ap_set_essid): Allow NULL essids
19900
19901         * src/NetworkManagerAPList.[ch]
19902                 - More use of nm_ap_list_[un]lock ()
19903                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19904                         network/essid, just return nothing.  Also skip over NULL
19905                         essid access points in the list when searching
19906                 - (nm_ap_list_get_ap_by_address): new function
19907                 - (nm_ap_list_update_network): set the access point's key source to
19908                         NULL when the key returned from NetworkManagerInfo is NULL or
19909                         of 0 length
19910                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19911                         copy timestamp over too
19912                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19913                         find the correct ESSID for a blank-essid access point by searching
19914                         through another list and matching access point MAC addresses
19915                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19916
19917         * src/NetworkManagerDbus.c
19918                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19919                         may specify.  This is mainly for access points that don't
19920                         broadcast their essid.  So if the user tells us to associate with
19921                         some random ESSID that's not in our access point list, we find
19922                         out if the access point does in fact exist (by attempting association
19923                         and then matching that access point's MAC address with the essid the
19924                         user gave us) and then we switch to it.
19925                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19926                         to the returned list of networks for the "getNetworks" method
19927
19928         * src/NetworkManagerDevice.[ch]
19929                 - Extra debugging info for link detection
19930                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19931                         based on MAC address
19932                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19933                 - (nm_device_wireless_network_exists): new function, find out whether
19934                         a random ESSID exists by attempting to associate with it
19935                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19936                         device list as long as they have an AP MAC address we can use.
19937                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19938                         devices too.  Lets the applet update more frequently.
19939
19940         * src/backends/NetworkManagerGentoo.c
19941                 - Patch from: Robert Paskowitz
19942                         - Update backend code for Gentoo
19943                         - Implement nm_system_device_update_config_info ()
19944
19945         * test/nmclienttest.c
19946                 - (set_network_device): new function, takes a command-line argument
19947                         and tells NetworkManager to use that wireless network
19948
19949 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19950
19951         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19952         if the notification icon crashes 5 times within 5 seconds of each respawn 
19953
19954 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19955
19956         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19957         g_print.
19958
19959 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19960
19961         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19962
19963         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19964         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19965         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19966         Change the name of the icons.
19967
19968         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19969         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19970         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19971         (nm_menu_wireless_expose_event): Really bad hack to get the style
19972         to draw in the right color.
19973
19974 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19975
19976         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19977         Notification if it crashes
19978
19979 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19980
19981         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19982         (nmwa_dbus_get_string): remove unused functions
19983
19984         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19985         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19986         remove unused functions
19987
19988         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19989
19990 2004-10-12 Dan Williams <dcbw@redhat.com>
19991
19992         * panel-applet/NMWirelessAppletDbus.c
19993                 - New functions:
19994                         wireless_network_new
19995                         wireless_network_copy
19996                         network_device_new
19997                         network_device_copy
19998
19999         * src/NetworkManagerDevice.[ch]
20000                 - New functions:
20001                         nm_device_set_mode_managed
20002                         nm_device_set_mode_adhoc
20003                 - Use these functions where appropriate
20004                 - When creating a new wireless device, force the card
20005                         to managed/Infrastructure mode as soon as possible
20006
20007 2004-10-12 Dan Williams <dcbw@redhat.com>
20008
20009         * src/NetworkManagerDevice.c
20010                 - Force wireless cards into Infrastructure mode before we use them
20011
20012 2004-10-12 Dan Williams <dcbw@redhat.com>
20013
20014         * TODO
20015                 - Remove bit about static IP address support
20016
20017         * src/NetworkManagerUtils.c
20018                 - (nm_spawn_process): Add some error reporting
20019
20020         * src/NetworkManagerDevice.c
20021                 - (nm_device_activation_configure_ip): hook up to the static config
20022                         routines in the backends
20023
20024         * src/backends/NetworkManagerRedHat.c
20025                 - (nm_system_device_update_config_info): use shvar.c routines to
20026                         parse the config file iformation, not our own
20027                 - (nm_system_device_setup_static_ip4_config): new function, based
20028                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20029                         with a static IP address and gateway
20030
20031         * src/backends/shvar.[ch]
20032                 - Parser (filched from initscripts package) for ifcfg-* files
20033
20034         * src/backends/NetworkManagerSystem.h
20035           src/backends/NetworkManagerGentoo.c
20036           src/backends/NetworkManagerDebian.c
20037           src/backends/NetworkManagerSlackware.c
20038                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20039
20040 2004-10-11 Dan Williams <dcbw@redhat.com>
20041
20042         * TODO
20043                 - Remove bit about more robust AP diffing since I just implemented it
20044
20045 2004-10-11 Dan Williams <dcbw@redhat.com>
20046
20047         * src/NetworkManagerAP.c
20048                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20049                         enough RAM to allocate new AP structures, but return NULL instead
20050
20051         * src/NetworkManagerAPList.[ch]
20052                 - (nm_ap_list_is_empty): new function
20053                 - (nm_ap_list_combine): new function, combine two access point lists
20054                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20055                         into another
20056
20057         * src/NetworkManagerDevice.[ch]
20058                 - Rename some functions to be clearer:
20059                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20060                         nm_device_just_activated     -> nm_device_is_just_activated
20061                         nm_device_activating         -> nm_device_is_activating
20062                         nm_device_now_scanning       -> nm_device_is_scanning
20063                 - Cache the last 4 scans so that the access point list is more stable.
20064                         We combine the lastest two scans and use that as the AP list,
20065                         and diff that combined list against the combination of the earliest
20066                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20067
20068 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20069
20070         * info-daemon/NWManagerInfo.h
20071                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20072
20073         * info-daemon/NWManagerInfoDbus.c
20074                 - (shutdown_callback): new function
20075                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20076                         if NetworkManager goes away.  Kill the timeout
20077                         if NetworkManager restarts before the 30 seconds
20078                         are up.
20079                 - (nmi_dbus_service_init): 
20080                         - call gtk_main_quit if NetworkManager is not running
20081                         - add filters to monitor dbus service creations and
20082                                 deletions
20083         
20084 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20085
20086         * panel-applet/NMWirelessApplet.c
20087                 - (nmwa_update_state): Hide notification icon if we are only
20088                         showing one wired card and no wireless interfaces 
20089                         (Red Hat Bug #134895)
20090
20091         * panel-applet/NMWirelessAppletDbus.c
20092                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20093
20094         * info-daemon/NWManagerInfo.c
20095                 - (main): Terminated the notification_icon_cmd array with a NULL
20096
20097 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20098
20099         * configure.in (ALL_LINGUAS): Added de (German).
20100
20101 2004-10-08 Dan Williams <dcbw@redaht.com>
20102
20103         * src/NetworkManagerDevice.c
20104                 - Be a bit more robust about link checking, ie make sure that
20105                         the WEP key we were given actually has some data in it
20106
20107 2004-10-08 Dan Williams <dcbw@redhat.com>
20108
20109         * info-daemon/NetworkManagerInfo.c (main):
20110                 - Initialize GError object to NULL
20111
20112 2004-10-08 Dan Williams <dcbw@redhat.com>
20113
20114         * panel-applet/NMWirelessAppletDbus.c
20115                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20116
20117 2004-10-08 Dan Williams <dcbw@redhat.com>
20118
20119         * info-daemon/NetworkManagerInfo.[ch]
20120           info-dameon/NetworkManagerInfoDbus.[ch]
20121           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20122                 - Preserve original label text in the passphrase dialog so that
20123                         it actually gets updated with the new network name the next
20124                         time around.  Previously, we were overwriting it so you'd get
20125                         the wrong network name to enter a key for
20126                 - Add a "Key Type" combo to the passphrase dialog, user selects
20127                         encryption key type now, type is stored in GConf too
20128                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20129
20130         * src/NetworkManagerAP.[ch]
20131                 - Remove all the encyption method magic.  It's now set by the user
20132                         and NetworkManager retrieves the type of encryption key from
20133                         NetworkManagerInfo
20134
20135         * src/NetworkManagerAPList.[ch]
20136           src/NetworkManagerDbus.[ch]
20137                 - Adjust to new way of setting encryption key and method
20138                 - Pull encryption method down from NMI along with key
20139
20140         * src/NetworkManagerDevice.[ch]
20141                 - Removed encryption method fallback magic as the method is now
20142                         determined by the user.  This greatly simplifies the connection
20143                         logic.
20144                 - More robust connection/link logic.  Besides removing the encryption
20145                         method fallback magic, check whether or not the card is receiving
20146                         invalidly encrypted packets, which usually indicates that we have
20147                         a bad WEP key set.
20148                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20149
20150         * test/nminfotest.c
20151                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20152
20153 2004-10-07 Dan Williams <dcbw@redhat.com>
20154
20155         * info-daemon/NetworkManagerInfo.conf
20156                 - Allow root user to run NMI too
20157
20158 2004-10-06 Dan Williams <dcbw@redhat.com>
20159
20160         * src/NetworkManagerDevice.[ch]
20161           src/NetworkManagerDbus.c
20162           doc/NetworkManager DBUS API.txt
20163                 - Add a new status tag "scanning", which is set when there
20164                         is no active network connection, but NetworkManager is
20165                         looking for an access point to associate with
20166
20167         * panel-applet/main.c
20168                 - Cast the applet appropriately for gtk_widget_show_all ()
20169
20170 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20171
20172         * panel-applet/eggtrayicon.[ch]:
20173         * panel-applet/main.c: Add missing file
20174
20175 2004-10-04 Dan Williams <dcbw@redhat.com>
20176
20177         * src/NetworkManagerDevice.[ch]
20178                 - Add a slightly more robust method of determining if the WEP key
20179                         is correct or not, by checking the WEP-discarded packet count
20180                         on the card
20181
20182         * info-daemon/NetworkManagerInfo.c
20183                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20184                         un-escape values we pull out rather than escaping them
20185
20186 2004-10-03  Marcel Telka  <marcel@telka.sk>
20187
20188         * configure.in (ALL_LINGUAS): Added sk.
20189
20190 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20191
20192         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20193         and feel.  We should be back to working, and have a good, clean
20194         look.
20195
20196 2004-09-30 Dan Williams <dcbw@redhat.com>
20197
20198         * info-daemon/NetworkManagerInfo.c
20199           info-daemon/NetworkManagerInfoDbus.c
20200           test/nminfotest.c
20201                 - Escape ESSIDs in gconf
20202
20203         * src/NetworkManagerDevice.c
20204                 - Fix pseudo-scanning to use netowrk list from info daemon
20205
20206 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20207
20208         * configure.in: Add a temporary --enable-notification-icon.  This
20209         will prolly go away.
20210
20211         * info-daemon/Makefile.am:
20212         * info-daemon/NetworkManagerInfo.c:
20213         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20214
20215         * panel-applet/Makefile.am:
20216         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20217         * panel-applet/NMWirelessApplet.h:
20218
20219 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20220
20221         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20222         before 'select custom ESSID'.
20223
20224         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20225         fully complete, but syncing in prep for merge.
20226
20227         * panel-applet/icons/*png: New images
20228
20229 2004-09-28 Dan Williams <dcbw@redhat.com>
20230
20231         * src/NetworkManager.c
20232           src/NetworkManagerDevice.c
20233           src/NetworkManagerPolicy.c
20234                 - Don't blow away an active wired connection on startup
20235
20236 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20237
20238         Changes from J5
20239         
20240         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20241
20242         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20243         syslog output
20244
20245 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20246
20247         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20248         have a wireless card.
20249
20250 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20251
20252         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20253         Also, get the right device strings.
20254
20255 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20256
20257         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20258         the logic to make this right.
20259
20260         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20261         devices so that wired networks are always first.
20262
20263 2004-09-22    <clarkbw@cvs.gnome.org>
20264
20265         * initscript/Debian/.cvsignore:
20266         * initscript/Slackware/.cvsignore:
20267         Added new cvsignores for Makefile, Makefile.in
20268         
20269         * test/.cvsignore:
20270         Added nmtestdevices
20271         
20272         * src/NetworkManagerDevice.c: 
20273         * src/NetworkManager.c: 
20274         Updated the wireless/wired HAL device strings from net.ethernet to
20275         net.80203 or net.80211 depending on wired or wireless respectively
20276         
20277         * examples/python/NetworkManager.py: 
20278         s/Quality/Strength/
20279
20280         * examples/python/systray/network_tray.py:
20281         Lots of little changes and fixes.  been rotting for a while so I
20282         figured I'd finally sync them all with CVS
20283
20284 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20285
20286         * configure.in: Add graphics
20287
20288         * panel-applet/Makefile.am: Add graphics
20289
20290         * panel-applet/icons/*: Add graphics
20291
20292         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20293         the icons fully lined up.
20294
20295         * panel-applet/menu-info.c: 
20296         * panel-applet/menu-info.h: Add another menu type.
20297
20298 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20299
20300         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20301
20302         * panel-applet/menu-item.[ch]: Wireless menu item.
20303
20304 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20305
20306         * info-daemon/NetworkManagerInfo.conf
20307                 - Created a more robust security policy for the DBus service
20308                         - everything is denied by default
20309                         - root can own and send to the service
20310                         - users logged in at the console can send to the service
20311
20312 2004-09-13  Dan Williams <dcbw@redhat.com>
20313
20314         * src/NetworkManagerDevice.c
20315                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20316                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20317                         the latter
20318
20319 2004-09-13  Dan Williams <dcbw@redhat.com>
20320
20321         * TODO: fix typo
20322
20323         * docs/NetworkManager DBUS API.txt
20324                 - Update for new signal strength changes
20325
20326         * panel-applet/NMWirelessApplet.c
20327                 - Make panel icon show strength of the current connection
20328                 - Cleanups and memleak fixes
20329
20330         * panel-applet/NMWirelessApplet.h
20331                 - Add data members for signal strength on devices and networks
20332
20333         * panel-applet/NMWirelessAppletDbus.c
20334                 - Free more DBusErrors
20335                 - Update for new signal strength changes
20336                 - Make devices and networks more like real objects, use ref/unref methods
20337                 - Actually unlock the mutex when updating the active device
20338
20339         * src/NetworkManagerAP.c
20340                 - Change AP functions and data members from "quality"->"strength"
20341
20342         * src/NetworkManagerDbus.c
20343                 - Kill "getMaxQuality" and "getQuality" methods
20344                 - Add "getStrength" methods for Networks and Devices
20345
20346         * src/NetworkManagerDevice.[ch]
20347                 - Add accessors for device strength
20348                 - Add functions to update strength for a device.  Note that not all drivers
20349                         actually support signal strength for scanned access points (Atmel drivers
20350                         being one)
20351                 - Calculate signal strength for each AP during scan
20352
20353         * src/NetworkManagerWireless.[ch]
20354                 - Add function to return signal strength % from a device and a raw quality struct
20355
20356         * test/nmclienttest.c
20357                 - Update for new signal strength changes
20358
20359 2004-09-11  Dan Williams <dcbw@redhat.com>
20360
20361         * src/NetworkManager.c
20362                 - Fix race condition between initscripts and NM on card insertion
20363                         which could cause a card to keep an IP address and routes around
20364                         even when it was not the active device
20365
20366         * src/NetworkManagerDbus.c
20367                 - Fix compile errors, free more DBusErrors
20368
20369 2004-09-11  Dan Williams <dcbw@redhat.com>
20370
20371         * docs/NetworkManager DBUS API.txt
20372                 - Add an explanation of NM's API
20373
20374         * src/NetworkManagerDbus.c
20375                 - Free some more DBusErrors if needed
20376
20377 2004-09-11  Dan Williams <dcbw@redhat.com>
20378
20379         * panel-applet/NMWirelessApplet.c
20380           panel-applet/NMWirelessAppletDbus.c
20381                 - Start using NetworkDevice/WirelessNetwork structures in more places
20382                 - Update for unified device/network forcing in NetworkManager
20383
20384         * src/NetworkManager.c
20385                 - some code consolidation
20386
20387         * src/NetworkManagerDbus.c
20388                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20389                         or two arguments:  the first is the NM ID of the device to switch to,
20390                         and the second (optional) argument is the ESSID of a wireless network
20391                         to use as well.
20392                 - Get rid of "setNetwork" method due to above change
20393
20394         * src/NetworkManagerDevice.c
20395                 - (nm_device_new): perform scan and update best AP on device creation
20396                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20397                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20398                         spin waiting for cancellation to finish before returning
20399
20400         * src/NetworkManagerPolicy.c
20401                 - Changes here clarify the situations in which a device switch occurs, and 
20402                         make sure to keep using a forced device and network if the user gives
20403                         us one
20404                 - Remove old unused code
20405
20406 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20407
20408         * configure.in: Added Danish (da) to ALL_LINGUAS.
20409
20410 2004-09-09  Dan Williams <dcbw@redhat.com>
20411
20412         * panel-applet/NMWirelessAppletDbus.c
20413                 - Pull fresh devices and networks from NM when wireless networks
20414                         change.  Provides faster feedback of a forced wireless network
20415
20416         * src/NetworkManagerDbus.c
20417                 - Return error when "getMaxQuality" is called on a wired device
20418                 - Make best_ap freezing actually work again, and signal cancellation
20419                         of activation if there's already a device activation when the user
20420                         freezes the best_ap
20421
20422         * src/NetworkManagerDevice.c
20423                 - Don't clear out the best_ap for wireless devices when the link goes
20424                         down, that's done elsewhere
20425                 - Kill any dhcp daemons when cancelling device activation since they
20426                         may be stuck waiting for a DHCP address, and since we're cancelling
20427                         activation we don't care about that anymore
20428
20429         * src/NetworkManagerPolicy.c
20430                 - Make sure to unref the device we ref earlier (we refed it to make sure
20431                         it stuck around during device activation and such)
20432                 - If we were going to change the best device, but its activating currently
20433                         (and therefore the change didn't occur due to the check earlier)
20434                         we mark the state changed to we come back to it later when device
20435                         activation has canceled and its no longer activating
20436
20437         * src/backends/NetworkManagerRedHat.c
20438                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20439
20440 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20441
20442         * info-daemon/passphrase.glade: 
20443         set passphrase input to activates_default : True
20444
20445         * examples/python/systray/network_tray.py
20446         (network_tray.sort_networks):
20447
20448         Added support for having wireless always scanning
20449
20450 2004-09-09  Dan Williams <dcbw@redhat.com>
20451
20452         NOTE: this commit changes the behavior of wireless devices in
20453         NetworkManager.  They are now up all the time, scanning all
20454         the time.  Only the active device has an IP address and routing
20455         information set up however.  Also, NetworkManager will no longer
20456         opportunistically switch wireless networks when a better one
20457         comes in range, it will remain associated with one wireless network
20458         until that one drops out.
20459
20460         * panel-applet/NMWirelessApplet.c
20461           panel-applet/NMWirelessAppletDbus.c
20462                 - List all wireless cards and their respective networks
20463
20464         * src/NMLoadModules
20465                 - Use full path to /sbin/ip
20466
20467         * src/NetworkManager.c
20468                 - Keep wireless devices up all the time so they can scan
20469
20470         * src/NetworkManagerDbus.c
20471                 - On a WirelessNetworkUpdate signal from NMI, don't update
20472                         the "best" AP
20473
20474         * src/NetworkManagerDevice.c
20475                 - (nm_device_set_link_active): clear out the best ap for
20476                         wireless devices when the link is set to FALSE
20477                 - Scan on all wireless cards, all the time
20478                 - (nm_device_activation_worker): split out the wireless card
20479                         link-waiting code to a separate function
20480                 - Keep wireless cards up even if device activation fails
20481                 - Don't update the "best" ap as much
20482
20483         * src/NetworkManagerPolicy.c
20484                 - Don't update the best ap when checking if its frozen,
20485                         let link checking clear out a frozen best ap for us
20486
20487         * src/NetworkManagerWireless.c
20488                 - Scan on all wireless cards, all the time
20489
20490 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20491
20492         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20493
20494 2004-09-09  Ankit Patel <ankit@redhat.com>
20495
20496         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20497
20498 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20499
20500         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20501
20502 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20503
20504         * examples/python/NetworkManager.py: 
20505         added CONNECTED, CONNECTING, and DISCONNECTED states
20506         added methods to return number of devices of a single type
20507
20508         * examples/python/systray/network_tray.py: 
20509         did some tweaks to get the menu looking near what it is supposed
20510         to look like.  Also did a Airo card hack to make it show the
20511         correct AP quality
20512
20513 2004-09-08  Dan Williams <dcbw@redhat.com>
20514
20515         * panel-applet/no-networkmanager.png
20516           panel-applet/Makefile.am
20517           panel-applet/NMWirelessApplet.c
20518                 - Add a "NetworkManager not running" icon and use it
20519                 - Use new consolidated GConf keys rather than Preferred/Trusted
20520
20521         * TODO: update
20522
20523         * info-daemon/NetworkManagerInfo.c
20524           info-daemon/NetworkManagerInfoDbus.[ch]
20525           info-daemon/NetworkManagerInfoPassphraseDialog.c
20526                 - There are now no longer two separate lists of wireless networks,
20527                         but one list where each network is "trusted" or not trusted
20528                 - Add a "getNetworkTrusted" dbus method
20529                 - "WirelessNetworkUpdate" signal now sent rather than
20530                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20531                 - Start freeing some dbus errors (not completed yet)
20532
20533         * info-daemon/passphrase.glade
20534                 - Remove the "don't show" hints for pager and taskbar
20535                 - Add a title since its going to be in the taskbar
20536
20537         * src/NetworkManager.[ch]
20538           src/NetworkManagerAPList.[ch]
20539                 - There are now no longer two separate lists of wireless networks,
20540                         but one list where each network is "trusted" or not trusted
20541
20542         * src/NetworkManagerAP.[ch]
20543                 - Add get/set "trusted" accessors and data bit
20544
20545         * src/NetworkManagerDbus.[ch]
20546                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20547                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20548
20549         * src/NetworkManagerDevice.[ch]
20550                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20551                 - (nm_device_new): Get device config from backend when initializing devices
20552                 - (nm_device_activation_worker): Split out device configuration on
20553                         activation to deal with static/dynamic IP differences, and try encryption
20554                         fallbacks on a device if the encryption method for the best AP is not good
20555                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20556                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20557
20558         * src/NetworkManagerWireless.c
20559                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20560
20561         * src/backends/NetworkManagerRedHat.c
20562           src/backends/NetworkManagerSystem.h
20563                 - (nm_system_device_update_config_info): Add function to get device configuration
20564                         from system data in ifcfg-* files
20565
20566         * src/backends/NetworkManagerDebian.c
20567           src/backends/NetworkManagerGentoo.c
20568           src/backends/NetworkManagerSlackware.c
20569                 - Add stub functions for getting device configuration
20570
20571 2004-09-07  Dan Williams <dcbw@redhat.com>
20572
20573         * src/backends/NetworkManagerRedhat.c
20574           src/backends/NetworkManagerSlackware.c
20575                 - Use full path to /sbin/ip everywhere
20576
20577 2004-09-07  Dan Williams <dcbw@redhat.com>
20578
20579         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20580
20581         * configure.in
20582           initscript/Makefile.am
20583           initscript/Slackware/Makfile.am
20584           initscript/Slackware/rc.networkmanager
20585           src/Makefile.am
20586           src/backends/NetworkManagerSlackware.c
20587                 - Add Slackware support
20588
20589 2004-09-07  Dan Williams <dcbw@redhat.com>
20590
20591         Patches below from:
20592                 <j@bootlab.org>
20593                 Mark Roach <mrroach@okmaybe.com>
20594                 Thom May <thom@debian.org>
20595
20596         * configure.in
20597           initscript/Debian/NetworkManager
20598           initscript/Debian/Makefile.am
20599                 - Initscript for Debian
20600
20601         * src/backends/NetworkManagerDebian.c
20602                 - Add missing system init function to allow compilation
20603                         on Debian
20604
20605 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20606
20607         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20608
20609 2004-09-03  Akagic Amila <bono@linux.org.ba>
20610
20611         * configure.in: Added 'bs' to ALL_LINGUAS.
20612
20613 2004-09-02  Colin Walters  <walters@verbum.org>
20614
20615         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20616         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20617         g_strdup_printf instead of arbitrarily sized buffers.
20618
20619 2004-09-01  Colin Walters  <walters@verbum.org>
20620
20621         * NetworkManager.pc.in: New file.
20622
20623         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20624
20625 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20626         
20627         * configure.in: Punjabi(pa) is added to po/.
20628
20629 2004-08-31  Dan Williams <dcbw@redhat.com>
20630
20631         * Remove 'debug' extern global from all files since we now
20632                 use syslog()
20633
20634         * src/NetworkManager.[ch]
20635                 - Break out routine that get the net.interface property from HAL,
20636                         removing that logic from nm_create_device_and_add_to_list()
20637                 - (nm_create_device_and_add_to_list): make this a bit more general so
20638                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20639                         the create of test devices.
20640                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20641                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20642                         which makes NetworkManager listen for dbus commands to create test
20643                         devices, which have no backing hardware.  Use when you're on a plane
20644                         for example, and/or forgot your wireless card at home.  Test devices
20645                         _cannot_ be created unless NM is started with --enable-test-devices.
20646
20647         * src/NetworkManagerDbus.[ch]
20648                 - New "getLinkActive" method for devices
20649                 - New "setLinkActive" method for devices (only works on test devices)
20650                 - New "createTestDevice" method on NetworkManager object to create a test
20651                         device of a specified type (ie wired, wireless).  UDI is created from
20652                         scratch, as is the interface name.  Only works when NM is started with
20653                         --enable-test-devices switch.
20654                 - New "removeTestDevice" method on NetworkManager object which removes a
20655                         test device.  Only works when NM is started with --enable-test-devices
20656
20657         * src/NetworkManagerDevice.[ch]
20658                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20659                         whether a device is a test device or not, and what its link status is.
20660                 - Deal with test devices in most functions.  For those that work directly on hardware
20661                         special-case test devices.
20662                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20663                         command-line.
20664                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20665                         checking to separate functions to facilitate test device link checking.
20666                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20667                         don't make a distinction between System Authentication and Encryption
20668                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20669                         on the card.  We don't deal with Shared Key auth yet.
20670                 - (nm_device_activation_worker): split the activation cancel check logic out into
20671                         a separate routine nm_device_activation_cancel_if_needed()
20672                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20673                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20674                         a list of fake access points that they can "see"
20675                 - (nm_device_is_test_device): return whether or not a device is a test device
20676
20677         * src/NetworkManagerPolicy.c
20678                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20679                         previously if you "locked"/forced NM to use a wireless device but then
20680                         selected a wireless network for NM to use, it would switch to a wired device.
20681                         So, if the active device is wireless and it has a "forced" best AP, use it
20682                         if the "forced" best AP is still valid
20683                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20684                         there were no usable network devices, or the last one was removed
20685
20686         * src/backends/NetworkManager*.c
20687                 - Deal with test devices, mostly just return success for operations like getting
20688                         a DHCP address
20689
20690         * test/nmtestdevices.c
20691                 - Test tool to create/remove/link-switch test devices
20692
20693 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20694
20695         * examples/python/NetworkManager.py: 
20696         added convience functions has_wired_device and has_wireless_device
20697
20698         * examples/python/systray/network_tray.py: 
20699         cleaned up a bunch of cruft, added support for listing wireless
20700         networks just like the real applet.  This is probably all I'm
20701         going to work on this applet from now on.
20702         TODO: add support for actually changing networks and devices
20703
20704         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20705         changed "nm.networks" into a dict from a list so I can store all
20706         the cool information about networks in there
20707
20708         * examples/python/systray/network_tray.py: 
20709         Added nice message when you try to run without running make first
20710
20711         * examples/python/NetworkManager.py: 
20712         Bug fixes to the code so we get all the device information
20713         that we need in get_device()
20714         
20715         * examples/python/NMTester.py: 
20716         Fixed _print_device_list to print_device_list
20717
20718 2004-08-29  Seth Nickell  <seth@gnome.org>
20719
20720         * configure.in:
20721
20722         Actually properly setup the Debian backend in configure.
20723         
20724 2004-08-29  Colin Walters  <walters@verbum.org>
20725
20726         * test/nminfotest.c: Include string.h and stdlib.h.
20727         (get_network_string_property, get_networks_of_type): Return NULL.
20728
20729         * test/nmclienttest.c (get_device_name, get_active_device): Return
20730         NULL.
20731
20732         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20733         use strlen, fgets always NULL-terminates the string.
20734
20735         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20736         dbus_message_get_member): Remove /* in comment.
20737
20738         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20739
20740         * src/NetworkManager.c (quit): Unused, delete.
20741         (nm_data_free): Cast arg to GFunc.
20742
20743         * panel-applet/NMWirelessAppletDbus.c: Need to include
20744         string.h, and dbus-glib-lowlevel.h (the latter is needed
20745         for dbus_connection_setup_with_g_main at present).
20746         (nmwa_dbus_update_wireless_network_list): Parenthesize
20747         assignment in conditional.
20748         (nmwa_dbus_worker): Return NULL.
20749
20750         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20751         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20752         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20753         (nmwa_populate_menu): Return NULL on failure, instead of just
20754         return;
20755
20756         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20757
20758         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20759         variables.
20760
20761         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20762         delete.
20763         
20764 2004-08-29  Colin Walters  <walters@verbum.org>
20765
20766         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20767         a GTimeVal instead of time_t.  This is easier to work with,
20768         since time_t may be a long or double, we don't know.
20769
20770         * src/NetworkManagerDbus.h: Update prototype.
20771         
20772         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20773         instead of time_t.
20774         (nm_ap_get_timestamp): Update to return GTimeVal.
20775         (nm_ap_set_timestamp): Update to take GTimeVal.
20776         
20777         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20778         to handle GTimeVal.
20779
20780         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20781         GTimeVal change.
20782         (nm_ap_list_print_members): Fix warnings in printf format.
20783
20784 2004-08-29  Colin Walters  <walters@verbum.org>
20785         
20786         * panel-applet/NMWirelessApplet.c: Include config.h.
20787
20788 2004-08-29  Colin Walters  <walters@verbum.org>
20789
20790         * configure.in: Generate config.h.
20791
20792         * configure.in: Dump dependency on OpenSSL; we can't
20793         use it since this package is GPL:
20794         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20795         Instead, check for libgcrypt, use it if available,
20796         otherwise use included MD5 code.
20797
20798         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20799         Suck in from gnome-keyring, munge a bit.
20800         
20801         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20802         gnome-keyring-md5.h gnome-keyring-md5.c.
20803         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20804
20805         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20806         libgcrypt or included gnome-keyring md5 bits.
20807         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20808
20809 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20810
20811         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20812
20813 2004-08-27  Bryan Clark  <bclark@redhat.com>
20814
20815         * examples/python/systray/Makefile: 
20816
20817         Updated the clean section
20818         
20819         * examples/python/systray/trayiconmodule.c: 
20820         * examples/python/systray/trayicon.override: 
20821         * examples/python/systray/network_tray.py: 
20822         * examples/python/systray/eggtrayicon.h: 
20823         * examples/python/systray/eggtrayicon.c: 
20824         * examples/python/systray/Makefile: 
20825         * examples/python/README: 
20826         * examples/python/NetworkManager.py: 
20827         * examples/python/NMTester.py: 
20828
20829         Initial commit of these python example files
20830
20831 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20832
20833         * panel-applet/NMWirelessApplet.c
20834                 - Make current device bold
20835                 - Show more user-friendly device name if we got one from hal
20836
20837         * panel-applet/NMWirelessAppletDbus.c
20838                 - Grab "info.product" key from hal for network devices
20839                 - Cache the current active device
20840
20841 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20842
20843         * configure.in: Added en_CA to ALL_LINGUAS.
20844
20845 2004-08-27  Christian Rose  <menthos@menthos.com>
20846
20847         * configure.in: Added "sv" to ALL_LINGUAS.
20848
20849 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20850
20851         * Tag NetworkManager-0.2
20852
20853 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20854
20855         * initscripts/Makefile.am
20856         * configure.in: Make pass distcheck
20857
20858         * po/ChangeLog: added
20859
20860 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20861
20862         * panel-applet/NMWirelessApplet.c
20863                 - Remove debugging code
20864                 - Enable device switching from menus
20865
20866         * panel-applet/NMWirelessAppletDbus.[ch]
20867                 - Method for asking NM to switch devices
20868
20869         * src/NetworkManagerDevice.c
20870                 - Set dev->activating earlier, avoids race between
20871                         the dbus signal of "DeviceActivating" and setting
20872                         dev->activating (which is what NM's "status" method call
20873                         looks at)
20874
20875 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20876
20877         * panel-applet/NMWirelessApplet.[ch]
20878                 - Rework menu code to add devices to menu, and to show
20879                         signal strength for each access point.  Code cleanups
20880                         too.
20881
20882         * panel-applet/NMWirelessAppletDbus.c
20883                 - Grab network devices from NetworkManager too
20884                 - Grab quality information from NM for wireless networks
20885
20886         * src/NetworkManagerDbus.[ch]
20887                 - Add dbus methods for getting the HAL UDI from a device and
20888                         for getting its base quality, if its wireless
20889                 - Consolidate some functions (wireless network notifications,
20890                         device notifications)
20891                 - Add method for requesting NM to use a particular device
20892
20893         * src/NetworkManager.c
20894                 - Change for function consolidations from NetworkManagerDbus.c
20895                 - Implement active device locking and user-requested devices
20896                         (ie, tell NM to use a particular device instead of the one
20897                         it autochose)
20898
20899         * src/NetworkManagerDevice.c
20900                 - Add method for getting the base quality of a device, if its
20901                         wireless
20902                 - Grab device base quailty info from iwlib during scans
20903
20904         * src/NetworkManagerPolicy.c
20905                 - Use a user-requested device rather than the auto-chosen device
20906                         if we are told to
20907
20908 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20909
20910         * Makefile.am: add po as a supdir
20911
20912         * autogen.sh: use gnome-autogen.sh
20913
20914         * initscript/Gentoo/.cvsignore:
20915         * initscript/RedHat/.cvsignore: Shut up cvs
20916
20917         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20918
20919         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20920         (nmwa_fill): Use gettext.
20921
20922         * configure.in: add gettext support
20923         * po/.cvsignore:
20924         * po/NetworkManager.pot:
20925         * po/POTFILES.in:
20926
20927 2004-08-26  Seth Nickell  <seth@gnome.org>
20928
20929         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20930         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20931         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20932         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20933         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20934         * panel-applet/NMWirelessApplet.h:
20935
20936         Use a menu bar instead of a button for the main clickable
20937         thingy.
20938         
20939 2004-08-25  Dan Williams <dcbw@redhat.com>
20940
20941         * src/NetworkManagerDevice.c
20942                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20943                         turning encryption off, because the Cisco driver doesn't associate
20944                         with WEP-enabled access points unless we are in "open"
20945
20946 2004-08-25  Dan Williams <dcbw@redhat.com>
20947
20948         * src/NetworkManagerWireless.c
20949                 - Don't try to defererence blank passphrases
20950
20951 2004-08-25  Dan Williams <dcbw@redhat.com>
20952
20953         * panel-applet/NMWirelessApplet.c
20954                 - Rebuild the menu whenever a user clicks
20955
20956 2004-08-25  Dan Williams <dcbw@redhat.com>
20957
20958         * panel-applet/NMWirelessApplet.c
20959                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20960                         when NM isn't around or when its not connected
20961
20962         * src/NetworkManagerDevice.c
20963                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20964                         canceled.
20965
20966 2004-08-25  Dan Williams <dcbw@redhat.com>
20967
20968         * panel-applet/NMWirelessAppletDbus.c
20969                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20970                         for getting encryption, and don't stop on "val" once we've gotten it
20971                         from NetworkManager.  Short form:  encryption should now show up.
20972
20973 2004-08-25  Dan Williams <dcbw@redhat.com>
20974
20975         * panel-applet/NMWirelessApplet.c
20976                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20977                         network to associate with
20978
20979 2004-08-25  Dan Williams <dcbw@redhat.com>
20980
20981         * panel-applet/*
20982                 - Rework the panel applet to do all DBUS communication in a separate
20983                         thread
20984
20985 2004-08-25  Dan Williams <dcbw@redhat.com>
20986
20987         * info-daemon/NetworkManagerInfo.[ch]
20988                 - Remove "get_next_priority" function
20989
20990         * info-daemon/NetworkManagerInfoDbus.[ch]
20991                 - Convert "priority" functions to "timestamp"
20992
20993 2004-08-25  Dan Williams <dcbw@redhat.com>
20994
20995         * src/NetworkManagerAP.[ch]
20996                 - Add a "enc_method_good" member and accessors to an Access Point
20997                         to signal when we've found the correct encryption method
20998                         for an access point
20999                 - Add a "timestamp" member and accessors, remove "priority" member
21000                         and accessors (use timestamps instead)
21001                 - Rename "wep_key"->"enc_key"
21002                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21003                         for a specified encryption method using the access points
21004                         source encryption key/passphrase
21005
21006         * src/NetworkManagerAPList.c
21007                 - When updating a network with dbus, grab timestamp now instead of
21008                         priority
21009
21010         * src/NetworkManagerDBus.[ch]
21011                 - Add signal for "DeviceActivating"
21012                 - Switch priority->timestamp
21013
21014         * src/NetworkManagerDevice.c
21015                 - Change references of "wep_key" -> "enc_key" or "key"
21016                 - Signal DeviceActivating when starting activation
21017                 - When activating a wireless device, if the access point we are connecting
21018                         to is encrypted, and we have a source key, try to generate a mangled
21019                         key and use that (ie, generate real WEP key from a passphrase)
21020                 - Rework device activation to fallback to other encryption methods if
21021                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21022                         first, then if that doesn't work fall back to direct hex key).
21023                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21024                         priority.  We now prefer the latest access point used, rather than using
21025                         a priority scheme
21026                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21027                         points we've just discovered, and merge in correct info from the global
21028                         access point lists
21029
21030 2004-08-25  Seth Nickell  <seth@gnome.org>
21031
21032         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21033         Debian support.
21034         
21035         * src/Makefile.am:
21036         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21037         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21038         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21039         (nm_system_delete_default_route),
21040         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21041         (nm_system_load_device_modules):
21042
21043 2004-08-24  Dan Willemsen <dan@willemsen.us>
21044
21045         * src/NetworkManager.c
21046           src/backends/NetworkManagerGentoo.c
21047           src/backends/NetworkManagerRedHat.c
21048           src/backends/NetworkManagerSystem.h
21049                 - Implement preliminary Gentoo support, adding a
21050                         nm_system_init function to the backend specification
21051
21052         * configure.in
21053                 - Distribution auto-detection, lowercase any user-fed
21054                         distribution names
21055
21056         * initscript/.cvsignore
21057           initscript/Makefile.am
21058           initscript/RedHat/Makefile.am
21059           initscript/RedHat/NetworkManager
21060           initscript/Gentoo/Makefile.am
21061           initscript/Gentoo/NetworkManager
21062                 - Refactored initscript code separately for each
21063                         distribution
21064
21065 2004-08-23  Dan Williams <dcbw@redhat.com>
21066
21067         * configure.in
21068           src/Makefile.am
21069           src/NetworkManagerDevice.c
21070           src/NetworkManager.c
21071           src/NetworkManagerUtils.[ch]
21072           src/backends/NetworkManagerSystem.h
21073           src/backends/NetworkManagerRedHat.c
21074           src/backends/NetworkManagerGentoo.c
21075                 - Refactor system-specific code into separate backends for
21076                         each distribution
21077
21078 2004-08-23  Dan Willemsen <dan@willemsen.us>
21079
21080         * dispatcher-daemon/NetworkManagerDispatcher.c
21081           info-daemon/NetworkManagerInfo.[ch]
21082           info-daemon/NetworkManagerInfoDbus.c
21083           info-daemon/NetworkManagerInfoPassphraseDialog.c
21084           src/NetworkManager.c
21085           src/NetworkManagerAP.c
21086           src/NetworkManagerAPList.c
21087           src/NetworkManagerDbus.c
21088           src/NetworkManagerDevice.c
21089           src/NetworkManagerPolicy.c
21090           src/NetworkManagerUtils.[ch]
21091           src/NetworkManagerWireless.c
21092                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21093
21094         * src/NetworkManager.c
21095                 - Fixed usage wording for --no-daemon
21096
21097 2004-08-23  Dan Williams <dcbw@redhat.com>
21098
21099         * panel-applet/NMWirelessApplet.c
21100                 - Update our state every second to get more responsive panel icon
21101                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21102                         was causing our marching ants status blips to never move when
21103                         looking for a wireless network
21104
21105         * src/NetworkManagerDevice.c
21106                 - (nm_device_activation_begin): return if activation has already begun
21107                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21108                         trusted/preferred network into the device's access point when the
21109                         scan list is processed
21110
21111 2004-08-23  Dan Williams <dcbw@redhat.com>
21112
21113         * initscript/NetworkManager
21114                 - Use NMLaunchHelper rather than sleeping
21115
21116         * initscript/NMLaunchHelper.c
21117           Makefile.am
21118                 - Add helper program that exits only when NM activates a device,
21119                         or 10 seconds have passed, whichever happens first.  This
21120                         stops the boot processes until we have a network connection,
21121                         which NM can't do because it daemonizes and brings the connection
21122                         up in the background.  Allows stuff like NFS to not die.
21123
21124 2004-08-20  Dan Williams <dcbw@redhat.com>
21125
21126         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21127                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21128                         for a network, set the essid as well since it may not exist yet
21129                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21130                         since WEP keys/passphrases are long and prone to entry-error
21131
21132         * panel-applet/Makefile.am
21133           panel-applet/wired.png
21134                 - Add (pulled from system-config-network temporarily)
21135
21136         * panel-applet/NMWirelessApplet.[ch]
21137                 - Show wired picture when a wired connection is used
21138                 - Rename wireless icon enums, adding WIRELESS
21139
21140         * src/NetworkManagerDevice.c
21141                 - (nm_device_activate_wireless): unset encryption before bringing
21142                         down the card and setting the essid
21143                 - (nm_device_activatin_worker): request a key from the user if the
21144                         AP we are connecting to is encrypted but we don't have a key
21145                         for it yet
21146                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21147                         strcmp() that prevented a user-entered key from actually getting
21148                         used
21149
21150 2004-08-16  Dan Williams <dcbw@redhat.com>
21151
21152         * initscript/NetworkManager
21153                 - Check for /sbin/ip
21154                 - Do sysctl magic that network service does
21155                 - sleep 4s after start to allow network time to come up [hack]
21156
21157         * src/Makefile.am
21158           src/NMLoadModules
21159                 - Load all network device kernel modules (hal doesn't know devices
21160                         are ethernet until the module is loaded, and therefore we don't know)
21161
21162         * src/NetworkManager.c
21163                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21164                         network devices, and bring up the loopback device explicitly
21165
21166         * src/NetworkManagerUtils.[ch]
21167                 - (nm_enable_loopback): new function
21168
21169 2004-08-13  Dan Williams <dcbw@redhat.com>
21170
21171         * configure.in
21172           panel-applet/Makefile.am
21173                 - Fix up cleanfiles and server_DATA/server_in_files
21174
21175         * README
21176                 - Update with some comments on theory of operation
21177
21178         * CONTRIBUTING
21179           Makefile.am
21180                 - Add CONTRIBUTING
21181
21182 2004-08-12  Dan Williams <dcbw@redhat.com>
21183
21184         * info-daemon/passphrase.glade
21185                 - Set window title to " "
21186
21187         * panel-applet/Makefile.am
21188           panel-applet/keyring.png
21189                 - Deliver to correct place
21190
21191         * panel-applet/NMWirelessApplet.[ch]
21192                 - Add comments
21193                 - Remove applet->have_active_device as its no longer used
21194                 - (nmwa_load_theme): load keyring.png too
21195                 - (error_dialog): remove
21196                 - (show_warning_dialog): subsume functionality of error dialog too
21197                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21198                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21199                         the networks menu
21200                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21201                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21202                         and when we get broadcasts of changed wireless access points only, not when the
21203                         user clicks on the button to display the menu (too long of a wait)
21204                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21205                         networks that are encrypted
21206                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21207                         menu item with g_object_set_data()
21208
21209         * panel-applet/NMWirelessAppletDbus.[ch]
21210                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21211                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21212                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21213                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21214                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21215                         activation/deactivation signals and rebuild the menu when they happen
21216
21217         * src/NetworkManager.c
21218                 - (main): use new nm_spawn_process() rather than system()
21219
21220         * src/NetworkManagerDbus.c
21221                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21222                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21223                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21224                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21225                         to freeze the best_ap.
21226
21227         * src/NetworkManagerDevice.[ch]
21228                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21229                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21230                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21231                         ap list
21232
21233         * src/NetworkManagerUtils.[ch]
21234                 - (nm_spawn_process): add replacement for system() usage
21235
21236 2004-08-11  Dan Williams <dcbw@redhat.com>
21237
21238         * panel-applet/NMWirelessApplet.[ch]
21239                 - Fix up copyright and credits to include Bastien and Eskil,
21240                         who created the gnome-applets wireless applet, from whose
21241                         skeleton this one was created
21242                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21243                         pixmap to draw is computed during nmwa_update_state()
21244                 - Applet now shows itself all the time due to panel packing issues
21245                         which caused the applet to previously never come back after hiding.
21246                         When a wired device is the active device, the applet shows "not connected"
21247
21248         * panel-applet/NMWirelessAppletDbus.[ch]
21249                 - Clean up error messages and show what function they are from
21250                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21251                 - Add new device type getters, and a status getter
21252
21253         * src/NetworkManagerDbus.c
21254                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21255                         network is actually in the device's ap list
21256                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21257
21258         * src/NetworkManagerDevice.c
21259                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21260                         card
21261
21262         * test/nmclienttest.c
21263                 - Report status of NetworkManager too
21264
21265 2004-08-11  Dan Williams <dcbw@redhat.com>
21266
21267         * info-daemon/NetworkManagerInfo.c:
21268                 - (main): clean up Seth's code style
21269
21270         * info-daemon/NetworkManagerInfoDbus.c:
21271                 - Use the more aptly-named path/service/interface constants from NetworkManager
21272                 - Don't return empty strings ("") as object paths ever, instead return errors
21273
21274         * panel-applet/NMWirelessApplet.c:
21275                 - Clean up Seth's code style
21276
21277         * src/NetworkManager.[ch]
21278                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21279                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21280
21281         * src/NetworkManagerAPList.[ch]
21282                 - Move Iter struct right above the iter functions to preserve opacity
21283                 - (nm_ap_list_remove_ap): implement
21284                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21285                         remove AP if NetworkManagerInfo doesn't know anything about it
21286                 - (nm_ap_list_diff): user NMAPList iterators
21287                 - (nm_ap_list_print_members): implement debugging function
21288
21289         * src/NetworkManagerDbus.[ch]
21290                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21291                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21292                         and move the actual key setting stuff into NetworkManagerDevice.c
21293                 - (nm_dbus_get_network_priority): return -1 now on errors
21294                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21295                         get lost, and force the active device to update its "best" ap when AP lists change
21296                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21297                         method call due to pending_device member removal
21298
21299         * src/NetworkManagerDevice.[ch]
21300                 - Move NMDevice structure to the top
21301                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21302                 - Remove Pending Action stuff from everywhere
21303                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21304                         activation for us.  This thread blocks until all conditions for activation have
21305                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21306                         then setup up the interface and runs dhclient.  We have to do this because there
21307                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21308                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21309                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21310                         can tell nm_device_activation_worker() that we've got a key
21311                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21312                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21313                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21314                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21315
21316         * src/NetworkManagerPolicy.c
21317                 - Remove anything to do with pending_device
21318                 - Adjust device activation to deal with activation-in-worker-thread
21319
21320         * src/NetworkManagerUtils.c
21321                 - Clean up locking debugging a bit
21322
21323         * src/NetworkManagerWireless.[ch]
21324                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21325                         was badly named and is better as a device function
21326
21327         * panel-applet/.cvsignore: add
21328
21329 2004-08-09  Seth Nickell  <seth@gnome.org>
21330
21331         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21332         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21333         (nmwa_new):
21334         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21335
21336         Don't load the menus until clicked on (also removes a call outside
21337         normal code paths at first load).
21338
21339         Hide applet when NM is not present.
21340         
21341         Improve printf debugging stuff.
21342         
21343 2004-08-09  Dan Williams <dcbw@redhat.com>
21344
21345         * dispatcher-daemon/NetworkManagerDispatcher.c:
21346                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21347                 - Use constants for NetworkManager interface, service, and path
21348
21349 2004-08-09  Dan Williams <dcbw@redhat.com>
21350
21351         * src/NetworkManagerDbus.c:
21352                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21353                         instead return an error message
21354                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21355                         on a wired device.  Also never return an empty object path, instead return an error message
21356
21357 2004-08-06  Seth Nickell  <seth@gnome.org>
21358
21359         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21360
21361         Check the error code when getting a connection.
21362         
21363         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21364
21365         Check if the NM service exists when initializing (rather than
21366         assuming it does not).
21367         
21368         * src/NetworkManagerDbus.c: (nm_dbus_init):
21369
21370         Don't acquire the well-known service name until we have
21371         registered object/path handlers and can actually receive
21372         calls.
21373         
21374 2004-08-06  Dan Williams <dcbw@redhat.com>
21375
21376         * panel-applet/*
21377                 - Add panel applet
21378
21379         * src/NetworkManagerPolicy.c
21380           src/NetworkManager.c
21381                 - Get access point lists from NetworkManagerInfo on-demand,
21382                         and look for ServiceCreate/ServiceDeleted signals to see when
21383                         we should query NMI for lists
21384         * src/NetworkManagerAPList.c
21385                 - Make sure to init the list's mutex
21386                 - Convert traversals of the list over to the list iter functions
21387
21388         * src/NetworkManagerDbus.[ch]
21389                 - Use more aptly-named path/service/interface constants
21390                 - Treat both active and pending devices the same for "getActiveDevice"
21391                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21392
21393         * src/NetworkManagerDevice.c
21394                 - Honor "ignored" network list when picking best ap to use
21395
21396 2004-08-06  Seth Nickell  <seth@gnome.org>
21397
21398         * aclocal.m4:
21399
21400         Autogenerated, remove from CVS.
21401         
21402         * autogen.sh:
21403
21404         Don't hardcode automake version.
21405         
21406         * configure.in:
21407         * info-daemon/Makefile.am:
21408         * info-daemon/NetworkManagerInfo.c: (main):
21409
21410         Use GnomeProgram et al. for doing session management.
21411         Use popt stuff for argument parsing rather than doing
21412         it manugally.
21413         
21414 2004-08-05  Dan Williams <dcbw@redhat.com>
21415
21416         * test/nminfotest.c
21417                 - Update to new NMI dbus API, check different network types
21418
21419         * info-daemon/NetworkManagerInfoDbus.c
21420                 - Update to new NM dbus API, ie network type sent in query message
21421
21422 2004-08-05  Dan Williams <dcbw@redhat.com>
21423
21424         * An assload of changes
21425
21426 2004-08-02  Dan Williams <dcbw@redhat.com>
21427
21428         * TODO
21429                 - new task: proper logging support
21430
21431         * info-daemon/NetworkManagerInfo.c
21432                 - Correct spelling of "canceled"
21433                 - Correct casting of objects for g_signal_connect()
21434
21435         * info-daemon/NetworkManagerInfoDbus.c
21436                 - Add defines for NetworkManager namespace and object path, and use them
21437                 - Add filter function to trap new signals from NetworkManager:
21438                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21439
21440         * info-daemon/passphrase.glade
21441                 - Change name of "ok" button to "Login to Network..."
21442                 - Mark invisible
21443
21444         * src/NetworkManager.c
21445                 - Code and debug message cleanups
21446                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21447                 - (nm_add_initial_devices) Check returned string array of devices
21448                         and don't try to add devices if array is NULL
21449                 - (main) Initialize libhal a bit later, make code a bit clearer
21450
21451         * src/NetworkManagerAP.[ch]
21452                 - New accessor and data member "matched": used to speed up AP list
21453                         diffing
21454                 - New accessor and data member "enc_method": will be used during key
21455                         fallback to cache which passphrase->key conversion actually works
21456                         so we don't have to do it every time
21457
21458         * src/NetworkManagerAPList.[ch]
21459                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21460                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21461                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21462                         dbus in response to those differences
21463
21464         * src/NetworkManagerDbus.[ch]
21465                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21466                         make an object path for that access point (NOTE that we don't yet check to
21467                         make sure that access point is actually in the device's AP list yet)
21468                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21469                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21470                         New: signal appearance/disappearance of wireless networks
21471                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21472                         key entry
21473
21474         * src/NetworkManagerDevice.[ch]
21475                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21476                 - (nm_device_ap_list_get) New: return the AP list (static function)
21477                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21478                         new one resulting from the scan with the old one
21479
21480         * src/NetworkManagerWireless.c
21481                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21482
21483         * test/nminfotest.c
21484                 - #define object paths and namespaces and use the #defines rather than static strings
21485                 - Test out user-key functionality of NetworkManagerInfo too
21486
21487 2004-07-29  Dan Williams <dcbw@redhat.com>
21488
21489         * info-daemon/NetworkManagerInfoDbus.c
21490           src/NetworkManagerDbus.c
21491                 - Update to current DBus (ie don't use decomposed paths when registering
21492                         object paths/fallbacks)
21493
21494 2004-07-27  Dan Williams <dcbw@redhat.com>
21495
21496         * Remove various Makefile.in files
21497
21498         * TODO
21499                 - Add some more items
21500
21501         * configure.in
21502                 - Add checks for OpenSSL/md5 headers and libs
21503
21504         * src/Makefile.am
21505                 - Use OpenSSL CFLAGS
21506
21507         * src/NetworkManagerAP.[ch]
21508                 - Remove 'stamp' functions, replace with 'invalid' functions
21509                         to support user cancelling WEP key entry
21510
21511         * src/NetworkManagerDbus.c
21512                 - Remove 'stamp' return functions
21513                 - Treat returned user key as a passphrase and convert to a WEP key,
21514                         but don't actually use the WEP key yet.  We use the returned user
21515                         key as a hexadecimal WEP key until we can figure out a UI for
21516                         passphrase-vs-hex key
21517
21518         * src/NetworkManagerWireless.[ch]
21519                 - Add passphrase-to-128bit-key function
21520
21521 2004-07-27  Dan Williams <dcbw@redhat.com>
21522
21523         * TODO
21524                 - Add a couple of items
21525
21526 2004-07-27  Dan Williams <dcbw@redhat.com>
21527
21528         * info-daemon/NetworkManagerInfo.c
21529                 - Update allowed network's GConf key when user enters a WEP key explicitly
21530
21531         * info-daemon/NetworkManagerDbus.c
21532                 - Fix some comments
21533                 - nmi_dbus_get_allowed_networks(): kill warning
21534
21535 2004-07-27  Dan Williams <dcbw@redhat.com>
21536
21537         * initscript/Makefile.in
21538                 - Remove
21539
21540         * initscript/Makefile.am
21541                 - Add correct rules to install the init.d initscript
21542
21543         * info-daemon/NetworkManagerInfoDbus.c
21544                 - Remove debug fprintf
21545
21546         * src/NetworkManagerDbus.[ch]
21547                 - Remove debug fprintfs
21548                 - Add macros for NetworkManagerInfo object path/namespace
21549                 - Use said macros instead of constant strings
21550
21551 2004-07-27  Dan Williams <dcbw@redhat.com>
21552
21553         * initscript/.cvsignore
21554                 - Add
21555
21556         * info-daemon/Makefile.am
21557                 - Install .glade files and keyring.png
21558                 - Fix stupid omission of a \ that caused half the flags not to be
21559                         passed to gcc
21560
21561         * info-daemon/NetworkManagerInfo.c
21562                 - gtk_signal_connect->g_signal_connect
21563                 - Alert NetworkManagerInfo to new glade file location
21564
21565 2004-07-27  Dan Williams <dcbw@redhat.com>
21566
21567         * test/nmclienttest.c
21568           test/nminfotest.c
21569                 - Add missing <dbus/dbus.h> headers
21570                 - Add GPL message at top
21571
21572 2004-07-27  Dan Williams <dcbw@redhat.com>
21573
21574         * src/NetworkManagerAPList.[ch]
21575           src/Makefile.am
21576                 - Add.  Deal with allowed network list additions, deletions, and updates
21577
21578         * dispatcher-daemon/NetworkManagerDispatcher.c
21579                 - Add missing <dbus/dbus.h> header
21580
21581         * info-daemon/NetworkManagerInfo.[ch]
21582                 - Add missing <dbus/dbus.h> header
21583                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21584                         network change
21585                 - Better error checking
21586
21587         * info-daemon/NetworkManagerInfoDbus.[ch]
21588                 - Add missing <dbus/dbus.h> header
21589                 - Convert to using dbus_message_append_args/dbus_message_get_args
21590                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21591                         that an allowed network changed.  We don't want to signal on individual
21592                         keys _inside_ an allowed network really, just want NM to query the info
21593                         daemon for updated info on all keys.
21594                 - Better error checking
21595
21596         * src/NetworkManager.[ch]
21597                 - Add missing <dbus/dbus.h> header
21598                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21599                 - Zero out NMData structure on free
21600                 - No longer use a thread for allowed_ap_list updating, instead its now done
21601                         through dbus queries against NetworkManagerInfo
21602                 - Populate allowed_ap_list initially before adding existing network devices
21603                         to the device list, so wireless devices can get their "best" AP
21604
21605         * src/NetworkManagerDbus.[ch]
21606                 - Convert to using dbus_message_append_args/dbus_message_get_args
21607                 - Better error checking
21608                 - Implement Allowed Network info functions to request allowed network
21609                         info from NetworkManagerInfo
21610                 - Implement the filter function to process signals from NetworkManagerInfo
21611                         about changing allowed networks
21612
21613         * src/NetworkManagerDevice.c
21614                 - Fix file descriptor leak in nm_device_update_ip4_address()
21615
21616 2004-07-27  Dan Williams <dcbw@redhat.com>
21617
21618         * .cvsignore
21619           src/.cvsignore
21620           test/.cvsignore
21621           dispatcher-daemon/.cvsignore
21622           info-daemon/.cvsignore
21623                 - Add .cvsignore files to reduce noise when diffing
21624
21625 2004-07-24  Dan Williams <dcbw@redhat.com>
21626
21627         * src/NetworkManager.[ch]
21628           src/NetworkManagerDbus.[ch]
21629           src/NetworkManagerDevice.[ch]
21630           src/NetworkManagerPolicy.c
21631           src/NetworkManagerWireless.[ch]
21632                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21633                 - Pass the NMData application data structure through all calls
21634                         that need it so we can get rid of nm_get_global_data()
21635                 - Change deallocation of the allowed_ap_list GSList in preparation
21636                         for not completely clearing it every time we get an update,
21637                         but instead getting incremental updates via GConf/dbus
21638
21639 2004-07-22  Dan Williams <dcbw@redhat.com>
21640
21641         * configure.in
21642                 - Add checks for GConf libs & headers & flags
21643
21644         * info-daemon/Makefile.am
21645                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21646
21647         * info-daemon/NetworkManagerInfo.[ch]
21648                 - Don't use gquarks for data storage, just use normal data storage
21649                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21650
21651         * info-daemon/NetworkManagerDbus.[ch]
21652                 - Add method call for getting allowed networks
21653                 - Add method calls for getting an allowed network's essid, priority, and key
21654                 - Hook the method calls up to GConf
21655                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21656                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21657                 
21658         * src/NetworkManagerDbus.[ch]
21659                 - Switch for enumeration of networks to using essid instead
21660
21661         * test/Makefile.am
21662           test/nminfotest.c
21663                 - Add test program for NetworkManagerInfo
21664
21665 2004-07-19  Dan Williams <dcbw@redhat.com>
21666
21667         * src/NetworkManagerDbus.c
21668                 - Switch from indexed device paths to names.  Less code, more efficient.
21669                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21670
21671 2004-07-19  Dan Williams <dcbw@redhat.com>
21672
21673         * dispatcher-daemon/NetworkManagerDispatcher.c
21674                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21675
21676 2004-07-19  Dan Williams <dcbw@redhat.com>
21677
21678         * Makefile.am
21679                 - Add info-daemon directory
21680
21681         * configure.in
21682                 - Check for glade libs and headers
21683                 - Add info-daemon directory
21684
21685         * src/NetworkManagerAP.c
21686                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21687                         copied over to the new AP.
21688
21689         * src/NetworkManagerDbus.c
21690           src/NetworkManagerDbus.h
21691                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21692                 - Remove nm_dbus_signal_need_key_for_network()
21693                 - Add disabled code for asynchronous user wep key callbacks
21694                 - Add functions for getting, setting, and cancelling user key operations
21695                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21696                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21697
21698         * src/NetworkManagerDevice.c
21699           src/NetworkManagerDevice.h
21700                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21701                         logic is in device activation now
21702                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21703                         key is wrong) trigger get-user-key pending action
21704                 - Implement get-user-key pending action stuff, tie to dbus messages
21705                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21706                 - Add nm_device_ap_list_get_ap_by_essid()
21707                 - Instead of copying "best" access points, ref them instead so that the key we set
21708                         sticks around
21709
21710         * src/NetworkManagerPolicy.c
21711                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21712                 - Don't cancel pending actions on a device if its the same device as last iteration
21713                 - Only promote pending_device->active_device if activation was successfull
21714
21715         * src/Makefile.am
21716                 - Rename nmclienttest->nmtest
21717
21718         * info-daemon/Makefile.am
21719           info-daemon/NetworkManagerInfo.c
21720           info-daemon/NetworkManagerInfo.h
21721           info-daemon/NetworkManagerInfoDbus.c
21722           info-daemon/NetworkManagerInfoDbus.h
21723           info-daemon/passphrase.glade
21724           info-daemon/NetworkManagerInfo.conf
21725           info-daemon/keyring.png
21726                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21727                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21728                         lists to NetworkManager by proxying user's GConf
21729           
21730
21731 2004-07-15  Dan Williams <dcbw@redhat.com>
21732
21733         * src/Makefile.am
21734                 - Turn on warnings
21735
21736         * src/NetworkManager.c
21737                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21738                         that doing the deactivation ourselves
21739                 - Cancel an pending actions on a device if its being removed
21740                 - Break up link state checking a bit, make non-active wireless cards
21741                         deactivated to save power
21742                 - Remove unused variables
21743
21744         * src/NetworkManager.h
21745                 - Add support for "pending" device
21746
21747         * src/NetworkManagerAP.h
21748           src/NetworkManagerAP.c
21749                 - Add support for determining whether and AP has encryption enabled or not
21750                 - AP address is now "struct ether_addr" rather than a string
21751
21752         * src/NetworkManagerDbus.h
21753           src/NetworkManagerDbus.c
21754                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21755                 - Changes for AP address from struct ether_addr->string
21756
21757         * src/NetworkManagerDevice.h
21758           src/NetworkManagerDevice.c
21759                 - Remove unused variables, fix warnings
21760                 - Add support for Pending Actions (things that block a device from being "active"
21761                         until they are completed).
21762                 - First pending action:  Get a WEP key from the user
21763                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21764                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21765                 - Update wireless link checking to try to determine if the AP we are associated
21766                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21767                         trigger the GetUserKey pending action on the device
21768                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21769                         up in that case, otherwise we can't scan or link-check on it
21770                 - Add IP address change notifications at appropriate points (still needs some work)
21771                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21772
21773         * src/NetworkManagerPolicy.h
21774           src/NetworkManagerPolicy.c
21775                 - Split out "best" access point determiniation into separate function
21776                 - Make device activation 2-stage:  first the device is pending, then
21777                         in the next iteration through it becomes "active" unless it has
21778                         pending actions
21779
21780         * src/NetworkManagerUtils.h
21781           src/NetworkManagerUtils.c
21782                 - Clean up unused variables and warnings
21783                 - Wrap our debug macros in {} to prevent possible confusion
21784
21785         * src/NetworkManagerWireless.c
21786                 - Forgot to return current best priority, which lead to last available AP always
21787                         being chosen no matter what its priority was.  Corrected.
21788
21789 2004-07-15  Dan Williams <dcbw@redhat.com>
21790
21791         * dispatcher-daemon/Makefile.am
21792                 - Turn on warnings
21793
21794         * dispatcher-daemon/NetworkManagerDispatcher.c
21795                 - Remove unused variables due to warnings
21796                 - Fix some comments
21797                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21798
21799 2004-07-06  Dan Williams <dcbw@redhat.com>
21800
21801         * src/NetworkManager.c
21802                 - Add IPv4 address update for active device during link state check
21803                 - Don't allow wireless cards to be powered up when they are not the
21804                         active device
21805
21806         * src/NetworkManagerDbus.c
21807           src/NetworkManagerDbus.h
21808                 - Add DBUS IPv4 address change signal
21809                 - Add DBUS IPv4 address get method for devices
21810
21811         * src/NetworkManagerDevice.c
21812                 - Make setting the WEP key actually work
21813                 - Move IP address get/set/update stuff here, per-device
21814                 - Power down/bring down wireless device when deactivated
21815                 - For scanning wireless devices, if first scan returned ENODATA, try again
21816
21817         * src/NetworkManagerPolicy.c
21818                 - Only set the WEP key for an allowed access point if there is one.
21819                         We were setting it to be blank if one wasn't specified.
21820
21821         * src/NetworkManagerUtils.h
21822           src/NetworkManagerUtils.c
21823                 - Move the IP address stuff to NetworkManagerDevice.c
21824
21825         * dispatcher-daemon/NetworkManagerDispatcher.c
21826                 - Add device IPv4 address change notification stuff
21827
21828 2004-07-05  Dan Williams <dcbw@redhat.com>
21829
21830         * dispatcher-daemon/NetworkManagerDispatcher.c
21831                 - A bit more descriptive state message
21832                 - Don't segfault when reading directory
21833
21834         * src/NetworkManager.h
21835                 - Remove NMData desired_ap member, its now
21836                         per-device rather than global
21837
21838         * src/NetworkManager.c
21839                 - Remove references to desired_ap
21840                 - Move the allowed AP list refresh stuff into a thread
21841
21842         * src/NetworkManagerDevice.c
21843           src/NetworkManagerDevice.h
21844                 - Each wireless device now has a "best ap"
21845                 - Make device activate/deactivate functions per-device
21846                 - Make wireless scanning per-device
21847                 - Add IPv4 address discover functions, stub IPv6 ones
21848                 - Move ethernet address validation functions to NetworkManagerUtils.c
21849                 - Add wireless access point accessor function
21850                 - Get/Set functions for "best ap"
21851
21852         * src/NetworkManagerPolicy.c
21853                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21854                 - Deal with per-device "best ap" rather than data->desired_apa
21855                 - Implement allowed access point worker thread
21856                 - Add nm_policy_essid_is_allowed() function
21857
21858         * src/NetworkManagerUtils.c
21859           src/NetworkManagerUtils.h
21860                 - Add nm_ethernet_address_is_valid() function
21861                 - Add IPv4/IPv6 address get functions
21862
21863         * src/NetworkManagerWireless.c
21864           src/NetworkManagerWireless.h
21865                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21866
21867 2004-06-29  Dan Williams <dcbw@redhat.com>
21868
21869         * dispatcher-daemon/NetworkManagerDispatcher.c
21870                 - Implement script callout functionality
21871
21872 2004-06-24  Dan Williams <dcbw@redhat.com>
21873
21874         * NetworkManager.c
21875             - Spacing cleanups
21876             - Flush device routes and ip addresses when added to the device list
21877
21878         * NetworkManagerDbus.c
21879             - Spacing cleanups
21880             - Add missing returns in the two signal functions
21881         
21882         * NetworkManagerPolicy.c
21883             - Spacing and variable cleanups
21884
21885 2004-06-24  Dan Williams <dcbw@redhat.com>
21886
21887         * Makefile.am
21888           Makefile.in
21889           configure.in
21890           dispatcher-daemon/Makefile.am
21891           dispatcher-daemon/Makefile.in
21892           dispatcher-daemon/NetworkManagerDispatcher.c
21893             - Add a daemon that receives signals from NetworkManager
21894                         and will (eventually) call scripts in /etc/somewhere
21895                         when devices go up or down.
21896         
21897         * NetworkManager.c
21898             - Spacing cleanups
21899             - Flush device routes and ip addresses when added to the device list
21900
21901         * NetworkManagerDbus.c
21902             - Spacing cleanups
21903             - Add missing returns in the two signal functions
21904         
21905         * NetworkManagerPolicy.c
21906             - Spacing and variable cleanups
21907             - Rename nm_policy_switch_interface->nm_policy_switch_device
21908             - nm_policy_switch_device():
21909                                 Use kill (pid) instead of system ("kill <pid>")
21910             - nm_state_modification_monitor():
21911                                 Add wireless essid to output of debug statements
21912                                 Correct typo in device compare to switch or not (should be !=)
21913                                 Don't sleep after sending "no longer active" signal, was useless
21914
21915 2004-06-24  Dan Williams <dcbw@redhat.com>
21916
21917         * Initial import