Tag 0.7.0-rc2
[NetworkManager.git] / ChangeLog
1 2008-11-14  Dan Williams  <dcbw@redhat.com>
2
3         * Tag 0.7.0-rc2
4
5 2008-11-14  Dan Williams  <dcbw@redhat.com>
6
7         Handle gateways on different subnets
8
9         * src/NetworkManagerSystem.c
10                 - (add_ip4_route_to_gateway): gateway route should be link scope and
11                         a host route
12                 - (replace_default_ip4_route): use a destination address too; gateway
13                         address should be /0; don't leak the gateway route object
14
15 2008-11-14  Dan Williams  <dcbw@redhat.com>
16
17         * libnm-glib/libnm_glib.ver
18           libnm-glib/nm-dbus-settings-system.c
19           libnm-glib/nm-dbus-settings-system.h
20                 - Add libnm-glib bits for CanModify
21
22 2008-11-14  Dan Williams  <dcbw@redhat.com>
23
24         * introspection/nm-settings-system.xml
25           system-settings/src/dbus-settings.c
26           system-settings/src/dbus-settings.h
27                 - Add a "CanModify" property to indicate if any plugins support
28                         connection modification
29
30 2008-11-14  Dan Williams  <dcbw@redhat.com>
31
32         Relicense libnm-glib to LGPLv2+ with agreement from contributors
33
34 2008-11-14  Dan Williams  <dcbw@redhat.com>
35
36         * vpn-manager/nm-vpn-connection.c
37                 - (plugin_state_changed): clear VPN secrets on error to ensure they
38                         are always requested from the settings service (rh #429287)
39
40 2008-11-13  Dan Williams  <dcbw@redhat.com>
41
42         * libnm-util/crypto.c
43                 - (crypto_get_private_key_data): fix bad initial arg type checking
44                         from pkcs#12 patch
45
46 2008-11-13  Dan Williams  <dcbw@redhat.com>
47
48         Add support for PKCS#12 private keys (bgo #558982)
49
50         * libnm-util/crypto.c
51           libnm-util/crypto.h
52                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
53                         take a GByteArray instead of a filename
54                 - (file_to_g_byte_array): handle private key files too
55                 - (decrypt_key): take a GByteArray rather than data + len
56                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
57                         one function that takes a filename, and one that takes raw data;
58                         detect pkcs#12 files as well
59                 - (crypto_load_and_verify_certificate): detect file type
60                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
61                         functions
62
63         * libnm-util/crypto_gnutls.c
64                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
65                         whereby tail padding was incorrectly handled, leading to erroneous
66                         successes when trying to decrypt the data
67                 - (crypto_verify_cert): rework somewhat
68                 - (crypto_verify_pkcs12): validate pkcs#12 keys
69
70         * libnm-util/crypto_nss.c
71                 - (crypto_init): enable various pkcs#12 ciphers
72                 - (crypto_decrypt): take a GByteArray rather than data + len
73                 - (crypto_verify_cert): clean up
74                 - (crypto_verify_pkcs12): validate pkcs#12 keys
75
76         * libnm-util/test-crypto.c
77                 - Handle pkcs#12 keys
78
79         * libnm-util/nm-setting-8021x.c
80           libnm-util/nm-setting-8021x.h
81           libnm-util/libnm-util.ver
82                 - Add two new properties, 'private-key-password' and
83                         'phase2-private-key-password', to be used in conjunction with
84                         pkcs#12 keys
85                 - (nm_setting_802_1x_set_ca_cert_from_file,
86                    nm_setting_802_1x_set_client_cert_from_file,
87                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
88                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
89                         type
90                 - (nm_setting_802_1x_get_private_key_password,
91                    nm_setting_802_1x_get_phase2_private_key_password): return private
92                         key passwords
93                 - (nm_setting_802_1x_set_private_key_from_file,
94                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
95                         key from a file, and update the private key password at the same time
96                 - (nm_setting_802_1x_get_private_key_type,
97                    nm_setting_802_1x_get_phase2_private_key_type): return the private
98                         key type
99
100         * src/supplicant-manager/nm-supplicant-settings-verify.c
101                 - Whitelist private key passwords
102
103         * src/supplicant-manager/nm-supplicant-config.c
104                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
105                         add the private key password to the supplicant config, but do not
106                         add the client certificate (as required by wpa_supplicant)
107
108 2008-11-12  Tambet Ingo  <tambet@gmail.com>
109
110         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
111         (add_secrets): Don't add empty secrets to the secrets hash table.
112
113 2008-11-07  Dan Williams  <dcbw@redhat.com>
114
115         * libnm-util/nm-setting-wireless.c
116                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
117                         that cased this function to return garbage, breaking hidden AP
118                         detection
119
120 2008-11-07  Dan Williams  <dcbw@redhat.com>
121
122         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
123
124         * src/NetworkManagerSystem.c
125           src/NetworkManagerSystem.h
126                 - (nm_system_device_set_ip4_route): return the route that was added
127                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
128                         public, clean up, and return the route that was added
129                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
130                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
131                         flags to allow only certain attributes of the NMIP4Config to be
132                         applied
133
134         * src/nm-device.c
135                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
136                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
137                         what's really changed between the old and new configs; don't export
138                         the new IP4 config on failure; always send the DNS info to the
139                         named manager
140
141         * src/vpn-manager/nm-vpn-connection.c
142                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
143                         parent device's IP4Config and re-add the VPN gateway route when it
144                         changes
145                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
146                         nm_system_apply_ip4_config() no longer does) and cache it for later
147                 - (connection_state_changed): move cleanup code to its own function
148                 - (vpn_cleanup): delete any previously added VPN gateway route; and
149                         re-apply the parent device's addresses and routes using
150                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
151
152 2008-11-07  Dan Williams  <dcbw@redhat.com>
153
154         * src/nm-ip4-config.c
155           src/nm-ip4-config.h
156                 - (nm_ip4_config_diff): new function; return the difference between two
157                         IP4 configs
158                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
159
160 2008-11-05  Dan Williams  <dcbw@redhat.com>
161
162         * nm-ip4-config.c
163           nm-ip4-config.h
164                 - (nm_ip4_config_compare): compare two IP4 configs
165
166 2008-11-05  Dan Williams  <dcbw@redhat.com>
167
168         * src/NetworkManagerPolicy.c
169                 - (update_etc_hosts): only add newline if not the last line of the file
170                         (Jonathan Miner)
171
172 2008-11-05  Dan Williams  <dcbw@redhat.com>
173
174         * src/dhcp-manager/nm-dhcp-dhclient.c
175                 - (get_leasefile_for_iface): move lease files back to where dhclient
176                         puts them
177
178 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
179
180         * initscripts/Debian/NetworkManager
181                 - Update to what Debian is actually using
182
183 2008-11-05  Tambet Ingo  <tambet@gmail.com>
184
185         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
186
187 2008-11-03  Dan Williams  <dcbw@redhat.com>
188
189         * system-settings/src/main.c
190                 - (add_default_dhcp_connection): make the fallback connection read-only
191
192         * libnm-glib/nm-settings.c
193           libnm-glib/nm-settings.h
194                 - Add detailed errors
195                 - (impl_exported_connection_update, impl_exported_connection_delete):
196                         return an error if the connection is read-only
197
198         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
199           system-settings/plugins/keyfile/nm-keyfile-connection.c
200           system-settings/src/main.c
201                 - Use more detailed errors
202
203         * system-settings/src/nm-system-config-error.c
204           system-settings/src/nm-system-config-error.h
205           system-settings/src/dbus-settings.c
206                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
207                         NM_SETTINGS_ERROR_INVALID_CONNECTION
208
209 2008-11-02  Dan Williams  <dcbw@redhat.com>
210
211         * Add license headers to everything in src/
212
213 2008-11-02  Dan Williams  <dcbw@redhat.com>
214
215         * Tag 0.7.0-rc1
216
217 2008-11-02  Dan Williams  <dcbw@redhat.com>
218
219         * src/NetworkManagerAP.c
220                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
221                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
222                         secrets when connecting to an encrypted network failed
223
224 2008-10-30  Dan Williams  <dcbw@redhat.com>
225
226         * libnm-util/libnm-util.ver
227           libnm-util/nm-setting-ip6-config.c
228           libnm-util/nm-setting-ip6-config.h
229           libnm-util/Makefile.am
230                 - Make properties private and add accessor functions
231                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
232
233         * libnm-util/nm-connection.c
234           libnm-util/nm-utils.c
235           libnm-util/nm-utils.h
236                 - Ignore IPv6 stuff for now
237
238 2008-10-30  Dan Williams  <dcbw@redhat.com>
239
240         * libnm-util/libnm-util.ver
241           libnm-util/nm-setting-8021x.c
242           libnm-util/nm-setting-8021x.h
243                 - Make properties private and add accessor functions
244
245         * src/supplicant-manager/nm-supplicant-config.c
246           system-settings/plugins/ifcfg-suse/parser.c
247                 - Use 802.1x setting accessors
248
249 2008-10-30  Dan Williams  <dcbw@redhat.com>
250
251         * libnm-util/libnm-util.ver
252           libnm-util/nm-setting-wireless-security.c
253           libnm-util/nm-setting-wireless-security.h
254                 - Make properties private and add accessor functions
255
256         * libnm-util/nm-setting-wireless.c
257           src/NetworkManagerAP.c
258           src/nm-device-wifi.c
259           src/supplicant-manager/nm-supplicant-config.c
260           system-settings/plugins/ifcfg-fedora/reader.c
261           system-settings/plugins/ifcfg-suse/parser.c
262                 - Use wireless security accessors
263
264 2008-10-30  Dan Williams  <dcbw@redhat.com>
265
266         * src/nm-device-ethernet.c
267           src/nm-device-wifi.c
268           src/nm-device.c
269           src/ppp-manager/nm-ppp-manager.c
270                 - Harmonize return checking of ioctl
271
272         * system-settings/plugins/ifcfg-fedora/reader.c
273                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
274
275 2008-10-30  Dan Williams  <dcbw@redhat.com>
276
277         * src/ppp-manager/nm-ppp-manager.c
278                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
279                         ppp_generic module to create it (bgo #533064)
280
281 2008-10-30  Dan Williams  <dcbw@redhat.com>
282
283         Patch from Alexander Sack <asac@canonical.com>
284
285         Fix "ppp connections don't honour ip4 connection settings"
286
287         * src/nm-device-ethernet.c
288                 - (real_act_stage4_get_ip4_config): merge ip4config settings
289                         with results from ppp manager
290
291         * src/nm-serial-device.c
292                 - (real_act_stage4_get_ip4_config): merge ip4config settings
293                         with results from ppp manager
294
295 2008-10-29  Dan Williams  <dcbw@redhat.com>
296
297         * libnm-util/libnm-util.ver
298           libnm-util/nm-setting-ip4-config.c
299           libnm-util/nm-setting-ip4-config.h
300                 - Make properties private and add accessor functions
301
302         * callouts/nm-dispatcher-action.c
303           libnm-glib/libnm-glib-test.c
304           libnm-util/nm-utils.c
305           src/NetworkManagerPolicy.c
306           src/NetworkManagerSystem.c
307           src/NetworkManagerUtils.c
308           src/dhcp-manager/nm-dhcp-dhclient.c
309           src/dhcp-manager/nm-dhcp-manager.c
310           src/dnsmasq-manager/nm-dnsmasq-manager.c
311           src/nm-device-wifi.c
312           src/nm-device.c
313           src/nm-hso-gsm-device.c
314           src/nm-ip4-config.c
315           src/nm-ip4-config.h
316           src/ppp-manager/nm-ppp-manager.c
317           src/vpn-manager/nm-vpn-connection.c
318           system-settings/plugins/ifcfg-fedora/reader.c
319           system-settings/plugins/ifcfg-suse/parser.c
320           system-settings/plugins/ifcfg-suse/plugin.c
321           system-settings/plugins/ifupdown/parser.c
322           test/nm-tool.c
323           vpn-daemons/vpnc/properties/nm-vpnc.c
324                 - Use IP4 accessor functions
325
326 2008-10-29  Tambet Ingo  <tambet@gmail.com>
327
328         Half of it by Dan Williams <dcbw@redhat.com>
329
330         * libnm-util/libnm-util.ver
331         libnm-util/nm-setting-vpn.c
332         libnm-util/nm-setting-vpn.h
333                 - Make properties private and add accessor functions.
334
335         * src/vpn-manager/nm-vpn-connection.c
336         src/vpn-manager/nm-vpn-manager.c
337         system-settings/plugins/keyfile/reader.c
338         vpn-daemons/openvpn/properties/auth-helpers.c
339         vpn-daemons/openvpn/properties/import-export.c
340         vpn-daemons/openvpn/properties/nm-openvpn.c
341         vpn-daemons/openvpn/src/nm-openvpn-service.c
342         vpn-daemons/pptp/auth-dialog/main.c
343         vpn-daemons/pptp/properties/advanced-dialog.c
344         vpn-daemons/pptp/properties/nm-pptp.c
345         vpn-daemons/pptp/src/nm-pptp-service.c
346         vpn-daemons/vpnc/properties/nm-vpnc.c
347         vpn-daemons/vpnc/src/nm-vpnc-service.c
348                 - Use VPN setting accessors.
349
350 2008-10-28  Dan Williams  <dcbw@redhat.com>
351
352         Patch from Tambet Ingo <tambet@gmail.com>
353
354         * libnm-util/libnm-util.ver
355           libnm-util/nm-setting-wireless.c
356           libnm-util/nm-setting-wireless.h
357                 - Make properties private and add accessor functions
358
359         * src/NetworkManagerAP.c
360           src/nm-device-wifi.c
361           src/nm-manager.c
362           src/supplicant-manager/nm-supplicant-config.c
363           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
364           system-settings/plugins/ifcfg-fedora/reader.c
365           system-settings/plugins/ifcfg-suse/parser.c
366           system-settings/plugins/ifupdown/parser.c
367                 - Use wireless setting accessors
368
369 2008-10-27  Dan Williams  <dcbw@redhat.com>
370
371         Patch from Tambet Ingo <tambet@gmail.com>
372
373         * libnm-util/libnm-util.ver
374           libnm-util/nm-setting-ppp.c
375           libnm-util/nm-setting-ppp.h
376                 - Make properties private and add accessor functions
377
378         * src/ppp-manager/nm-ppp-manager.c
379                 - Use ppp setting accessors
380
381 2008-10-27  Dan Williams  <dcbw@redhat.com>
382
383         Patch from Tambet Ingo <tambet@gmail.com>
384
385         * libnm-util/nm-setting.h
386           libnm-util/nm-setting.c
387                 - Make properties private and add accessor functions
388
389         * libnm-util/nm-connection.c
390           libnm-util/nm-setting-8021x.c
391           libnm-util/nm-setting-cdma.c
392           libnm-util/nm-setting-connection.c
393           libnm-util/nm-setting-gsm.c
394           libnm-util/nm-setting-ip4-config.c
395           libnm-util/nm-setting-ip6-config.c
396           libnm-util/nm-setting-ppp.c
397           libnm-util/nm-setting-pppoe.c
398           libnm-util/nm-setting-serial.c
399           libnm-util/nm-setting-template.c
400           libnm-util/nm-setting-vpn.c
401           libnm-util/nm-setting-wired.c
402           libnm-util/nm-setting-wireless-security.c
403           libnm-util/nm-setting-wireless.c
404           system-settings/plugins/keyfile/reader.c
405           system-settings/plugins/keyfile/writer.c
406                 - Use setting accessors
407
408 2008-10-27  Dan Williams  <dcbw@redhat.com>
409
410         * libnm-util/libnm-util.ver
411           libnm-util/nm-setting-connection.c
412           libnm-util/nm-setting-connection.h
413                 - Add a 'read-only' property that indicates the connection cannot be
414                         modified
415
416         * system-settings/plugins/ifcfg-fedora/reader.c
417           system-settings/plugins/ifcfg-suse/parser.c
418           system-settings/plugins/ifupdown/parser.c
419                 - These plugins are read-only at the moment
420
421         * system-settings/plugins/keyfile/reader.c
422           system-settings/plugins/keyfile/writer.c
423                 - Read-only shouldn't get saved out to files or read in from them
424
425 2008-10-27  Tambet Ingo  <tambet@gmail.com>
426
427         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
428         correct speed reporting for fast devices (kernel >= 2.6.27).
429
430 2008-10-26  Dan Williams  <dcbw@redhat.com>
431
432         Attempt to compensate for modems that don't enable full AT parsing before
433         the PIN has been entered.
434
435         * src/nm-gsm-device.c
436                 - (init_modem): accept different init strings
437                 - (init_done): try different init strings on failure
438                 - (check_pin_done): on PIN success, do full modem init
439
440 2008-10-26  Dan Williams  <dcbw@redhat.com>
441
442         Patch from Tambet Ingo <tambet@gmail.com>
443
444         * libnm-util/libnm-util.ver
445           libnm-util/nm-setting-connection.c
446           libnm-util/nm-setting-connection.h
447                 - Make properties private and add accessor functions
448
449         * src/NetworkManagerPolicy.c
450           src/nm-cdma-device.c
451           src/nm-device-ethernet.c
452           src/nm-device-interface.c
453           src/nm-device-wifi.c
454           src/nm-gsm-device.c
455           src/nm-manager.c
456           src/ppp-manager/nm-ppp-manager.c
457           src/vpn-manager/nm-vpn-connection.c
458           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
459           system-settings/plugins/ifcfg-fedora/plugin.c
460           system-settings/plugins/ifcfg-fedora/reader.c
461           system-settings/plugins/ifcfg-suse/parser.c
462           system-settings/plugins/ifupdown/parser.c
463           system-settings/plugins/keyfile/nm-keyfile-connection.c
464           system-settings/plugins/keyfile/plugin.c
465           system-settings/plugins/keyfile/writer.c
466           system-settings/src/main.c
467                 - Use those accessors
468
469 2008-10-26  Dan Williams  <dcbw@redhat.com>
470
471         Patch from Tambet Ingo <tambet@gmail.com>
472
473         * libnm-util/libnm-util.ver
474           libnm-util/nm-setting-gsm.c
475           libnm-util/nm-setting-gsm.h
476                 - Make properties private and add accessor functions
477
478         * src/nm-gsm-device.c
479           src/nm-hso-gsm-device.c
480           src/ppp-manager/nm-ppp-manager.c
481                 - Use those accessors
482
483 2008-10-26  Dan Williams  <dcbw@redhat.com>
484
485         Patch from Tambet Ingo <tambet@gmail.com>
486
487         * libnm-util/libnm-util.ver
488           libnm-util/nm-setting-cdma.c
489           libnm-util/nm-setting-cdma.h
490                 - Make properties private and add accessor functions
491
492         * src/nm-cdma-device.c
493           src/ppp-manager/nm-ppp-manager.c
494                 - Use those accessors
495
496 2008-10-26  Dan Williams  <dcbw@redhat.com>
497
498         Patch from Tambet Ingo <tambet@gmail.com>
499
500         * libnm-util/libnm-util.ver
501           libnm-util/nm-setting-pppoe.c
502           libnm-util/nm-setting-pppoe.h
503                 - Make properties private and add accessor functions
504
505         * src/nm-device-ethernet.c
506           src/ppp-manager/nm-ppp-manager.c
507                 - Use those accessors
508
509 2008-10-26  Dan Williams  <dcbw@redhat.com>
510
511         Patch from Tambet Ingo <tambet@gmail.com>
512
513         * libnm-util/libnm-util.ver
514           libnm-util/nm-setting-wired.c
515           libnm-util/nm-setting-wired.h
516                 - Make properties private and add accessor functions
517
518         * src/nm-device-ethernet.c
519           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
520           system-settings/plugins/ifcfg-suse/parser.c
521           system-settings/src/main.c
522                 - Use those accessors
523
524 2008-10-26  Dan Williams  <dcbw@redhat.com>
525
526         Patch from Tambet Ingo <tambet@gmail.com>
527
528         * libnm-util/libnm-util.ver
529           libnm-util/nm-setting-serial.c
530           libnm-util/nm-setting-serial.h
531           src/nm-serial-device.c
532                 - Make properties private and use accessors instead
533
534 2008-10-26  Dan Williams  <dcbw@redhat.com>
535
536         * src/supplicant-manager/nm-supplicant-interface.c
537           src/supplicant-manager/nm-supplicant-interface.h
538           src/supplicant-manager/nm-supplicant-manager.c
539           src/supplicant-manager/nm-supplicant-manager.h
540                 - Add state-to-string conversion functions
541
542         * src/nm-device-wifi.c
543           src/nm-device-ethernet.c
544                 - Normalize state info logging and use strings instead of numbers
545
546 2008-10-26  Dan Williams  <dcbw@redhat.com>
547
548         * src/NetworkManagerPolicy.c
549                 - (update_routing_and_dns): ignore host routes when determining whether
550                         a VPN connection should own the default route (bgo #552594)
551
552 2008-10-24  Dan Williams  <dcbw@redhat.com>
553
554         * src/nm-gsm-device.c
555                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
556
557 2008-10-23  Dan Williams  <dcbw@redhat.com>
558
559         * src/ppp-manager/nm-ppp-manager.c
560                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
561                         add really important stuff to the command line to ensure that NM
562                         overrides /etc/ppp/options (bgo #556781)
563
564 2008-10-22  Dan Williams  <dcbw@redhat.com>
565
566         * src/NetworkManagerSystem.c
567           src/nm-device.c
568                 - Use the device's IP interface where appropriate (Per Hallsmark)
569
570 2008-10-22  Dan Williams  <dcbw@redhat.com>
571
572         * src/nm-gsm-device.c
573                 - (schedule_automatic_registration_again): use a short timeout here
574                         instead of an idle handler to avoid using too much CPU polling for
575                         something we should be waiting a bit for anyway
576
577 2008-10-22  Dan Williams  <dcbw@redhat.com>
578
579         * include/NetworkManager.h
580           introspection/nm-device.xml
581                 - Add device state change reason for carrier changes
582
583         * src/nm-device-ethernet.c
584                 - (set_carrier): use the carrier change reason when changing device
585                         state in response to carrier changes
586
587 2008-10-21  Dan Williams  <dcbw@redhat.com>
588
589         * src/NetworkManagerPolicy.c
590                 - (update_etc_hosts): don't leak errors, and ensure that
591                         g_file_set_contents() gets a valid error placeholder (rh #461933)
592
593 2008-10-21  Dan Williams  <dcbw@redhat.com>
594
595         * src/nm-manager.c
596                 - (free_get_settings_info): don't use the DBusGProxy which could be
597                         disposed of by the time the function is called
598                 - (internal_new_connection_cb): save connection scope
599                 - (connection_get_settings_cb): don't replace a connection unless it's
600                         actually different from the existing one; fixes an issue where
601                         killing the settings service wouldn't deactivate an active connection
602                         provided by that settings service, because it was using a connection
603                         that had already been replaced in the system or user hash
604
605 2008-10-21  Dan Williams  <dcbw@redhat.com>
606
607         * src/NetworkManager.c
608                 - (main): keep the DHCP manager around since it's a singleton; fixes
609                         a use-after-free exposed by r4196 since the DHCP manager singleton
610                         variable isn't cleared when the DHCP manager object is finalized
611
612 2008-10-20  Dan Williams  <dcbw@redhat.com>
613
614         * libnm-util/nm-setting-wireless-security.c
615                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
616
617 2008-10-20  Dan Williams  <dcbw@redhat.com>
618
619         * src/supplicant-manager/nm-supplicant-config.c
620                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
621
622 2008-10-20  Dan Williams  <dcbw@redhat.com>
623
624         * src/dhcp-manager/nm-dhcp-manager.c
625                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
626                         manager object already refs it once
627                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
628                         also get cleaned up by nm_dhcp_device_destroy() to prevent
629                         double-frees
630
631 2008-10-20  Dan Williams  <dcbw@redhat.com>
632
633         * src/nm-manager.c
634                 - (initial_get_connections): use private dbus manager, don't keep
635                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
636                         manager object.
637
638 2008-10-18  Dan Williams  <dcbw@redhat.com>
639
640         * libnm-glib/nm-settings.c
641           libnm-glib/nm-settings.h
642                 - Rename the "get_secrets" virtual function "service_get_secrets" to
643                         clarify when it's used; NMExportedConnetion is a base-class for both
644                         the client and service side, which is sort of confusing, and
645                         get_secrets only makes sense on the service side.
646
647         * libnm-glib/nm-dbus-connection.c
648                 - (get_secrets): remove, unused, and clients need to do extra work to
649                         get secrets anyway since the call can block on the remote side
650
651         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
652           system-settings/plugins/keyfile/nm-keyfile-connection.c
653                 - Fix up for get_secrets -> service_get_secrets
654
655 2008-10-16  Dan Williams  <dcbw@redhat.com>
656
657         * src/nm-device-wifi.c
658                 - (constructor): correctly determine encryption capabilities
659
660 2008-10-15  Dan Williams  <dcbw@redhat.com>
661
662         * src/nm-device-wifi.c
663                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
664                         (Johannes Berg)
665
666 2008-10-15  Dan Williams  <dcbw@redhat.com>
667
668         * src/NetworkManagerSystem.c
669                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
670                         if the ip4_dest is in a smaller subnet contained within a subnet
671                         the machine is currently on, the destination is in the same subnet
672                 - (nm_system_device_set_ip4_route): move subnet checks to callers
673                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
674                         subnet as the parent device, and if so, don't add the direct
675                         host route via the parent device's gateway (bgo #481620)
676                 - (nm_system_apply_ip4_config): check whether the route to be added
677                         is contained within a subnet the device is already on
678
679 2008-10-11  Dan Williams  <dcbw@redhat.com>
680
681         * include/NetworkManager.h
682           introspection/nm-device.xml
683           include/NetworkManagerVPN.h
684                 - Add a few more state reasons for the device deactivated state
685
686         * src/nm-device-interface.c
687           src/nm-device-interface.h
688                 - (nm_device_interface_deactivate): add a 'reason' argument
689
690         * src/nm-device.c
691           src/nm-device.h
692                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
693                 - (nm_device_state_changed): pass the state change reason to
694                         nm_device_take_down()
695                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
696                         to the state change function
697
698         * src/nm-manager.c
699           src/nm-manager.h
700                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
701                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
702                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
703                         something reasonable along to VPN deactivation
704
705         * src/vpn-manager/nm-vpn-manager.c
706           src/vpn-manager/nm-vpn-manager.h
707                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
708                         pass that along to nm_vpn_connection_disconnect()
709
710 2008-10-11  Dan Williams  <dcbw@redhat.com>
711
712         * src/nm-device-wifi.c
713                 - (can_scan): remove old madwifi hack for not scanning while connected
714
715 2008-10-11  Dan Williams  <dcbw@redhat.com>
716
717         Add support for VPN subnet gateways (bgo #549196)
718
719         * include/NetworkManager.h
720                 - Add key for internal VPN subnet gateway
721
722         * src/vpn-manager/nm-vpn-connection.c
723                 - (ip_address_to_string): return a const from a static buffer so we
724                         don't leak a lot of strings
725                 - (print_vpn_config): print internal VPN gateway as well
726                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
727                         VPN service too
728                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
729
730         * src/NetworkManagerSystem.c
731           src/NetworkManagerSystem.h
732                 - (nm_system_device_replace_default_ip4_route): split into two, one for
733                         VPN connections and one for normal devices
734                 - (replace_default_ip4_route): break out route stuff into its own function
735                 - (nm_system_replace_default_ip4_route_vpn,
736                    nm_system_replace_default_ip4_route): simplify by having two cases,
737                         one for VPNs and one for normal devices
738
739         * src/NetworkManagerPolicy.c
740                 - (update_routing_and_dns): simplify, use split default route replacement
741                         functions
742
743 2008-10-10  Dan Williams  <dcbw@redhat.com>
744
745         Rework default route handling to consolidate decisions in the policy,
746         and to take active VPN connections into account when changing the default
747         route (bgo #545912)
748
749         * src/NetworkManager.c
750                 - (main): pass the vpn_manager to the policy so it knows about active
751                         VPN connections; clean up the named manager which wasn't done before
752
753         * src/NetworkManagerPolicy.c
754           src/NetworkManagerPolicy.h
755                 - (nm_policy_new): get a clue about the vpn_manager
756                 - (update_default_route): remove, fold into update_routing_and_dns()
757                 - (update_routing_and_dns): handle active VPN connections too; an
758                         active VPN connection becomes the default route if it does not have
759                         server-specified or user-specified custom routes.  Otherwise, the
760                         best active device gets the default route
761                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
762                    nm_policy_destroy): track VPN connection activation and deactivation
763                         and update the default route when appropriate
764
765         * src/NetworkManagerSystem.c
766           src/NetworkManagerSystem.h
767                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
768                         in the VPN connection itself
769                 - (nm_system_vpn_device_set_from_ip4_config,
770                    nm_system_device_set_from_ip4_config): merge together to make
771                         nm_system_apply_ip4_config()
772                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
773                         via the parent device
774                 - (nm_system_apply_ip4_config): simplify
775                 - (add_ip4_route_to_gateway): new function; add a direct route to the
776                         gateway if needed
777                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
778                         route stuff out into add_ip4_route_to_gateway() for clarity
779
780         * src/nm-device.c
781                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
782
783         * src/vpn-manager/nm-vpn-connection.c
784           src/vpn-manager/nm-vpn-connection.h
785                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
786                    nm_vpn_connection_get_parent_device): add
787                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
788                         device explicit
789                 - (connection_state_changed): update the named manager now that
790                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
791                         useful on errors
792
793         * src/vpn-manager/nm-vpn-manager.c
794           src/vpn-manager/nm-vpn-manager.h
795                 - Add a 'connection-activated' signal
796                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
797                         policy to find out about active VPN connections
798
799 2008-10-10  Tambet Ingo  <tambet@gmail.com>
800
801         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
802         a daemon to prevent NM logging spew on console on startup and shutdown (due
803         to dependency loop between NM and syslog).
804
805 2008-10-10  Alexander Sack  <asac@ubuntu.com>
806
807         Implement managed mode. We bind devices configured in /etc/network/interfaces
808         to their connections by updating wired/wireless setting with the
809         mac address of the device.
810
811         * system-settings/plugins/ifupdown/plugin.c
812                 - (get_net_address_for_udi): implement function to retrieve MAC
813                         address of udi from hal in GByteArray format
814                 - (bind_device_to_connection): bind mac address of device to
815                         wired/wireless system connection
816                 - (hal_device_added_cb): call bind_device_to_connection for
817                         system connections with a matching interface.name
818                 - (hal_device_added_cb): ensure that all code paths
819                         properly free the "iface" string.
820
821 2008-10-10  Alexander Sack  <asac@ubuntu.com>
822
823         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
824         mode of the ifupdown system config plugin.
825
826         * system-settings/plugins/ifupdown/plugin.c
827                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
828                         private unmanage_well_known state field accordingly
829
830 2008-10-10  Alexander Sack  <asac@ubuntu.com>
831
832         Implement unmanaged mode that will prevent all devices in the
833         well_known_udis set from being touched by NetworkManager
834
835         * system-settings/plugins/ifupdown/plugin.c
836                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
837                         unmanage_well_known field used to turn on/off unmanaged
838                         mode
839                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
840                         signal when well_known_udis get added/removed
841                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
842                         if we are in unmanaged mode
843
844 2008-10-10  Alexander Sack  <asac@ubuntu.com>
845
846         Add support to track network devices that have a configuration
847         with a matching interface.name in /etc/network/interfaces
848
849         * system-settings/plugins/ifupdown/plugin.c
850                 - (typedef struct SCPluginIfupdownPrivate): add hash table
851                         to track |well_known_udis|
852                 - (get_iface_for_udi): helper function to get interface.name
853                         for a udi
854                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
855                         that add and remove devices to and from the well_known_udis
856                         set depending on whether their |interface.name| matches
857                         any interface definition in /etc/network/interfaces
858                 - (SCPluginIfupdown_init): connect callbacks from above with
859                         hal_mgr and setup well_known_udis hashtable
860                 - (GObject__dispose): destroy well_known_udis hashtable
861                 - (hal_device_added_cb2): implement wrapper callback with GFunc
862                         signature. user_data is supposed to be a triple (hal_mgr,
863                         config and devtype)
864                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
865                         startup and call hal_device_added_cb2
866
867 2008-10-10  Alexander Sack  <asac@ubuntu.com>
868
869         Remove implementation for not used NMSystemConfigInterface callback functions
870         in ifupdown plugin
871
872         * system-settings/plugins/ifupdown/plugin.c
873                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
874                 - (SCPluginIfupdown_connection_added): removed
875
876 2008-10-08  Dan Williams  <dcbw@redhat.com>
877
878         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
879
880         * src/NetworkManagerUtils.c
881                 - (nm_utils_call_dispatcher): add a 'hostname' action
882
883         * src/NetworkManagerPolicy.c
884                 - (set_system_hostname): dispatch hostname changes
885
886         * callouts/nm-dispatcher-action.c
887                 - (nm_dispatcher_action): handle 'hostname' actions
888
889 2008-10-08  Dan Williams  <dcbw@redhat.com>
890
891         * src/NetworkManagerSystem.c
892                 - (find_route): ref the route so it doesn't get destroyed when the cache
893                         is cleared
894                 - (nm_system_device_set_priority): unref the route here after it's done
895                         being used
896
897 2008-10-08  Dan Williams  <dcbw@redhat.com>
898
899         * src/nm-serial-device.c
900                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
901
902 2008-10-08  Tambet Ingo  <tambet@gmail.com>
903
904         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
905         connection with new settings before saving it.
906
907 2008-10-06  Dan Williams  <dcbw@redhat.com>
908
909         * src/nm-ip4-config.c
910           src/nm-ip4-config.h
911                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
912
913         * src/nm-device-interface.c
914                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
915                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
916                         by using '/' for the object path
917
918         * src/nm-device.c
919                 - (src/nm-device.c): marshal missing/unexported ip4-config through
920                         dbus as '/' since dbus-glib can't handle NULL objects nor can
921                         dbus handle NULL object paths
922
923 2008-10-03  Alexander Sack  <asac@ubuntu.com>
924
925         Implement system hostname support for debian/ubuntu
926
927         * system-settings/plugins/ifupdown/plugin.c
928                 - (GObject__get_property): extend announced capabilities; add
929                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
930                 - (GObject__set_property,write_system_hostname): implement
931                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
932                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
933                    update_system_hostname, get_hostname):
934                         implement hostname property that watches and
935                         parses /etc/hostname
936
937 2008-10-03  Alexander Sack  <asac@ubuntu.com>
938
939         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
940           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
941           system-settings/plugins/ifcfg-fedora/Makefile.am
942           system-settings/src/nm-inotify-helper.c
943           system-settings/src/nm-inotify-helper.h
944           src/Makefile.am
945                 - Move ifcfg-fedora inotify helpers to the system settings service so
946                         they are available to all plugins
947
948 2008-10-03  Alexander Sack  <asac@ubuntu.com>
949
950         Implement support for wep-tx-keyidx in ifupdown system
951         config plugin.
952
953         * system-settings/plugins/ifupdown/parser.c
954                 - (update_wireless_security_setting_from_if_block): introduce
955                         free_type_mapping func table; rename a few local
956                         variables to improve readability; add wpa security mapping
957                         for wep-tx-keyidx property
958                 - (string_to_gpointerint): new function used for the auto_type_mapping
959                         of new wep-tx-keyidx property
960                 - (slist_free_all): free func used for mapped slist types
961
962 2008-10-03  Alexander Sack  <asac@ubuntu.com>
963
964         * system-settings/src/main.c:
965                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
966                         always used as the hash key; fixes a crash when removing wired
967                         devices
968
969 2008-10-02  Dan Williams  <dcbw@redhat.com>
970
971         * src/nm-gsm-device.c
972                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
973                         pass the required GSM secret along via user_data rather than keeping
974                         it around in the private data where it sometimes didn't get cleared
975                 - (real_get_ppp_name): implement using the GSM username
976
977 2008-10-02  Dan Williams  <dcbw@redhat.com>
978
979         * src/ppp-manager/nm-ppp-manager.c
980           src/ppp-manager/nm-ppp-manager.h
981                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
982                         the settings daemon for completely new ones
983                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
984                         local PPP peer name; allow PPP debuging by launching NM with
985                         the environment variable NM_PPP_DEBUG defined
986                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
987                         create_pppd_cmd_line()
988
989         * src/nm-serial-device.c
990           src/nm-serial-device.h
991                 - New 'get_ppp_name' function for subclasses to implement to return the
992                         local PPP peer name
993                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
994                         and pass that name to the PPP manager
995
996         * src/nm-device-ethernet.c
997                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
998                         the local peer name
999
1000         * src/nm-cdma-device.c
1001                 - (real_get_ppp_name): implement using the CDMA username
1002
1003 2008-10-02  Dan Williams  <dcbw@redhat.com>
1004
1005         Patch from Alexander Sack <asac ubuntu com>
1006
1007         * system-settings/plugins/ifupdown/parser.c
1008                 - Implement more graceful ip4 config parsing for cases where
1009                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1010                   by using default values
1011
1012 2008-10-02  Dan Williams  <dcbw@redhat.com>
1013
1014         * src/NetworkManagerPolicy.c
1015                 - (device_state_changed): when marking a connection invalid, clear its
1016                         secrets too so that fresh secrets get requested the next time
1017
1018 2008-10-01  Dan Williams  <dcbw@redhat.com>
1019
1020         * system-settings/src/dbus-settings.c
1021                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1022                         a fallback if no plugin provides a hostname
1023                 - (get_property): fall back to cached hostname if no plugin provides
1024                         a hostname
1025
1026 2008-10-01  Dan Williams  <dcbw@redhat.com>
1027
1028         Fix setting value comparison issue that caused some settings to look the
1029         same when they were really different (rh #464417)
1030
1031         * libnm-util/nm-param-spec-specialized.c
1032                 - (type_is_fixed_size): return fundamental size of the fixed type too
1033                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1034                         in the comparison so that the _entire_ fixed type collection gets
1035                         compared rather than just the first 'len1' bytes
1036
1037 2008-09-30  Dan Williams  <dcbw@redhat.com>
1038
1039         * src/NetworkManagerPolicy.c
1040                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1041                         idle handler could have already run and freed the LookupThread
1042                         structure
1043
1044 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1045
1046         * src/nm-device.c (nm_device_get_priority): Implement.
1047         (nm_device_set_ip4_config): Send the device priority to system ip4 
1048         config setter.
1049
1050         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1051         Add priority argument and if it's >= 0, set the priority of the network
1052         route added automatically by netlink (or kernel?).
1053         (nm_system_device_set_priority): Implement.
1054
1055         * src/NetworkManagerPolicy.c (get_best_device): Use 
1056         nm_device_get_priority() instead of home-grown version. Revert the
1057         meaning, best priority is the lowest one.
1058
1059 2008-09-29  Dan Williams  <dcbw@redhat.com>
1060
1061         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1062         when it returns EAGAIN (rh #362421)
1063
1064         * src/nm-device-wifi.c
1065                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1066                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1067
1068 2008-09-28  Dan Williams  <dcbw@redhat.com>
1069
1070         * src/nm-serial-device.c
1071           src/nm-serial-device.h
1072                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1073                         cleaned at the right times when subclasses close the serial port too
1074                 - (nm_serial_device_send_command): use a default send delay; don't
1075                         spin forever on EAGAIN
1076                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1077                         remove, no longer used
1078                 - (find_response): return the matched response if any
1079                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1080                         while doing so
1081                 - (wait_for_reply_done): pass the matched response to the callback
1082                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1083                         handling
1084                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1085                         const since they never get modified
1086                 - (cleanup_device): split out common cleanup stuff to a new function
1087                 - (real_deactivate_quickly, finalize): use cleanup_device()
1088
1089         * src/nm-gsm-device.c
1090                 - (modem_get_reply): remove, unused
1091                 - (set_apn): give the card a bit more time to respond
1092                 - (manual_registration_again, schedule_manual_registration_again,
1093                    manual_registration_response, manual_registration): handle manual
1094                         registration timeouts better by retrying registration a few times
1095                         because cards are a bit slow after CFUN=1
1096                 - (automatic_registration_get_network, get_network_response): use
1097                         modem_wait_for_reply() because it interacts better with the serial
1098                         buffer and does more intelligent matching; need to wait for 'OK'
1099                         rather than just matching terminators
1100                 - (schedule_automatic_registration_again,
1101                    automatic_registration_response, automatic_registration): retry
1102                         registration a few times on timeout or "searching" because cards
1103                         take a bit to find a network after being powered up with CFUN=1
1104                 - (power_up_response, power_up, init_full_done, enter_pin,
1105                    check_pin_done): power up the card with CFUN=1 before trying to
1106                         register with the network
1107                 - (init_modem_full, init_modem): use more standard 3G init strings
1108
1109         * src/nm-hso-gsm-device.c
1110                 - (modem_get_reply): remove, unused
1111                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1112                         modem_wait_for_reply() to match actual responses instead of single
1113                         termination characters; it doesn't leave stuff in the serial buffer
1114                         that might confuse later calls
1115                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1116                         to ensure that the call is really disconnected and not leave extra
1117                         stuff in the serial buffer
1118
1119         * src/nm-cdma-device.c
1120                 - (power_up_response, power_up, init_done): try Sierra-style modem
1121                         power up before attempting to connect
1122
1123 2008-09-27  Dan Williams  <dcbw@redhat.com>
1124
1125         * libnm-util/nm-setting-gsm.c
1126                 - (verify): verify GSM network ID
1127
1128 2008-09-25  Dan Williams  <dcbw@redhat.com>
1129
1130         * libnm-util/nm-setting-gsm.c
1131           libnm-util/nm-setting-gsm.h
1132                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1133                         technology terms (bgo #551361)
1134
1135 2008-09-25  Dan Williams  <dcbw@redhat.com>
1136
1137         Fix bgo #549401 (inspired by patch from Alexander Sack)
1138
1139         * src/nm-device-ethernet.c
1140                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1141                 - (remove_supplicant_interface_error_handler): remove the supplicant
1142                         error idle callback too
1143                 - (supplicant_interface_release): rename from supplicant_interface_clean
1144                         to match nm-device-wifi.c; clean up supplicant interface-related
1145                         state tasks when the supplicant interface is disposed of
1146                 - (schedule_state_handler): add scheduled tasks to a list so they can
1147                         be cleaned up later
1148                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1149                    supplicant_iface_connection_state_cb_handler): use
1150                         finish_supplicant_task() to clean up each completed task
1151                 - (supplicant_iface_connection_error_cb_handler,
1152                    supplicant_connection_timeout_cb): clear source id when the task is
1153                         complete
1154                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1155                         later cleanup
1156                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1157                         tasks
1158
1159         * src/nm-device-wifi.c
1160                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1161                 - (remove_supplicant_interface_error_handler): remove the supplicant
1162                         error idle callback too
1163                 - (supplicant_interface_release): clean up supplicant interface-related
1164                         state tasks when the supplicant interface is disposed of
1165                 - (schedule_state_handler): add scheduled tasks to a list so they can
1166                         be cleaned up later
1167                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1168                    supplicant_iface_connection_state_cb_handler): use
1169                         finish_supplicant_task() to clean up each completed task
1170                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1171                         the task is complete
1172                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1173                         later cleanup
1174                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1175
1176 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1177
1178         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1179         method and get/set hostname property.
1180
1181 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1182
1183         * src/supplicant-manager/nm-supplicant-interface.c
1184         (nm_supplicant_interface_disconnect): Don't increment the reference 
1185         count when disconnecting. The problem is on shutdown, when the replies
1186         to these commands do not arrive before NM exits, resulting on never
1187         calling supplicant interface's dispose(), which removes the interface
1188         from supplicant.
1189
1190 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1191
1192         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1193         all the public function arguments.
1194
1195 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1196
1197         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1198         "Failure" signal from VPN plugins, store the failure reason, and
1199         use it when the state is changed to failure.
1200
1201         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1202         description.
1203
1204         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1205         reason to the end of the list to not break the API.
1206         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1207         so it can be shared by plugins and daemon.
1208
1209 2008-09-18  Dan Williams  <dcbw@redhat.com>
1210
1211         Patch from Alexander Sack <asac@ubuntu.com>
1212
1213         * configure.in
1214           system-settings/plugins/Makefile.am
1215           system-settings/plugins/ifupdown/Makefile.am
1216           system-settings/plugins/ifupdown/interface_parser.c
1217           system-settings/plugins/ifupdown/interface_parser.h
1218           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1219           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1220           system-settings/plugins/ifupdown/parser.c
1221           system-settings/plugins/ifupdown/parser.h
1222           system-settings/plugins/ifupdown/plugin.c
1223           system-settings/plugins/ifupdown/plugin.h
1224                 - Implement a Debian/Ubuntu legacy network configuration plugin
1225                         (gnome.org #551941)
1226
1227 2008-09-18  Dan Williams  <dcbw@redhat.com>
1228
1229         Implement support for honoring configured and automatic hostnames, and for
1230         setting the configured hostname.
1231
1232         * introspection/nm-ip4-config.xml
1233           src/nm-ip4-config.c
1234           src/nm-ip4-config.h
1235           src/dhcp-manager/nm-dhcp-manager.c
1236                 - Remove useless hostname property; it's not really part of the IPv4
1237                         config
1238
1239         * introspection/nm-settings-system.xml
1240           libnm-glib/nm-dbus-settings-system.c
1241           libnm-glib/nm-dbus-settings-system.h
1242                 - Add SetHostname() call to system settings D-Bus interface
1243                 - Add Hostname property to system settings D-Bus interface
1244                 - (nm_dbus_settings_system_save_hostname,
1245                    nm_dbus_settings_system_get_hostname): implement
1246
1247         * src/nm-device.c
1248           src/nm-device.h
1249                 - (nm_device_get_dhcp4_config): implement
1250
1251         * src/nm-manager.c
1252           src/nm-manager.h
1253                 - Fetch and track system settings service hostname changes, and proxy
1254                         the changes via a GObject property of the manager
1255
1256         * system-settings/src/nm-system-config-interface.c
1257           system-settings/src/nm-system-config-interface.h
1258                 - Replace nm_system_config_interface_supports_add() with a capabilities
1259                         bitfield
1260
1261         * system-settings/src/nm-system-config-error.c
1262           system-settings/src/nm-system-config-error.h
1263                 - Add additional errors
1264
1265         * system-settings/src/dbus-settings.c
1266           system-settings/src/dbus-settings.h
1267                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1268                         property; first plugin returning a hostname wins
1269                 - (impl_settings_add_connection): use plugin capabilities instead of
1270                         nm_system_config_interface_supports_add()
1271                 - (impl_settings_save_hostname): implement hostname saving
1272
1273         * src/NetworkManagerPolicy.c
1274                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1275                    lookup_thread_die): implement an asynchronous hostname lookup thread
1276                         which given an IPv4 address tries to look up the hostname for that
1277                         address with reverse DNS
1278                 - (get_best_device): split out best device code from
1279                         update_routing_and_dns()
1280                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1281                         to preserve the 127.0.0.1 reverse mapping that so many things require
1282                 - (set_system_hostname): set a given hostname
1283                 - (update_system_hostname): implement hostname policy; a configured
1284                         hostname (from the system settings service) is used if available,
1285                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1286                         If there was no automatically determined hostname, reverse DNS of
1287                         the best device's IP address will be used, and as a last resort the
1288                         hostname 'localhost.localdomain' is set.
1289                 - (update_routing_and_dns): use get_best_device(); update the system
1290                         hostname when the network config changes
1291                 - (hostname_changed): update system hostname if the system settings
1292                         service signals a hostname change
1293                 - (nm_policy_new): list for system settings service hostname changes
1294                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1295                         gets told to die
1296
1297         * system-settings/plugins/keyfile/plugin.c
1298           system-settings/plugins/ifcfg-suse/plugin.c
1299                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1300                         capabilities properties
1301
1302         * system-settings/plugins/ifcfg-fedora/shvar.c
1303                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1304                         writes out /etc/sysconfig/network now
1305
1306         * system-settings/plugins/ifcfg-fedora/plugin.c
1307                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1308                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1309                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1310                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1311                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1312                         hostname get/set and capabilities get
1313
1314 2008-09-18  Dan Williams  <dcbw@redhat.com>
1315
1316         * libnm-util/nm-setting-wireless.c
1317                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1318                         group ciphers if the wireless-security setting explicitly specified
1319                         them, effectively making the default be "all ciphers"  (idea from
1320                         Alexander Sack)
1321
1322 2008-09-15  Dan Williams  <dcbw@redhat.com>
1323
1324         Patch from Alexander Sack <asac@ubuntu.com>
1325
1326         * src/named-manager/nm-named-manager.c
1327                 - (dispatch_resolvconf): respect resolvconf exit code
1328
1329 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1330
1331         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1332         again. Add some debugging.
1333
1334 2008-09-11  Dan Williams  <dcbw@redhat.com>
1335
1336         * system-settings/plugins/keyfile/plugin.c
1337                 - (update_connection_settings): update connection manually, since
1338                         nm_exported_connection_update() does authentication
1339                 - (dir_changed): update_connection_settings() doesn't need to return
1340                         an error
1341
1342 2008-09-09  Dan Williams  <dcbw@redhat.com>
1343
1344         * libnm-glib/nm-vpn-plugin-ui-interface.c
1345           libnm-glib/nm-vpn-plugin-ui-interface.h
1346           libnm-glib/libnm_glib_vpn.ver
1347                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1348                         should clean up resources related to the connection (like keyring
1349                         secrets)
1350                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1351                         should save user-scope secrets (like to the keyring)
1352
1353 2008-09-08  Dan Williams  <dcbw@redhat.com>
1354
1355         Patch from Alexander Sack <asac@ubuntu.com>
1356
1357         * libnm-util/crypto_gnutls.c
1358           libnm-util/crypto_nss.c
1359                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1360
1361         * libnm-util/nm-utils.c
1362           libnm-util/nm-utils.h
1363           libnm-util/libnm-util.ver
1364                 - (nm_utils_init): initialize libnm-util
1365                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1366
1367         * libnm-util/nm-setting-8021x.c
1368                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1369
1370 2008-09-05  Dan Williams  <dcbw@redhat.com>
1371
1372         Patch from Roy Marples <roy@marples.name> and others
1373
1374         * configure.in
1375           src/named-manager/nm-named-manager.c
1376                 - Add support for resolvconf; use --with-resolvconf at configure time
1377                         to enable it
1378
1379 2008-09-05  Dan Williams  <dcbw@redhat.com>
1380
1381         * libnm-util/crypto_nss.c
1382           libnm-util/crypto_gnutls.c
1383           libnm-util/crypto.h
1384                 - (crypto_init): return error when init fails
1385
1386 2008-09-05  Dan Williams  <dcbw@redhat.com>
1387
1388         * libnm-glib/nm-device-wifi.c
1389                 - (access_point_removed_proxy): clean up the active access point too
1390                         just in case the active ap changed signal didn't come through yet
1391                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1392
1393 2008-09-05  Dan Williams  <dcbw@redhat.com>
1394
1395         * libnm-glib/nm-client.c
1396                 - (constructor): get initial state after we know whether NM is running
1397                         or not
1398
1399 2008-09-05  Dan Williams  <dcbw@redhat.com>
1400
1401         * libnm-glib/nm-ip4-config.c
1402           libnm-glib/nm-dhcp4-config.c
1403                 - (finalize): clean up the DBusGProxy
1404
1405 2008-09-04  Dan Williams  <dcbw@redhat.com>
1406
1407         * src/nm-ip4-config.c
1408           src/nm-ip4-config.h
1409                 - (nm_ip4_config_new): don't export over D-Bus here
1410                 - (nm_ip4_config_export): new function; export the config over D-Bus
1411                 - (nm_ip4_config_is_exported): new function
1412
1413         * src/nm-device.c
1414                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1415                         objects by balancing the IP4Config constructor; the device holds
1416                         a reference to the IP4Config already
1417                 - (nm_device_set_ip4_config): export the IP4Config when needed
1418
1419 2008-09-04  Dan Williams  <dcbw@redhat.com>
1420
1421         * src/supplicant-manager/nm-supplicant-settings-verify.c
1422                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1423
1424 2008-09-04  Dan Williams  <dcbw@redhat.com>
1425
1426         * libnm-util/nm-setting-vpn.c
1427           libnm-util/nm-setting-vpn.h
1428                 - Split VPN secrets from VPN data so that settings services can actually
1429                         figure out that they are secrets and store them accordingly
1430
1431         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1432           system-settings/plugins/keyfile/reader.c
1433           system-settings/plugins/keyfile/reader.h
1434           system-settings/plugins/keyfile/writer.c
1435                 - Store VPN secrets separately from VPN data so that they can be fetched
1436                         on demand
1437                 - Implement the get_secrets() call so that (a) secrets don't leak out
1438                         to unprivileged callers, and (b) secrets can be sent to privileged
1439                         callers when needed
1440
1441         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1442                 - Handle split VPN secrets
1443
1444 2008-08-27  Dan Williams  <dcbw@redhat.com>
1445
1446         * system-settings/plugins/ifcfg-fedora/reader.c
1447                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1448
1449 2008-08-27  Dan Williams  <dcbw@redhat.com>
1450
1451         Ensure zombie children get cleaned up.  To get notifications when children
1452         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1453         that requires calling waitpid() yourself if you've removed the child watch
1454         handler before the process has actually died, which NM needs to do in a few
1455         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1456         cleans up after the child when required.  Should fix problems trying to
1457         activate mobile broadband connections after a previous failure.
1458
1459         * src/dhcp-manager/nm-dhcp-dhclient.c
1460           src/dhcp-manager/nm-dhcp-dhcpcd.c
1461                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1462
1463         * src/dhcp-manager/nm-dhcp-manager.c
1464                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1465                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1466                         block on child quitting, since the non-blocking functionality was
1467                         never actually used
1468
1469         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1470                 - (dm_watch_cb): child is already reaped here
1471                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1472
1473         * src/nm-device.c
1474                 - (aipd_cleanup): block until child is dead
1475
1476         * src/named-manager/nm-named-manager.c
1477                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1478                         event bothering to watch the child
1479
1480         * src/ppp-manager/nm-ppp-manager.c
1481                 - (ppp_watch_cb): child is already reaped here
1482                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1483
1484         * src/vpn-manager/nm-vpn-service.c
1485                 - (vpn_service_watch_cb): child is already reaped here
1486                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1487                         status of the child is actually tracked
1488                 - (ensure_killed, finalize): block until child is dead
1489
1490 2008-08-26  Dan Williams  <dcbw@redhat.com>
1491
1492         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1493                 - (update): Update filename of the connection if the connection id
1494                         was changed
1495
1496         * system-settings/plugins/keyfile/plugin.c
1497                 - (dir_changed): first pass at handling connection renames correctly
1498
1499         * system-settings/plugins/keyfile/writer.c
1500           system-settings/plugins/keyfile/writer.h
1501                 - (write_connection): replace '/' with '*' when writing out the filename
1502                         from the connection id
1503
1504 2008-08-26  Dan Williams  <dcbw@redhat.com>
1505
1506         Add connection UUIDs, since connection names can be changed, and since
1507         old-style connection IDs could change over the life of the connection.  The
1508         UUID should be assigned at connection creation time, be stable for a given
1509         connection, and should be unique among all connections for a given settings
1510         service.
1511
1512         * configure.in
1513           libnm-util/Makefile.am
1514                 - Require libuuid
1515
1516         * introspection/nm-exported-connection.xml
1517                 - Remove "GetID" method
1518
1519         * libnm-glib/nm-dbus-connection.c
1520           libnm-glib/nm-settings.c
1521           libnm-glib/nm-settings.h
1522                 - Remove id-related stuff
1523
1524         * libnm-util/nm-utils.c
1525           libnm-util/nm-utils.h
1526           libnm-util/libnm-util.ver
1527                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1528                         utility functions to generate UUIDs
1529
1530         * libnm-util/nm-setting-connection.c
1531           libnm-util/nm-setting-connection.h
1532                 - Add 'uuid' member to the connection setting
1533                 - (verify): require valid 'uuid' for a valid connection
1534
1535         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1536           system-settings/plugins/ifcfg-fedora/reader.c
1537           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1538           system-settings/plugins/ifcfg-suse/parser.c
1539           system-settings/plugins/keyfile/nm-keyfile-connection.c
1540           system-settings/src/main.c
1541                 - Remove id-related stuff
1542                 - Give connections UUIDs where needed
1543
1544 2008-08-25  Dan Williams  <dcbw@redhat.com>
1545
1546         * libnm-util/crypto_gnutls.c
1547           libnm-util/crypto_nss.c
1548                 - (crypto_init, crypto_deinit): refcount init/deinit
1549                 - (crypto_md5_hash): allow NULL salt
1550
1551 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1552
1553         * libnm-glib/Makefile.am
1554           libnm-util/Makefile.am
1555           libnm-glib/libnm_glib.ver
1556           libnm-glib/libnm_glib_vpn.ver
1557           libnm-util/libnm-util.ver
1558                 - Use linker version scripts to control the list of exported 
1559                 symbols. List each exported symbol explicitely.
1560         * libnm-util/Makefile.am
1561                 - Fix compilation of the test-crypto binary. The crypto
1562                 functions are no longer part of the libnm-util API. Add 
1563                 crypto_*.c to test_crypto_SOURCES and link against the correct
1564                 crypto libraries.
1565
1566 2008-08-19  Dan Williams  <dcbw@redhat.com>
1567
1568         * configure.in
1569           test/Makefile.am
1570                 - Don't build test/test-common
1571                 - Remove unused stuff
1572
1573         * test/nm-set-fallback
1574           test/nmtestdevices.c
1575           test/test-common/.cvsignore
1576           test/test-common/Makefile.am
1577           test/test-common/test-common.c
1578           test/test-common/test-common.h
1579                 - delete
1580
1581 2008-08-18  Dan Williams  <dcbw@redhat.com>
1582
1583         * libnm-util/nm-utils.c
1584           libnm-util/nm-utils.h
1585                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1586                         export anything that needs to be converted with this function
1587
1588         * src/dhcp-manager/nm-dhcp-manager.c
1589                 - (garray_to_string): convert a byte array to a UTF-8 string with
1590                         minimal validation; the DHCP client sends it in ASCII anyway
1591                 - (get_option, copy_option): use garray_to_string()
1592
1593 2008-08-18  Dan Williams  <dcbw@redhat.com>
1594
1595         * include/NetworkManager.h
1596           introspection/nm-device.xml
1597                 - Add a "missing firmware" device state reason
1598
1599         * src/NetworkManagerSystem.c
1600           src/NetworkManagerSystem.h
1601                 - (nm_system_device_set_up_down): add a no_firmware argument
1602                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1603                         IFF_UP is ENOENT, that almost always means missing firmware
1604
1605         * src/backends/NetworkManagerGeneric.c
1606           src/nm-device-ethernet.c
1607           src/nm-device-private.h
1608           src/nm-device-wifi.c
1609           src/nm-device.c
1610           src/nm-device.h
1611           src/nm-hso-gsm-device.c
1612           src/vpn-manager/nm-vpn-connection.c
1613                 - Pass no_firmware along; check it where appropriate
1614
1615 2008-08-18  Dan Williams  <dcbw@redhat.com>
1616
1617         Patch from Robert Buchholz <rbu@gentoo.org>
1618
1619         * autogen.sh
1620           configure.in
1621                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1622                         1003.1-1988, allowing for file names longer than 99 characters
1623
1624 2008-08-17  Dan Williams  <dcbw@redhat.com>
1625
1626         * include/NetworkManager.h
1627           introspection/nm-device.xml
1628           src/nm-gsm-device.c
1629                 - Finer-grained GSM registration failure error codes
1630
1631 2008-08-17  Dan Williams  <dcbw@redhat.com>
1632
1633         * callouts/Makefile.am
1634           src/Makefile.am
1635                 - Move dispatcher directory creation to callouts/Makefile.am
1636
1637         * system-settings/plugins/keyfile/Makefile.am
1638                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1639
1640 2008-08-15  Dan Williams  <dcbw@redhat.com>
1641
1642         Do connection sharing in a cleaner manner; all required iptables rules
1643         are now stored in the activation request and pertain only to the device
1644         which is being shared to other computers. (rh #458625)
1645
1646         * src/nm-activation-request.c
1647           src/nm-activation-request.h
1648                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1649                         the activation request which will get torn down automatically when
1650                         the activation request dies
1651                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1652                         is started, and tear them down when sharing is stopped
1653
1654         * src/nm-device.c
1655                 - (start_sharing): start up sharing by doing the required iptables magic
1656                 - (share_init): poke the right bits of the kernel and load the right
1657                         modules for NAT
1658                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1659                         connection if it's a 'shared' connection
1660
1661         * src/NetworkManagerPolicy.c
1662                 - Remove all sharing stuff; done in the device code itself
1663
1664 2008-08-15  Dan Williams  <dcbw@redhat.com>
1665
1666         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1667                 - (create_dm_cmd_line): send the right router address
1668
1669 2008-08-15  Dan Williams  <dcbw@redhat.com>
1670
1671         * src/ppp-manager/nm-ppp-manager.c
1672                 - (pppd_timed_out): ensure timeouts fail the connection
1673
1674 2008-08-14  Dan Williams  <dcbw@redhat.com>
1675
1676         * src/nm-properties-changed-signal.c
1677           src/nm-properties-changed-signal.h
1678                 - Add a property spec flag for "don't export this property" in
1679                         property changed signals
1680
1681         * src/nm-hso-gsm-device.c
1682           src/nm-gsm-device.c
1683           src/nm-cdma-device.c
1684                 - Don't export monitor interface or netdev interface properties
1685
1686 2008-08-14  Dan Williams  <dcbw@redhat.com>
1687
1688         * src/NetworkManagerPolicy.c
1689                 - (update_routing_and_dns): 'hso' devices can be default even if they
1690                         don't have a gateway
1691
1692 2008-08-14  Dan Williams  <dcbw@redhat.com>
1693
1694         * src/nm-device.c
1695                 - (nm_device_deactivate_quickly): tear down activation request after
1696                         calling device-specific deactivation
1697
1698         * src/nm-hso-gsm-device.c
1699                 - (real_deactivate_quickly): terminate connection when deactivating
1700
1701 2008-08-14  Dan Williams  <dcbw@redhat.com>
1702
1703         * src/nm-activation-request.h
1704                 - Add HSO secrets caller
1705
1706         * src/nm-gsm-device.c
1707           src/nm-gsm-device.h
1708                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1709                         something to the callback function
1710                 - (set_apn, set_apn_done): call class dial function, not a static one
1711                 - (nm_gsm_device_class_init): add a class 'dial' function
1712
1713         * src/nm-hal-manager.c
1714                 - (get_hso_netdev): find the hso-driven hardware's net device
1715                 - (modem_device_creator): recognize hso-driven hardware and create the
1716                         right type of device object for it
1717
1718         * src/Makefile.am
1719           src/nm-hso-gsm-device.c
1720           src/nm-hso-gsm-device.h
1721                 - Implement support for devices driven by the 'hso' driver as a subclass
1722                         of NMGsmDevice
1723
1724 2008-08-14  Dan Williams  <dcbw@redhat.com>
1725
1726         * src/NetworkManagerSystem.c
1727                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1728                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1729                         success if the operation really was successful
1730
1731 2008-08-14  Dan Williams  <dcbw@redhat.com>
1732
1733         * src/nm-netlink-monitor.c
1734           src/nm-netlink-monitor.h
1735           src/nm-device-ethernet.c
1736                 - (nm_netlink_monitor_request_status): return an error on failure
1737                 - (constructor): don't segfault on missing error
1738
1739 2008-08-13  Dan Williams  <dcbw@redhat.com>
1740
1741         * callouts/nm-dispatcher-action.c
1742                 - Add IP4 config info to script environment
1743
1744 2008-08-12  Dan Williams  <dcbw@redhat.com>
1745
1746         * src/nm-device.c
1747                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1748                         that want to use DHCP hostnames should use dispatcher scripts
1749                         for that
1750
1751         * src/NetworkManagerSystem.h
1752           src/backends/NetworkManagerArch.c
1753           src/backends/NetworkManagerDebian.c
1754           src/backends/NetworkManagerFrugalware.c
1755           src/backends/NetworkManagerGeneric.c
1756           src/backends/NetworkManagerGeneric.h
1757           src/backends/NetworkManagerGentoo.c
1758           src/backends/NetworkManagerMandriva.c
1759           src/backends/NetworkManagerPaldo.c
1760           src/backends/NetworkManagerRedHat.c
1761           src/backends/NetworkManagerSlackware.c
1762           src/backends/NetworkManagerSuSE.c
1763                 - Remove nm_system_set_hostname(), no longer used
1764           
1765         * src/backends/Makefile.am
1766           src/backends/shvar.c
1767           src/backends/shvar.h
1768                 - Remove shvar.*; no longer used
1769
1770 2008-08-12  Dan Williams  <dcbw@redhat.com>
1771
1772         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1773         hostname is updated at runtime.  Distros or users who want hostname updates
1774         can use dispatcher scripts to update the hostname if they need it.
1775
1776 2008-08-12  Dan Williams  <dcbw@redhat.com>
1777
1778         * introspection/nm-settings-system.xml
1779           system-settings/src/dbus-settings.c
1780           system-settings/src/dbus-settings.h
1781                 - Add a 'Hostname' property (rw) which represents the configured
1782                         hostname and domain of the system, if any
1783
1784         * system-settings/src/nm-system-config-error.c
1785           system-settings/src/nm-system-config-error.h
1786           system-settings/src/nm-system-config-interface.c
1787           system-settings/src/nm-system-config-interface.h
1788                 - Add a 'hostname' property to the plugin interface
1789                 - Add a method to send updated hostname to plugins to save in their
1790                         backing configuration store
1791
1792         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1793           system-settings/plugins/keyfile/plugin.c
1794           system-settings/plugins/keyfile/writer.c
1795           system-settings/plugins/keyfile/writer.h
1796           system-settings/plugins/ifcfg-suse/plugin.c
1797                 - Add minimal hostname support
1798
1799         * system-settings/plugins/ifcfg-fedora/plugin.c
1800                 - Add support for updating system hostname in /etc/sysconfig/network
1801
1802 2008-08-12  Dan Williams  <dcbw@redhat.com>
1803
1804         * system-settings/plugins/ifcfg-fedora/shvar.c
1805           system-settings/plugins/ifcfg-fedora/shvar.c
1806                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1807
1808 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1809
1810         * Makefile.am: Fix distcheck.
1811
1812 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1813
1814         * libnm-glib/*.c. Document some more.
1815
1816 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1817
1818         Start documenting libnm-glib public API using gtk-doc.
1819
1820         * libnm-glib/nm-serial-device.c: 
1821         * libnm-glib/nm-object.c: 
1822         * libnm-glib/nm-gsm-device.c: 
1823         * libnm-glib/nm-device.c: 
1824         * libnm-glib/nm-device-wifi.c: 
1825         * libnm-glib/nm-device-ethernet.c: 
1826         * libnm-glib/nm-client.c: 
1827         * libnm-glib/nm-cdma-device.c: Document the public API.
1828
1829         * docs/libnm-glib/libnm-glib.types: Implement.
1830
1831         * docs/libnm-glib/Makefile.am: Implement.
1832
1833         * autogen.sh: 
1834         * configure.in: 
1835         * Makefile.am: Add gtk-doc support.
1836
1837 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1838
1839         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1840
1841         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1842         the composite result of all the IP4 configurations and call a distro
1843         specific update_resolv_conf().
1844         (update_resolv_conf): Implement one for directly writing to 
1845         /etc/resolv.conf and one for opensuse to call netconfig.
1846
1847 2008-08-11  Dan Williams  <dcbw@redhat.com>
1848
1849         * src/ppp-manager/nm-ppp-manager.c
1850                 - (impl_ppp_manager_need_secrets): pass interface as required
1851
1852 2008-08-11  Dan Williams  <dcbw@redhat.com>
1853
1854         Merge the vpn-properties setting with the vpn setting since it was pointless
1855         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1856         of string:string (instead of string:variant) so that system settings plugins
1857         can have an easier time dealing with the arbitrary key/value pairs.
1858
1859 2008-08-11  Dan Williams  <dcbw@redhat.com>
1860
1861         * libnm-util/nm-utils.c
1862                 - (nm_utils_register_value_transformations): add value transform for
1863                         a hash table of string:string
1864
1865 2008-08-10  Dan Williams  <dcbw@redhat.com>
1866
1867         * libnm-glib/nm-vpn-plugin.c
1868                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1869                         an idle handler so the Connect reply gets delivered before the
1870                         stop StateChanged signal
1871
1872 2008-08-10  Dan Williams  <dcbw@redhat.com>
1873
1874         * src/nm-ip4-config.c
1875                 - (get_property): use common ip4 address/route conversion functions
1876                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1877                         copy the new route here, not take ownership
1878
1879 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1880
1881         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1882         Update the IP4 setting's method name.
1883
1884 2008-08-07  Dan Williams  <dcbw@redhat.com>
1885
1886         * introspection/nm-ip4-config.xml
1887           libnm-glib/libnm-glib-test.c
1888           libnm-glib/nm-ip4-config.c
1889           libnm-glib/nm-ip4-config.h
1890           src/NetworkManagerSystem.h
1891           src/backends/NetworkManagerArch.c
1892           src/backends/NetworkManagerDebian.c
1893           src/backends/NetworkManagerFrugalware.c
1894           src/backends/NetworkManagerGeneric.c
1895           src/backends/NetworkManagerGeneric.h
1896           src/backends/NetworkManagerGentoo.c
1897           src/backends/NetworkManagerMandriva.c
1898           src/backends/NetworkManagerPaldo.c
1899           src/backends/NetworkManagerRedHat.c
1900           src/backends/NetworkManagerSlackware.c
1901           src/backends/NetworkManagerSuSE.c
1902           src/dhcp-manager/nm-dhcp-manager.c
1903           src/nm-device.c
1904           src/nm-ip4-config.c
1905           src/nm-ip4-config.h
1906                 - Remove NIS logic; should be done from dispatcher scripts instead
1907
1908 2008-08-07  Dan Williams  <dcbw@redhat.com>
1909
1910         * src/dhcp-manager/nm-dhcp-manager.c
1911                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1912                         mis-handling of DHCP responses that returned more than one router
1913                         (found by Grant Williamson)
1914
1915 2008-08-07  Dan Williams  <dcbw@redhat.com>
1916
1917         * callouts/nm-dispatcher-action.c
1918                 - (nm_dispatcher_action): grab device path and create the device; pass
1919                         the device's DHCP4 config to script caller
1920                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1921                         scripts
1922
1923         * libnm-glib/nm-dhcp4-config.c
1924           libnm-glib/nm-dhcp4-config.h
1925                 - (nm_dhcp4_config_get_options): expose
1926                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1927
1928 2008-08-07  Dan Williams  <dcbw@redhat.com>
1929
1930         * include/NetworkManager.h
1931                 - Add the DHCP4Config D-Bus interface
1932
1933         * libnm-glib/Makefile.am
1934           libnm-glib/nm-dhcp4-config.c
1935           libnm-glib/nm-dhcp4-config.h
1936                 - Handle DHCP4 config objects exported by NM over D-Bus
1937
1938         * libnm-glib/nm-device.c
1939           libnm-glib/nm-device.h
1940                 - Add a 'dhcp4-config' property
1941
1942         * libnm-glib/libnm-glib-test.c
1943                 - Print out DHCP4 config for devices
1944                 - Fix some crashes when no connections are active
1945
1946         * src/nm-device-interface.c
1947           src/nm-device.c
1948           src/nm-dhcp4-config.c
1949           src/nm-dhcp4-config.h
1950                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1951                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1952                         doesn't let us do when the property type is G_TYPE_OBJECT
1953
1954 2008-08-07  Dan Williams  <dcbw@redhat.com>
1955
1956         * src/NetworkManager.c
1957           src/NetworkManagerSystem.h
1958           src/backends/NetworkManagerArch.c
1959           src/backends/NetworkManagerDebian.c
1960           src/backends/NetworkManagerFrugalware.c
1961           src/backends/NetworkManagerGeneric.c
1962           src/backends/NetworkManagerGeneric.h
1963           src/backends/NetworkManagerGentoo.c
1964           src/backends/NetworkManagerMandriva.c
1965           src/backends/NetworkManagerPaldo.c
1966           src/backends/NetworkManagerRedHat.c
1967           src/backends/NetworkManagerSlackware.c
1968           src/backends/NetworkManagerSuSE.c
1969                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1970
1971 2008-08-06  Dan Williams  <dcbw@redhat.com>
1972
1973         * libnm-glib/nm-ip4-config.c
1974           libnm-glib/nm-ip4-config.h
1975                 - Add 'routes' property
1976
1977         * libnm-util/nm-setting-vpn.c
1978           libnm-util/nm-setting-vpn.h
1979                 - Remove 'routes' property
1980
1981         * libnm-util/nm-setting-ip4-config.c
1982           libnm-util/nm-setting-ip4-config.h
1983                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1984                 - Add 'ignore-auto-routes' property
1985                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1986                         accomodate route metrics
1987                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1988
1989         * libnm-util/nm-utils.c
1990           libnm-util/nm-utils.h
1991                 - Add helpers for marshalling IP4 routes
1992
1993         * src/NetworkManagerUtils.c
1994                 - (nm_utils_merge_ip4_config): handle property renames and new route
1995                         structure
1996
1997         * src/NetworkManagerSystem.c
1998                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1999                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2000
2001         * src/dhcp-manager/nm-dhcp-manager.c
2002                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2003
2004         * system-settings/plugins/ifcfg-fedora/reader.c
2005           system-settings/plugins/ifcfg-fedora/writer.c
2006                 - Handle routes separately from addresses now that routes have a different
2007                         format
2008
2009         * introspection/nm-ip4-config.xml
2010           src/nm-ip4-config.c
2011           src/nm-ip4-config.h
2012                 - Rename internal routing functions
2013                 - 'static-routes' renamed to 'routes'
2014
2015 2008-08-04  Dan Williams  <dcbw@redhat.com>
2016
2017         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2018
2019         * src/NetworkManager.c
2020           src/nm-manager.c
2021           src/nm-manager.h
2022                 - More explicitly make the NMManager a singleton
2023
2024 2008-08-04  Dan Williams  <dcbw@redhat.com>
2025
2026         * libnm-util/nm-connection.c
2027           libnm-util/nm-connection.h
2028                 - (nm_connection_verify): return error on missing 'connection' setting
2029                         (found by Sjoerd Simons)
2030
2031 2008-08-04  Dan Williams  <dcbw@redhat.com>
2032
2033         Handle multiple concurrent PPP connections.
2034
2035         * src/ppp-manager/nm-ppp-manager.c
2036           src/ppp-manager/nm-ppp-manager.h
2037                 - (constructor): only PPP Manager request bus name once; each
2038                         NMPPPManager object gets a unique object path
2039                 - (nm_ppp_manager_class_init, get_property, set_property,
2040                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2041                         at construct time
2042                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2043                         remove timeout until PPP manager gets an IP4 config
2044                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2045                         the plugin can call back to this specific PPP manager instance
2046
2047         * src/nm-device-ethernet.c
2048           src/nm-serial-device.c
2049                 - Pass parent device in nm_ppp_manager_new()
2050
2051         * src/nm-gsm-device.c
2052           src/nm-cdma-device.c
2053                 - (device_state_changed): don't close serial device on NEED_AUTH
2054                         state changed, that's not a failure case like the rest are
2055
2056         * src/ppp-manager/nm-pppd-plugin.c
2057                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2058                         binds one interface to any pppd process, thus the correct index
2059                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2060                         problems; try harder to get a peer address in spite of pppd
2061                 - (plugin_init): use 'ipparam' as the object path back to our specific
2062                         PPP manager instance
2063
2064 2008-08-04  Dan Williams  <dcbw@redhat.com>
2065
2066         * src/ppp-manager/nm-ppp-manager.c
2067                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2068                         since the GSM and CDMA settings now implement need_secrets, we can
2069                         rely on them to do the right thing.  Where secrets are not required,
2070                         just pass empty strings back to the pppd plugin.
2071                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2072                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2073                         on successful IP4 config receipt
2074
2075 2008-08-04  Dan Williams  <dcbw@redhat.com>
2076
2077         * libnm-util/nm-setting-cdma.c
2078           libnm-util/nm-setting-gsm.c
2079                 - (verify): validate username & password if they exist
2080                 - (need_secrets): if username given, require a password too
2081
2082 2008-08-04  Dan Williams  <dcbw@redhat.com>
2083
2084         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2085                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2086                         manpage says about --listen-address without --interface
2087                         (bgo #546033)
2088
2089 2008-08-01  Dan Williams  <dcbw@redhat.com>
2090
2091         * libnm-glib/nm-device.c
2092                 - (proxy_get_string): util function for querying a HAL property
2093                 - (get_ancestor_device): split out from get_product_and_vendor()
2094                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2095                         from PCI devices by querying subsys properties
2096                 - (nm_device_update_description): simplify
2097
2098 2008-08-01  Dan Williams  <dcbw@redhat.com>
2099
2100         * libnm-util/nm-setting-ip4-config.c
2101           libnm-util/nm-setting-ip4-config.h
2102                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2103                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2104                         settings, and they don't necessarily use DHCP.
2105
2106         * src/NetworkManagerPolicy.c
2107           src/nm-device.c
2108           system-settings/plugins/ifcfg-fedora/reader.c
2109           system-settings/plugins/ifcfg-suse/parser.c
2110                 - Fixup for method changes
2111
2112 2008-07-31  Dan Williams  <dcbw@redhat.com>
2113
2114         * src/nm-activation-request.c
2115           src/vpn-manager/nm-vpn-connection.c
2116                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2117                         itself should be attached to the activation request or the VPN
2118                         connection, not the NMConnection object, since the call is not
2119                         expected to live as long as the NMConnection itself
2120
2121 2008-07-31  Dan Williams  <dcbw@redhat.com>
2122
2123         * src/nm-device-wifi.c
2124                 - (real_act_stage2_config): fix issue where association would continue
2125                         even though secrets were needed; 'goto out' was in wrong scope and
2126                         result of handle_auth_or_fail() should have been dumped directly to
2127                         'ret' to ensure that the association was postponed until secrets
2128                         are available
2129
2130 2008-07-31  Dan Williams  <dcbw@redhat.com>
2131
2132         * system-settings/plugins/ifcfg-fedora/plugin.c
2133           system-settings/plugins/ifcfg-fedora/reader.c
2134                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2135                         valid NM connection
2136
2137 2008-07-29  Dan Williams  <dcbw@redhat.com>
2138
2139         * src/nm-gsm-device.c
2140                 - (automatic_registration_response, automatic_registration): recognize
2141                         denied registration and reorder responses
2142
2143 2008-07-29  Dan Williams  <dcbw@redhat.com>
2144
2145         * src/nm-serial-device.c
2146                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2147                         time(2) is used for current time, which returns seconds, we shouldn't
2148                         be multiplying by 1000.
2149
2150 2008-07-28  Dan Williams  <dcbw@redhat.com>
2151
2152         Patch from Fabrice Bellet <fabrice@bellet.info>
2153
2154         * src/NetworkManagerSystem.c
2155                 - (route_in_same_subnet): mask addresses and compare them so that the
2156                         function actually does what it says it's going to do (rh #456685)
2157
2158 2008-07-27  Dan Williams  <dcbw@redhat.com>
2159
2160         * libnm-util/nm-setting-ip6-config.c
2161                 - (set_property): add missing break that caused routes to be overwritten
2162                         with addresses
2163
2164         * libnm-util/nm-setting-ip6-config.c
2165                 - (verify): validate routes and return GError everywhere on invalid setting
2166                 - (finalize): don't leak routes
2167                 - (set_property): add missing break that caused routes to be overwritten
2168                         with addresses
2169
2170 2008-07-27  Dan Williams  <dcbw@redhat.com>
2171
2172         * libnm-util/*
2173                 - Relicense to LGPLv2+
2174
2175 2008-07-27  Dan Williams  <dcbw@redhat.com>
2176
2177         * system-settings/plugins/ifcfg-fedora/reader.c
2178                 - (make_ip4_setting): fix parsing automatic configs
2179
2180 2008-07-27  Dan Williams  <dcbw@redhat.com>
2181
2182         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2183           src/nm-device.c
2184           src/ppp-manager/nm-ppp-manager.c
2185                 - Ensure child process gets reaped.  The child watch function may be
2186                         removed from the mainloop before the child gets killed, so we have
2187                         to make sure the child is reaped when it's told to die intentionally
2188
2189 2008-07-27  Dan Williams  <dcbw@redhat.com>
2190
2191         Patch from Roy Marples <roy@marples.name>
2192
2193         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2194                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2195
2196 2008-07-27  Dan Williams  <dcbw@redhat.com>
2197
2198         * src/nm-gsm-device.c
2199                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2200                         Huawei devices turn echo back on after CPIN (rh #456770)
2201
2202 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2203
2204         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2205         format argument to g_set_error() call.
2206
2207         * src/backends/interface_parser.[ch]: Remove.
2208
2209         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2210
2211 2008-07-21  Dan Williams  <dcbw@redhat.com>
2212
2213         * src/ppp-manager/nm-ppp-manager.c
2214                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2215                         to prevent pppd from picking up some random local address from an
2216                         interface that doesn't have anything to do with the one we're
2217                         interested in (rh #455348)
2218
2219 2008-07-17  Dan Williams  <dcbw@redhat.com>
2220
2221         * libnm-util/nm-utils.c
2222                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2223                         by locale
2224                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2225                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2226
2227 2008-07-17  Dan Williams  <dcbw@redhat.com>
2228
2229         * introspection/Makefile.am
2230           introspection/nm-device.xml
2231           introspection/nm-dhcp4-config.xml
2232                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2233                         itself
2234         * src/nm-device-interface.c
2235           src/nm-device-interface.h
2236                 - Add the DHCP4Config property
2237
2238         * src/nm-device.c
2239                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2240                         D-Bus clients when it changes
2241
2242         * src/nm-dhcp4-config.c
2243           src/nm-dhcp4-config.h
2244                 - Simple object to store DHCP4 options, export them over D-Bus, and
2245                         notify when they change
2246
2247         * src/dhcp-manager/nm-dhcp-manager.c
2248           src/dhcp-manager/nm-dhcp-manager.h
2249                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2250                         filter server-returned DHCP options into an NMDHCP4Config object
2251
2252 2008-07-16  Dan Williams  <dcbw@redhat.com>
2253
2254         * introspection/nm-device.xml
2255                 - Add device state reasons
2256
2257 2008-07-16  Dan Williams  <dcbw@redhat.com>
2258
2259         Patch from Roy Marples <roy@marples.name>
2260
2261         * configure.in
2262                 - Add --with-dhcp-client option
2263
2264         * src/dhcp-manager/Makefile.am
2265                 - pass DHCP_CLIENT_PATH on compile line
2266
2267         * src/dhcp-manager/nm-dhcp-manager.c
2268           src/dhcp-manager/nm-dhcp-manager.h
2269                 - Genericize for both dhcpcd and dhclient
2270
2271         * src/dhcp-manager/nm-dhcp-dhclient.c
2272                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2273
2274         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2275                 - Implement support for dhcpcd too
2276
2277 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2278
2279         * system-settings/src/nm-system-config-interface.c 
2280         (nm_system_config_interface_supports_add): Implement.
2281         (nm_system_config_interface_add_connection): Return a boolean to notify
2282         of errors.
2283
2284         * system-settings/src/nm-polkit-helpers.c: 
2285         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2286         a separate file.
2287
2288         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2289         Return an error when none of the plugins support add or if addition
2290         failed for some reason.
2291
2292         * system-settings/src/nm-system-config-error.h: 
2293         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2294         here from nm-polkit-helpers.[ch].
2295
2296         * system-settings/src/Makefile.am: Build new files.
2297
2298         * system-settings/plugins/keyfile/reader.c 
2299         (read_array_of_array_of_uint): Make it more general so that it would
2300         work for routes as well.
2301
2302         * system-settings/plugins/keyfile/writer.c
2303         (write_array_of_array_of_uint): Ditto.
2304         Fix the netmask/prefix writing.
2305
2306         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2307         boolean to notify errors.
2308
2309         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2310         Return more specific error.
2311         (delete): Ditto.
2312
2313 2008-07-11  Dan Williams  <dcbw@redhat.com>
2314
2315         Modify the NMDevice::state-changed signal to include the previous state
2316         and reason. Enables the applet to provide more information why device
2317         activation failed.
2318
2319 2008-07-09  Dan Williams  <dcbw@redhat.com>
2320
2321         * callouts/Makefile.am
2322           callouts/nm-avahi-autoipd-action.c
2323           callouts/nm-avahi-autoipd.conf
2324                 - avahi-autoipd callout to send options back to NM
2325
2326         * src/autoip.c
2327           src/autoip.h
2328                 - remove
2329
2330         * src/nm-device.c
2331           src/nm-device-private.h
2332           src/nm-manager.c
2333                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2334                         old custom stuff
2335
2336 2008-07-07  Dan Williams  <dcbw@redhat.com>
2337
2338         * system-settings/plugins/ifcfg-fedora/reader.c
2339                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2340                         handle PREFIX too; clean up
2341
2342 2008-07-07  Dan Williams  <dcbw@redhat.com>
2343
2344         Convert to using IPv4 prefixes instead of netmasks.
2345
2346 2008-07-03  Dan Williams  <dcbw@redhat.com>
2347
2348         * libnm-util/nm-setting-ip4-config.c
2349           libnm-util/nm-setting-ip4-config.h
2350                 - Add properties for DHCP Client Identifier and DHCP Hostname
2351
2352         * src/dhcp-manager/nm-dhcp-manager.c
2353           src/dhcp-manager/nm-dhcp-manager.h
2354                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2355                         setting as an argument to pass on to the dhclient config file
2356                         creation function
2357                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2358                         DHCP is torn down
2359                 - (dhclient_run): punt config file handling to create_dhclient_config()
2360                 - (create_dhclient_config): create an interface-specific dhclient
2361                         config file since there may need to be interface-specific options
2362                         passed to dhclient
2363                 - (merge_dhclient_config): merge normal distro dhclient config file and
2364                         add options from the connection
2365                 - (nm_dhcp_device_new): generate the interface specific dhclient
2366                         config file path once
2367                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2368                         dhclient config file path
2369
2370         * src/nm-device.c
2371                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2372                         DHCP manager when starting DHCP
2373
2374 2008-07-02  Dan Williams  <dcbw@redhat.com>
2375
2376         * libnm-util/nm-setting-8021x.c
2377                 - (verify): allow forcing the PEAP label to 0
2378
2379 2008-07-02  Dan Williams  <dcbw@redhat.com>
2380
2381         * introspection/nm-active-connection.xml
2382           introspection/nm-vpn-connection.xml
2383           libnm-glib/nm-active-connection.c
2384           src/nm-activation-request.c
2385           src/nm-active-connection.h
2386           src/vpn-manager/nm-vpn-connection.c
2387                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2388                         and libnm-glib API since sharing didn't get implemented that way
2389
2390 2008-07-02  Dan Williams  <dcbw@redhat.com>
2391
2392         * src/nm-device-wifi.c
2393                 - (can_scan): don't scan when a shared connection is activated since
2394                         that makes drivers mad (causing disconnects); also NM doesn't need
2395                         to hedge against disconnects by keeping up-to-date network topology
2396                         because the connection originates from the local machine, and thus
2397                         there should be no disconnects
2398
2399 2008-07-01  Dan Williams  <dcbw@redhat.com>
2400
2401         Fix mobile broadband username/password issues.  NM was never requesting
2402         mobile broadband secrets, nor was it passing back the username and password
2403         if it had them.
2404
2405         * marshallers/nm-marshal.list
2406                 - Add some new types for activation request objects
2407
2408         * src/nm-activation-request.c
2409           src/nm-activation-request.h
2410                 - (get_secrets_cb): pass the caller type in the signal
2411                 - (nm_act_request_request_connection_secrets): take a caller type, so
2412                         that GetSecrets() reply handlers know who asked for the secrets in
2413                         the first place; use secret hints too so the settings service can
2414                         figure out exactly what NM wants (ie, PIN or the PPP password)
2415
2416         * src/ppp-manager/nm-ppp-manager.c
2417           src/ppp-manager/nm-ppp-manager.h
2418                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2419                         detect needed secrets when the secret could be blank, like GSM/CDMA
2420                         passwords.  So always ask for secrets, and send a hint as to what
2421                         secret we really want.
2422                 - (nm_ppp_manager_update_secrets): make function more generic by making
2423                         the device specific class figure out the username and password, and
2424                         accept an error argument to return back over D-Bus
2425
2426         * src/nm-device-wifi.c
2427                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2428                         nm_act_request_request_connection_secrets()
2429                 - (real_connection_secrets_updated): update for 'caller' changes
2430
2431         * src/nm-device.c
2432           src/nm-device.h
2433                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2434                         for 'caller' changes
2435
2436         * src/nm-device-ethernet.c
2437                 - (real_connection_secrets_updated): update for 'caller' changes and
2438                         move logic for getting PPPoE username and password here before
2439                         calling nm_ppp_manager_update_secrets()
2440                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2441                         nm_act_request_request_connection_secrets()
2442
2443         * src/nm-cdma-device.c
2444                 - (real_connection_secrets_updated): pass username and password back
2445                         to the PPP manager when required
2446
2447         * src/nm-gsm-device.c
2448                 - (enter_pin): send the required secret name to the settings service
2449                 - (real_connection_secrets_updated): pass username and password back
2450                         to the PPP manager when required
2451
2452 2008-06-30  Dan Williams  <dcbw@redhat.com>
2453
2454         * src/nm-device-wifi.c
2455                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2456
2457 2008-06-30  Dan Williams  <dcbw@redhat.com>
2458
2459         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2460         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2461         priv->supplicant.iface.  When either condition is false, the device should
2462         transition back to UNAVAILABLE because it cannot be used.
2463
2464         * src/nm-device-wifi.c
2465                 - (constructor): cleanup; connect to supplicant manager here since the
2466                         supplicant manager is always around
2467                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2468                         ensure the supplicant manager is in the IDLE state
2469                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2470                         cancel any pending scans too
2471                 - (real_bring_up): don't set up the supplicnat interface here, because
2472                         we need the supplicant interface at times when the device may not
2473                         be "up"
2474                 - (real_take_down): just remove the periodic source
2475                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2476                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2477                         do anything if there's no supplicant interface
2478                 - (cleanup_association_attempt): cleanup
2479                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2480                         the interface enters the READY state; transition to UNAVAILABLE
2481                         state when the interface goes down because the device can't be used
2482                         without a supplicant interface
2483                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2484                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2485                         acquire the supplicant interface and transition to DISCONNECTED
2486                         if the radio isn't killed
2487                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2488                 - (state_changed_cb): release any existing supplicant interface; if the
2489                         radio is enabled then try to acquire a new supplicant interface;
2490                         if the radio is enabled and a supplicant interface has been acquired,
2491                         we can transition to DISCONNECTED
2492                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2493                         don't enable the radio, because HAL probably lied to us about the
2494                         killswitch being off.  If bringing the hardware up worked, then
2495                         try to grab a supplicant interface, and if that was successful,
2496                         transition to DISCONNECTED
2497
2498 2008-06-30  Dan Williams  <dcbw@redhat.com>
2499
2500         * src/supplicant-manager/nm-supplicant-interface.c
2501                 - (request_scan_results, nm_supplicant_interface_dispose,
2502                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2503                         the id of the timeout, not a GSource
2504
2505 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2506
2507         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2508         bunch of typoes introduced by "Patch from David Cantrell 
2509         <dcantrell@redhat.com> and me".
2510
2511 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2512
2513         * src/nm-serial-device.c: 
2514         * src/nm-gsm-device.c: 
2515         * src/nm-cdma-device.c: Move the pending call handling to a common location
2516         in serial device. Handle setting device state to failed in one place as well.
2517
2518 2008-06-29  Dan Williams <dcbw@redhat.com>
2519
2520         * src/nm-hal-manager.c
2521                 - Rework killswitch handling to query killswitch status immediately
2522                         when the first killswitch is added, so that rfkill state is
2523                         known as early as possible
2524                 - Also treat failure of GetPower() as rfkill when the dbus method
2525                         call times out (but not when the HAL callout returns an error)
2526
2527 2008-06-26  Dan Williams <dcbw@redhat.com>
2528
2529         Patch from David Cantrell <dcantrell@redhat.com> and me
2530
2531         * include/nm-dbus-glib-types.h
2532                 - Add IP6 address types
2533
2534         * libnm-util/Makefile.am
2535           libnm-util/nm-setting-ip6-config.c
2536           libnm-util/nm-setting-ip6-config.h
2537                 - Add IP6 settings object
2538
2539         * libnm-util/nm-connection.c
2540                 - (register_default_settings): register ip6 settings object
2541
2542         * libnm-util/nm-utils.c
2543           libnm-util/nm-utils.h
2544                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2545                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2546                         ip6 address conversion functions
2547         
2548 2008-06-26  Dan Williams <dcbw@redhat.com>
2549
2550         Patch from David Cantrell <dcantrell@redhat.com>
2551         
2552         * Use inet_ntop() and inet_pton() everwhere and check for errors
2553
2554 2008-06-26  Dan Williams <dcbw@redhat.com>
2555
2556         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2557
2558 2008-06-26  Dan Williams <dcbw@redhat.com>
2559
2560         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2561
2562         * src/nm-device-wifi.c
2563                 - (link_timeout_cb): don't ignore disconnects due to scanning
2564                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2565                         a longer timeout when scanning; avoids case where supplicant can't
2566                         find the AP and just keeps scanning forever but isn't connected
2567
2568 2008-06-26  Dan Williams <dcbw@redhat.com>
2569
2570         Patch from Michael Biebl <biebl@debian.org>
2571
2572         * Clean up build system stuff
2573
2574 2008-06-23  Christian Persch  <chpe@gnome.org>
2575
2576         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2577         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2578         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2579         (impl_get_object):
2580         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2581         (impl_get_object):
2582         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2583         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2584         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2585         (impl_get_object):
2586         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2587         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2588         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2589         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2590         * vpn-daemons/pptp/properties/vpnui_opt.c:
2591         (vpnui_opt_connect_signals):
2592         * vpn-daemons/pptp/properties/vpnui_opt.h:
2593         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2594         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2595         deprecated gtk type macros. Bug #539325.
2596
2597 2008-06-20  Dan Williams  <dcbw@redhat.com>
2598
2599         * libnm-glib/nm-vpn-plugin-ui-interface.c
2600           libnm-glib/nm-vpn-plugin-ui-interface.h
2601                 - 'validity-changed' -> 'changed' to work better with the connection
2602                         editor.  Plugin UI widgets should emit 'changed' whenever their
2603                         UI values change in a meaningful way.
2604                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2605                         update_connection member now returns validity of the UI widget
2606
2607 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2608
2609         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2610
2611 2008-06-17  Dan Williams  <dcbw@redhat.com>
2612
2613         * libnm-glib/nm-vpn-plugin-ui-interface.c
2614           libnm-glib/nm-vpn-plugin-ui-interface.h
2615                 - Add "desc" property for longer descriptions of the VPN plugin
2616
2617 2008-06-16  Dan Williams  <dcbw@redhat.com>
2618
2619         * configure.in
2620           libnm-glib/libnm_glib_vpn.pc.in
2621                 - add a .pc file for libnm_glib_vpn
2622
2623         * libnm-glib/nm-vpn-plugin-ui-interface.c
2624           libnm-glib/nm-vpn-plugin-ui-interface.h
2625                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2626                         rework it substantially
2627
2628 2008-06-12  Dan Williams  <dcbw@redhat.com>
2629
2630         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2631         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2632         returns a descriptive GError when verification fails.
2633
2634 2008-06-11  Dan Williams  <dcbw@redhat.com>
2635
2636         Patch from Tambet Ingo <tambet@gmail.com>
2637
2638         * libnm-util/nm-setting-gsm.c
2639                 - (verify): validate APN
2640
2641         * src/nm-gsm-device.c
2642                 - (manual_registration_done): start setting APN if needed
2643                 - (set_apn, set_apn_done): set the APN
2644                 - (do_dial): use the APN when dialing
2645
2646 2008-06-11  Dan Williams  <dcbw@redhat.com>
2647
2648         * src/NetworkManagerSystem.c
2649                 - (nm_system_device_set_ip4_route,
2650                    nm_system_device_replace_default_ip4_route): check for the right
2651                         return value from rtnl_route_add() to know when to add a gateway
2652                         route (from Tambet)
2653
2654 2008-06-11  Dan Williams  <dcbw@redhat.com>
2655
2656         * src/NetworkManagerPolicy.c
2657                 - do_ipt_cmd -> do_cmd
2658                 - (sharing_init): use do_cmd() instead of system()
2659
2660 2008-06-10  Dan Williams  <dcbw@redhat.com>
2661
2662         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2663         and use "wifi" everwhere instead.
2664
2665 2008-06-10  Dan Williams  <dcbw@redhat.com>
2666
2667         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2668
2669 2008-06-10  Dan Williams  <dcbw@redhat.com>
2670
2671         Patch from Tambet Ingo <tambet@gmail.com>
2672
2673         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2674                 changes.
2675
2676         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2677                 a signal to emit these changes over dbus.
2678
2679         * src/Makefile.am: Genereate nm-serial-device-glue.
2680
2681         * libnm-glib/nm-serial-device.[ch]: Implement.
2682
2683         * libnm-glib/nm-cdma-device.[ch]
2684           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2685
2686         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2687
2688         * introspection/nm-device-serial.xml: Implement.
2689
2690         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2691
2692         * introspection/Makefile.am: Add nm-device-serial.xml.
2693
2694         * include/NetworkManager.h: Add a DBus interface for serial device.
2695
2696 2008-06-10  Dan Williams  <dcbw@redhat.com>
2697
2698         * configure.in
2699                 - Add TARGET_* define to config.h to distinguish distros
2700
2701         * src/dhcp-manager/nm-dhcp-manager.c
2702                 - (dhclient_run): use distro-specific path for dhclient config file
2703
2704 2008-06-09  Dan Williams  <dcbw@redhat.com>
2705
2706         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2707           src/dnsmasq-manager/nm-dnsmasq-manager.h
2708                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2709                         calculate the addresses passed to dnsmasq instead of hard-coding
2710                         them
2711
2712         * src/nm-device.c
2713                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2714                         IP addresses for shared connections to guard against shared
2715                         connection address collisions
2716                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2717                         error conditions
2718                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2719                         the dnsmasq manager
2720
2721 2008-06-09  Dan Williams  <dcbw@redhat.com>
2722
2723         * src/NetworkManagerPolicy.c
2724                 - (update_routing_and_dns): set the default connection _after_ unsetting
2725                         default on all non-default connections so that two connections can
2726                         never be default at the same time
2727                 - (device_state_changed): start and stop connection sharing when
2728                         needed
2729                 - (active_connection_default_changed): restart or stop sharing when
2730                         the default connection changes to keep shared connections always
2731                         NAT-ed through the default connection
2732                 - (check_sharing): handle activation/deactivation of shared connections
2733                 - (sharing_restart): atom-bomb approach to connection sharing until we
2734                         can use libnl; reinit all sharing when the default connection or
2735                         shared connections change
2736                 - (sharing_init, sharing_stop): evil functions that init and deinit
2737                         iptables
2738
2739 2008-06-09  Dan Williams  <dcbw@redhat.com>
2740
2741         * src/nm-activation-request.c
2742           src/nm-activation-request.h
2743                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2744                    nm_act_request_get_device): new functions to facilitate connection
2745                         sharing
2746
2747 2008-06-09  Dan Williams  <dcbw@redhat.com>
2748
2749         * src/nm-device.c
2750                 - (clear_act_request): unset the 'default' property of the activation
2751                         request when clearing it to ensure the property changed signal gets
2752                         delivered and handled
2753
2754 2008-06-09  Dan Williams  <dcbw@redhat.com>
2755
2756         * libnm-glib/nm-device-802-11-wireless.c
2757                 - (access_point_removed_proxy): actually unref the AP after removing
2758                         it from the device's AP list.  Fixes refcounting bug for APs that
2759                         caused them to get mixed up in the applet's menu.
2760
2761 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2762
2763         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2764         (nm_dhcp_device_destroy): Destroy the device options hash table.
2765
2766 2008-06-06  Dan Williams <dcbw@redhat.com>
2767
2768         * system-settings/src/nm-polkit-helpers.c
2769                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2770                         unref the context if the initialization fails; also avoid spew when
2771                         the error isn't set
2772
2773 2008-06-06  Dan Williams <dcbw@redhat.com>
2774
2775         Patch from Tambet Ingo  <tambet@gmail.com>
2776
2777         * src/NetworkManagerSystem.c
2778           src/NetworkManagerSystem.h
2779                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2780                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2781                 - (nm_system_device_set_ip4_route): clean up
2782                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2783
2784         * src/nm-device.c
2785                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2786
2787         * src/vpn-manager/nm-vpn-connection.c
2788                 - (ip_address_to_string): new function
2789                 - (print_vpn_config): use ip_address_to_string
2790                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2791                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2792
2793         * include/NetworkManagerVPN.h
2794                 - Add 'routes' key
2795
2796 2008-06-05  Dan Williams <dcbw@redhat.com>
2797
2798         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2799
2800         * test/nm-tool.c
2801                 - Show which device is the default device
2802
2803 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2804
2805         Fix memory leaks.
2806
2807         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2808         Free data returned from dbus method call.
2809
2810         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2811         dbus_g_method_get_sender() returns a duplicated string, free it 
2812         when done.
2813         (check_polkit_privileges): Looks like policykit sometimes returns
2814         error and non-null return value, don't leak errors in that case.
2815
2816         * system-settings/src/main.c (find_plugin): Don't leak existing 
2817         plugin names.
2818         (load_stuff): Don't leak device list and list items.
2819         (have_connection_for_device): Don't leak connection list.
2820
2821         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2822         Free the data received from g_keyfile_get_*.
2823
2824         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2825         the key when the security object is updated.
2826
2827         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2828         Free data returned from dbus method call.
2829         (iface_state_cb): Ditto.
2830         (add_network_cb): Ditto.
2831         (nm_supplicant_interface_add_cb): Don't make another copy of already
2832         duplicated object path.
2833         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2834         when done.
2835
2836         * src/supplicant-manager/nm-supplicant-config.c 
2837         (ADD_STRING_LIST_VAL): Fix a memory leak.
2838
2839         * src/nm-manager.c (free_get_settings_info): Free the allocated
2840         memory slice.
2841         (list_connections_cb): Free data returned from dbus method call.
2842         (system_settings_get_unmanaged_devices_cb): Ditto.
2843
2844         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2845
2846         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2847         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2848         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2849         of the GList.
2850
2851         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2852         arguments after the object is created.
2853
2854 2008-06-04  Dan Williams <dcbw@redhat.com>
2855
2856         * libnm-util/Makefile.am
2857                 - Don't distribute nm-param-spec-specialized.h
2858
2859 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2860
2861         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2862
2863         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2864         NMIP4Address, update the getters and setters.
2865
2866         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2867         Use the updated NMIP4Config routes api.
2868
2869         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2870         static routes as well.
2871
2872         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2873         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2874         routes api.
2875
2876 2008-05-30  Dan Williams <dcbw@redhat.com>
2877
2878         * src/named-manager/nm-named-manager.c
2879           src/named-manager/nm-named-manager.h
2880                 - Remove stale/obsolete bits for controlling bind over DBus
2881
2882 2008-05-29  Dan Williams <dcbw@redhat.com>
2883
2884         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2885           src/dnsmasq-manager/nm-dnsmasq-manager.h
2886                 - (nm_dnsmasq_manager_new): move iface argument here
2887                 - (constructor): remove, not needed
2888                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2889                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2890
2891         * src/nm-device.c
2892                 - (real_act_stage4_get_ip4_config,
2893                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2894                         changes
2895
2896 2008-05-29  Dan Williams <dcbw@redhat.com>
2897
2898         * src/nm-device.c
2899                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2900                         something happens to dnsmasq
2901                 - (nm_device_new_ip4_shared_config): new function; create a new
2902                         ip4-config for shared connections.  Shared connections always use a
2903                         fixed static IP address.
2904                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2905                         autoip connections by actually using the returned ip4-config and
2906                         not leaking it
2907                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2908                         connections
2909                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2910                         if its active
2911
2912 2008-05-29  Dan Williams <dcbw@redhat.com>
2913
2914         * src/nm-device-802-11-wireless.c
2915                 - (real_get_best_auto_connection): auto-activate 'shared' method
2916                         connections too
2917
2918 2008-05-29  Dan Williams <dcbw@redhat.com>
2919
2920         * libnm-util/nm-setting-ip4-config.c
2921           libnm-util/nm-setting-ip4-config.h
2922                 - Add a 'shared' method to indicate that this connection should be
2923                         brought up with a DHCP and proxy DNS server to facilitate
2924                         connection sharing.
2925                 - (verify): 'shared' method doesn't allow DNS or searches either
2926
2927 2008-05-29  Dan Williams <dcbw@redhat.com>
2928
2929         * configure.in
2930           src/Makefile.am
2931           src/dnsmasq-manager/Makefile.am
2932           src/dnsmasq-manager/nm-dnsmasq-manager.c
2933           src/dnsmasq-manager/nm-dnsmasq-manager.h
2934                 - Add a dnsmasq daemon manager to facilitate connection sharing
2935
2936 2008-05-29  Dan Williams <dcbw@redhat.com>
2937
2938         * src/nm-device-private.h
2939                 - Remove unused prototypes and clean up
2940
2941         * src/nm-device.c
2942                 - Remove anything related to system_config_data, which is no longer used
2943                 - (nm_device_new_ip4_autoip_config): make static
2944
2945 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2946
2947         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2948         (file_changed): Fix a bug where suse system settings plugin didn't
2949         update the connections automatically when the files changed.
2950
2951 2008-05-28  Dan Williams  <dcbw@redhat.com>
2952
2953         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2954
2955 2008-05-28  Dan Williams  <dcbw@redhat.com>
2956
2957         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2958
2959         * src/NetworkManagerSystem.c
2960                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2961                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2962                         was causing -EINVAL errors since the libnl code actually does flush
2963                         the routes on VPN interfaces now
2964
2965         * src/backends/NetworkManagerArch.c
2966           src/backends/NetworkManagerDebian.c
2967           src/backends/NetworkManagerFrugalware.c
2968           src/backends/NetworkManagerGeneric.c
2969           src/backends/NetworkManagerGentoo.c
2970           src/backends/NetworkManagerMandriva.c
2971           src/backends/NetworkManagerPaldo.c
2972           src/backends/NetworkManagerRedHat.c
2973           src/backends/NetworkManagerSlackware.c
2974           src/backends/NetworkManagerSuSE.c
2975                 - (nm_system_device_flush_ip4_routes,
2976                    nm_system_device_flush_ip4_routes_with_iface): remove
2977
2978 2008-05-28  Dan Williams  <dcbw@redhat.com>
2979
2980         * libnm-util/nm-setting-wireless.c
2981           libnm-util/nm-setting-wireless.h
2982                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2983                         'adhoc-create' property, which when TRUE indicates that NM should
2984                         create this connection as an adhoc wifi network if it's not found
2985                         as an adhoc network during scanning.  Can be used to auto-create
2986                         adhoc networks when used in combination with autoconnect.
2987
2988 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2989
2990         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2991
2992         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2993         checked, it doesn't work on some devices.
2994
2995 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2996
2997         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2998         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2999
3000         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3001         Use inet_aton() everywhere to improve error detection.
3002         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3003         provided.
3004
3005 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3006
3007         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3008         Fix a typo.
3009
3010 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3011
3012         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3013         reference counting issue.
3014
3015 2008-05-23  Dan Williams  <dcbw@redhat.com>
3016
3017         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3018
3019         * src/backends/NetworkManagerGeneric.c
3020                 - (nm_generic_enable_loopback): use libnl
3021
3022 2008-05-23  Dan Williams  <dcbw@redhat.com>
3023
3024         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3025
3026         * src/NetworkManagerSystem.h
3027           src/backends/NetworkManagerArch.c
3028           src/backends/NetworkManagerDebian.c
3029           src/backends/NetworkManagerFrugalware.c
3030           src/backends/NetworkManagerGentoo.c
3031           src/backends/NetworkManagerMandriva.c
3032           src/backends/NetworkManagerPaldo.c
3033           src/backends/NetworkManagerRedHat.c
3034           src/backends/NetworkManagerSlackware.c
3035           src/backends/NetworkManagerSuSE.c
3036                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3037                    nm_system_flush_arp_cache): remove, unused
3038
3039         * src/backends/NetworkManagerGeneric.c
3040           src/backends/NetworkManagerGeneric.h
3041                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3042                    nm_generic_flush_arp_cache): remove, unused
3043
3044 2008-05-23  Dan Williams  <dcbw@redhat.com>
3045
3046         * system-settings/plugins/ifcfg-fedora/reader.c
3047                 - (make_ip4_setting): honor PEERDNS setting
3048
3049 2008-05-23  Dan Williams  <dcbw@redhat.com>
3050
3051         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3052
3053         * src/NetworkManagerSystem.c
3054                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3055                         libnl
3056
3057         * src/backends/NetworkManagerArch.c
3058           src/backends/NetworkManagerDebian.c
3059           src/backends/NetworkManagerFrugalware.c
3060           src/backends/NetworkManagerGentoo.c
3061           src/backends/NetworkManagerMandriva.c
3062           src/backends/NetworkManagerPaldo.c
3063           src/backends/NetworkManagerRedHat.c
3064           src/backends/NetworkManagerSlackware.c
3065           src/backends/NetworkManagerSuSE.c
3066                 - (nm_system_device_flush_ip4_addresses,
3067                    nm_system_device_flush_ip4_addresses_with_iface): remove
3068
3069         * src/backends/NetworkManagerGeneric.c
3070                 - (nm_generic_device_flush_ip4_addresses,
3071                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3072
3073 2008-05-23  Dan Williams  <dcbw@redhat.com>
3074
3075         * src/supplicant-manager/nm-supplicant-settings-verify.c
3076                 - Switch 'bssid' from bytes to keyword type
3077                 - (validate_type_keyword): allow NULL keyword lists
3078
3079         * src/supplicant-manager/nm-supplicant-config.c
3080                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3081                         a byte array to string form, which is what the supplicant expects
3082
3083 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3084
3085         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3086         information received from DHCP.
3087
3088         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3089         to make it possible to ignore the DNS information (both servers and 
3090         searches) returned by DHCP server.
3091
3092         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3093         name servers and searches if "ignore_dhcp_dns" is set.
3094
3095         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3096         (nm_ip4_config_reset_searches): Implement.
3097
3098 2008-05-22  Dan Williams  <dcbw@redhat.com>
3099
3100         Remove anything mDNS related.  This is better done from a distro-specific
3101         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3102         avahi, since avahi can handle interface changes just fine using netlink.
3103
3104         * configure.in
3105                 - Remove --with-mdns-provider
3106
3107         * src/NetworkManagerPolicy.c
3108                 - (global_state_changed): don't restart the mdns provider
3109
3110         * src/NetworkManagerSystem.h
3111           src/backends/NetworkManagerArch.c
3112           src/backends/NetworkManagerDebian.c
3113           src/backends/NetworkManagerFrugalware.c
3114           src/backends/NetworkManagerGentoo.c
3115           src/backends/NetworkManagerMandriva.c
3116           src/backends/NetworkManagerPaldo.c
3117           src/backends/NetworkManagerRedHat.c
3118           src/backends/NetworkManagerSlackware.c
3119           src/backends/NetworkManagerSuSE.c
3120                 - (nm_system_restart_mdns_responder): remove
3121
3122         * src/backends/NetworkManagerGeneric.c
3123           src/backends/NetworkManagerGeneric.h
3124                 - (nm_generic_restart_mdns_responder): remove
3125
3126 2008-05-22  Dan Williams  <dcbw@redhat.com>
3127
3128         * configure.in
3129                 - clean up crypto options; just use --with-crypto=nss or
3130                         --with-crypto=gnutls
3131
3132 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3133
3134         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3135         anymore, do it right away.
3136
3137 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3138
3139         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3140         serial device open when we're not connecting or connected.
3141
3142         * src/nm-cdma-device.c (device_state_changed): Ditto.
3143
3144 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3145
3146         Don't remove all devices on waking up, sync with HAL.
3147
3148         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3149         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3150         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3151
3152 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3153
3154         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3155         If the default gateway is unreachable, add a route to gateway and try
3156         again.
3157
3158 2008-05-20  Dan Williams  <dcbw@redhat.com>
3159
3160         * system-settings/plugins/ifcfg-fedora/reader.c
3161                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3162
3163 2008-05-19  Dan Williams  <dcbw@redhat.com>
3164
3165         * system-settings/plugins/ifcfg-fedora/reader.c
3166                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3167                         if the ifcfg doesn't specify one (rh #446527)
3168
3169 2008-05-19  Dan Williams  <dcbw@redhat.com>
3170
3171         Make the system settings service exit when the bus goes away.  Since it's
3172         a bus-activated service, it's lifetime is limited to the bus that activated
3173         it (rh #444976).
3174
3175         * system-settings/src/Makefile.am
3176           system-settings/src/nm-system-config-hal-manager-private.h
3177                 - Remove nm-system-config-hal-manager-private.h
3178
3179         * system-settings/src/nm-system-config-hal-manager.c
3180                 - (nm_system_config_hal_manager_reinit_dbus,
3181                    nm_system_config_hal_manager_deinit_dbus): remove
3182
3183         * system-settings/src/main.c
3184                 - (dbus_reconnect): remove
3185                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3186                 - (destroy_cb): just quit when the bus goes away
3187                 - (start_dbus_service, dbus_init): simplify
3188                 - (main): destroy the wired devices hash table after destroying
3189                         the HAL manager so we don't have to disconnect signals from the
3190                         HAL manager
3191
3192 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3193
3194         Move crypto functions from nm-applet to libnm-util.
3195
3196         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3197         (nm_setting_802_1x_set_client_cert)
3198         (nm_setting_802_1x_set_phase2_ca_cert)
3199         (nm_setting_802_1x_set_phase2_client_cert)
3200         (nm_setting_802_1x_set_private_key)
3201         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3202         file (or private key and it's password), read the certificate data.
3203
3204         * libnm-util/crypto_nss.c: 
3205         * libnm-util/crypto_gnutls.c: 
3206         * libnm-util/crypto.[ch]: Move here from nm-applet.
3207
3208         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3209
3210         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3211         Imlement WPA-EAP configuration reading from sysconfig.
3212
3213 2008-05-16  Dan Williams  <dcbw@redhat.com>
3214
3215         * src/nm-device-802-11-wireless.c
3216                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3217                         wireless
3218
3219 2008-05-14  Dan Williams  <dcbw@redhat.com>
3220
3221         Fix Linus' bug in rh #134886
3222
3223         * src/nm-device-802-3-ethernet.c
3224                 - (constructor): request initial carrier state
3225
3226         * src/nm-netlink-monitor.c
3227                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3228                         signals after refilling the link cache.  Because the refill is a 
3229                         synchronous operation, the normal message hander won't get called
3230                         since libnl has already consumed the messages.
3231                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3232
3233 2008-05-14  Dan Williams  <dcbw@redhat.com>
3234
3235         * src/NetworkManagerSystem.c
3236                 - (nm_system_device_is_up_with_iface): clean up
3237
3238 2008-05-13  Dan Williams  <dcbw@redhat.com>
3239
3240         Fix refcounting issues over sleep/wake when a VPN connection was active that
3241         caused NM to try registering an object path for a device upon wake that was
3242         the same as an already registered object path.
3243
3244         * src/nm-device.c
3245                 - (nm_device_take_down): properly handle cases where the device is
3246                         no longer active but was just active, and therefore must be
3247                         deactivated.  When a device moves to unmanaged mode, this function
3248                         previously would not deactivate the device, because the state was
3249                         already unmanaged by the time this function was called.
3250
3251         * src/vpn-manager/nm-vpn-connection.c
3252                 - (device_state_changed): properly handle multiple devices states in
3253                         which the device is now deactivated.  Code previously didn't handle
3254                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3255                         UNMANAGED states.
3256
3257 2008-05-13  Dan Williams  <dcbw@redhat.com>
3258
3259         * src/nm-device-private.h
3260           src/nm-device.c
3261                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3262
3263         * src/nm-device-802-11-wireless.c
3264                 - (nm_device_802_11_wireless_set_enabled): take devices up
3265                         and down as appropriate for the rfkill state
3266
3267 2008-05-13  Dan Williams  <dcbw@redhat.com>
3268
3269         * marshallers/nm-marshal.list
3270                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3271
3272         * system-settings/plugins/ifcfg-fedora/Makefile.am
3273           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3274           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3275                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3276                         events.  Solely for use watching ifcfg files to pick up changes
3277                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3278
3279         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3280                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3281                         file contents change
3282                 - (finalize): clean up inotify watches
3283                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3284                         and the connection ifcfg for changes on their hardlinks
3285                 - (files_changed_cb): proxy the changed signal back out to listeners
3286
3287         * system-settings/plugins/ifcfg-fedora/plugin.c
3288                 - (dir_changed): 
3289                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3290                         changes
3291                 - (read_one_connection): connect to change signals on the new connection
3292                 - (dir_changed, connection_changed_handler,
3293                    handle_connection_remove_or_new): break out connection change
3294                         handling and connection new/remove handling so it can be used from
3295                         both the GFileMonitor callback and the NMIfcfgConnection changed
3296                         signals
3297
3298         * system-settings/plugins/ifcfg-fedora/reader.c
3299           system-settings/plugins/ifcfg-fedora/reader.h
3300                 - (connection_from_file): return the keyfile path the connection would use
3301
3302 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3303
3304         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3305         single PolKitContext which is shared by all. PolKitContext::unref leaks
3306         just about everything, including all open file descriptiors and results
3307         in 99% cpu usage when data arrives to any of the fds that don't belong
3308         to any context anymore.
3309
3310 2008-05-12  Dan Williams  <dcbw@redhat.com>
3311
3312         * gfilemonitor/glocaldirectorymonitor.c
3313           gfilemonitor/glocaldirectorymonitor.h
3314                 - (g_local_directory_monitor_constructor): actually subscribe to the
3315                         watch
3316                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3317
3318         * gfilemonitor/glocalfilemonitor.c
3319           gfilemonitor/glocalfilemonitor.h
3320                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3321                 - (_g_local_file_monitor_new): ensure that inotify is started up
3322
3323 2008-05-11  Dan Williams  <dcbw@redhat.com>
3324
3325         * configure.in
3326                 - record PolicyKit version
3327
3328         * system-settings/src/nm-polkit-helpers.c
3329                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3330                         with PolicyKit <= 0.6
3331
3332 2008-05-11  Dan Williams  <dcbw@redhat.com>
3333
3334         Update Fedora system-settings plugin to support latest API and use
3335         GFileMonitor rather than home-rolled inotify code.
3336
3337         * system-settings/plugins/ifcfg-fedora/Makefile.am
3338           system-settings/plugins/ifcfg-fedora/common.h
3339           system-settings/plugins/ifcfg-fedora/plugin.c
3340                 - Update to latest system settings plugin API; use GIO instead of
3341                         custom inotify code; use NMIfcfgConnection objects instead of
3342                         ConnectionData structures tacked onto NMConnection objects
3343
3344         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3345           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3346                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3347                         connections
3348
3349         * system-settings/plugins/ifcfg-fedora/reader.c
3350           system-settings/plugins/ifcfg-fedora/reader.h
3351                 - Move ifcfg parsing bits here from parser.c
3352
3353         * system-settings/plugins/ifcfg-fedora/parser.c
3354           system-settings/plugins/ifcfg-fedora/parser.h
3355                 - Remove; most code moved to reader.c
3356
3357 2008-05-11  Dan Williams  <dcbw@redhat.com>
3358
3359         * configure.in
3360           Makefile.am
3361           gfilemonitor/*
3362                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3363                         implementation, so that the same change monitoring code can be used
3364                         on systems without glib-2.14 (like Fedora 8)
3365
3366         * system-settings/plugins/keyfile/Makefile.am
3367           system-settings/plugins/keyfile/plugin.c
3368           system-settings/plugins/ifcfg-suse/Makefile.am
3369           system-settings/plugins/ifcfg-suse/plugin.c
3370                 - Use private gfilemonitor code if GIO is not present
3371
3372 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3373
3374         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3375         NMExportedConnection's 'update' and 'delete' and return error with
3376         descriptive message.
3377
3378 2008-05-08  Dan Williams  <dcbw@redhat.com>
3379
3380         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3381
3382         * src/nm-gsm-device.c
3383           src/nm-cdma-device.c
3384                 - (real_get_best_auto_connection): implement; allow autoconnection
3385                         to GSM & CDMA devices
3386
3387 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3388
3389         Use PolicyKit to authorize the system settings' AddConnection method
3390         and the system settings connections' Update and Delete methods.
3391         
3392         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3393         (impl_exported_connection_delete, nm_exported_connection_update)
3394         (nm_exported_connection_delete): Return boolean and fill GError
3395         to notify the callers of the reasons why it might have failed.
3396
3397         * libnm-glib/nm-dbus-settings-system.c
3398         (nm_dbus_settings_system_add_connection): Return the error from dbus
3399         call so that the callers can see why it failed.
3400
3401         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3402         signatures.
3403
3404         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3405
3406         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3407         abstract base class that checks PolicyKit permissions.
3408
3409         * system-settings/src/dbus-settings.c:
3410         (impl_settings_add_connection): Check the policy before carring out
3411         the request.
3412
3413         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3414         Inherit from NMSysconfigConnection, check the policies before
3415         allowing updating or removing.
3416
3417         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3418         Inherit from NMSysconfigConnection.
3419
3420         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3421         "Delete" methods with async flag so that the implementations can get
3422         access to DBusGMethodInvocation.
3423
3424         * system-settings/src/dbus-settings.c 
3425         (settings_add_connection_check_privileges): Implement.
3426         (impl_settings_add_connection): Check the privileges before adding a new
3427         connection. Improve error reporting.
3428
3429         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3430         async so that the implementation can access DBusGMethodInvocation.
3431
3432         * configure.in: Check for PolicyKit.
3433
3434         * policy/org.freedesktop.network-manager-settings.system.policy: 
3435         New file.
3436
3437         * policy/Makefile.am: Install the policy file.
3438
3439         * configure.in: Add 'policy' subdir.
3440
3441 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3442
3443         Rewrite the suse system settings plugin.
3444
3445         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3446
3447         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3448
3449         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3450
3451         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3452
3453         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3454
3455         * system-settings/src/main.c (load_plugins): Improve error reporting.
3456
3457         * system-settings/src/sha1.[ch] Add.
3458
3459         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3460
3461 2008-05-07  Dan Williams  <dcbw@redhat.com>
3462
3463         * system-settings/plugins/keyfile/reader.c
3464                 - (read_one_setting_value): handle IP address items separately
3465                 - (read_array_of_uint): read IPv4 DNS option as a string array
3466                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3467                         array
3468
3469         * system-settings/plugins/keyfile/writer.c
3470                 - (write_setting_value): handle IP address items separately
3471                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3472                         not an array of uint, so that it's user-editable
3473                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3474                         arrays, so they are user-editable
3475
3476 2008-05-07  Dan Williams  <dcbw@redhat.com>
3477
3478         * system-settings/plugins/keyfile/Makefile.am
3479                 - Change location of the keyfile plugin settings to
3480                         /etc/NetworkManager/system-connections
3481
3482 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3483
3484         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3485
3486         * system-settings/plugins/keyfile/plugin.c: Work with
3487         NMKeyfileConnections.
3488
3489         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3490         Plugins are supposed to return NMExportedConnections now and handle the
3491         updated(), removed(), and GetSecrets().
3492         Store the internal list of connections in hash table to make it easier
3493         to find duplicates.
3494
3495 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3496
3497         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3498         for multiple IP addresses.
3499
3500 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3501
3502         Patch from André Lemos.
3503
3504         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3505         corruption.
3506
3507 2008-05-06  Dan Williams  <dcbw@redhat.com>
3508
3509         * src/dhcp-manager/nm-dhcp-manager.c
3510                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3511                         NMIP4Config to support multiple IP addresses
3512
3513         * src/NetworkManagerUtils.c
3514                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3515
3516         * src/nm-ip4-config.c
3517           src/nm-ip4-config.h
3518                 - Store a list of IPv4 address/netmask/gateway tuples
3519                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3520                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3521                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3522                    nm_ip4_config_set_address): remove
3523                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3524                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3525                         new functions; handle multiple IPv4 addresses
3526
3527         * src/nm-device.c
3528           src/ppp-manager/nm-ppp-manager.c
3529           src/vpn-manager/nm-vpn-connection.c
3530           src/NetworkManagerPolicy.c
3531           test/nm-tool.c
3532           libnm-glib/libnm-glib-test.c
3533                 - update for changes to NMIP4Config for multiple IPv4 addresses
3534
3535         * src/NetworkManagerSystem.c
3536                 - (nm_system_device_set_ip4_route): don't add the route if any address
3537                         is on the same subnet as the destination
3538                 - (check_one_address): ignore the exact match, just match family and
3539                         interface index
3540                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3541                         an interface
3542                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3543                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3544
3545         * introspection/nm-ip4-config.xml
3546                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3547                 - Add 'addresses' property which is an array of (uuu) tuples of
3548                         address/netmask/gateway
3549
3550         * libnm-util/nm-setting-ip4-config.c
3551                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3552
3553         * libnm-glib/nm-ip4-config.c
3554           libnm-glib/nm-ip4-config.h
3555                 - Handle D-Bus interface changes to support multiple IP addresses
3556
3557 2008-05-06  Dan Williams  <dcbw@redhat.com>
3558
3559         * libnm-util/nm-utils.c
3560           libnm-util/nm-utils.h
3561                 - (nm_utils_ip4_addresses_from_gvalue,
3562                    nm_utils_ip4_addresses_to_gvalue): new functions
3563
3564 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3565
3566         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3567         the returned connection paths.
3568
3569 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3570
3571         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3572         "PropertiesChanged" signal signature.
3573
3574         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3575         defined in nm-dbus-glib-types.h.
3576         Don't register the connection on dbus, we're a proxy class to 
3577         communicate with an already registered connection over dbus.
3578
3579 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3580
3581         Implement new subclasses of NMSettings and NMExportedConnection to make
3582         it easier for the applet to access and modify system settings.
3583
3584         * libnm-glib/nm-dbus-connection.[ch]:
3585         * libnm-glib/nm-dbus-settings.[ch]:
3586         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3587
3588         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3589         bindings and glue.
3590
3591         * include/NetworkManager.h: Define the system settings DBus interface.
3592
3593 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3594
3595         Implement additional C API for exported connections to make them identical
3596         with the DBus API. Change the (list_connections) virtual function to be
3597         more usable from C - instead of requiring implementers to return a GPtrArray
3598         of dbus paths, return a list of connections.
3599
3600         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3601         (nm_settings_list_connections):
3602         (nm_exported_connection_new):
3603         (nm_exported_connection_update):
3604         (nm_exported_connection_delete): Implement.
3605
3606         (impl_settings_list_connections):
3607         (impl_exported_connection_update):
3608         (impl_exported_connection_delete): Use the new public functions to make 
3609         sure the C and dbus interfaces stay in sync.
3610
3611         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3612         connections.
3613
3614 2008-05-02  Dan Williams  <dcbw@redhat.com>
3615
3616         * system-settings/plugins/ifcfg-fedora/plugin.c
3617                 - (dispose): use right unref call on the DBusGConnection
3618
3619 2008-05-02  Dan Williams  <dcbw@redhat.com>
3620
3621         * src/nm-serial-device.c
3622                 - (find_terminator): don't compare the whole line, just the size of the
3623                         terminator, since some modems put stuff after the terminator, like
3624                         "CONNECT 9600"
3625
3626 2008-05-01  Dan Williams  <dcbw@redhat.com>
3627
3628         Patch from Michael Biebl <biebl@debian.org>
3629
3630         * callouts/Makefile.am
3631           callouts/org.freedesktop.nm_dispatcher.service.in
3632           system-settings/src/Makefile.am
3633           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3634                 - use the right install location for dbus-activated stuff
3635
3636 2008-04-30  Dan Williams  <dcbw@redhat.com>
3637
3638         * src/nm-gsm-device.c
3639                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3640                         PIN or PUK
3641
3642 2008-04-30  Dan Williams  <dcbw@redhat.com>
3643
3644         * src/nm-manager.c
3645                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3646
3647 2008-04-30  Dan Williams  <dcbw@redhat.com>
3648
3649         * src/nm-device-802-3-ethernet.c
3650           src/nm-device-802-11-wireless.c
3651                 - (real_is_up): return true instead of chaining up to unimplemented
3652                         parent method
3653
3654 2008-04-30  Dan Williams  <dcbw@redhat.com>
3655
3656         * src/NetworkManagerSystem.c
3657           src/NetworkManagerSystem.h
3658                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3659                         functions to check device flags for IFF_UP
3660
3661         * src/nm-serial-device.c
3662                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3663                         implement is_up
3664
3665         * src/nm-device-802-3-ethernet.c
3666           src/nm-device-802-11-wireless.c
3667                 - (real_hw_is_up): call nm_system_device_is_up()
3668
3669         * src/nm-device.c
3670                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3671                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3672                         does not implement
3673
3674 2008-04-29  Dan Williams  <dcbw@redhat.com>
3675
3676         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3677
3678         * marshallers/nm-marshal.list
3679                 - Add marshaller
3680
3681         * src/NetworkManager.c
3682                 - (main): let the NMManager handle the NMHalManager
3683
3684         * src/nm-hal-manager.c
3685           src/nm-hal-manager.h
3686                 - convert to a GObject, and emit singals when stuff changes.  Let the
3687                         NMManager handle the signals, instead of the NMHalManager calling
3688                         into the NMManager.  
3689
3690         * src/nm-manager.c
3691           src/nm-manager.h
3692                 - (remove_one_device): consolidate device removals here
3693                 - (dispose): use remove_one_device()
3694                 - (nm_manager_get_device_by_udi): make static
3695                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3696                         manager for devices at startup or wakeup time
3697                 - (nm_manager_new): create and monitor the HAL manager
3698                 - (hal_manager_udi_added_cb): new function; do what
3699                         nm_manager_add_device() used to do when signalled by the hal manager
3700                 - (hal_manager_udi_removed_cb): new function; do what
3701                         nm_manager_remove_device() used to do when signalled by the hal
3702                         manager
3703                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3704                         hal manager
3705                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3706                         in our device list that aren't known to HAL
3707                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3708                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3709                         commits ago
3710                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3711                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3712                    nm_manager_wireless_hardware_enabled,
3713                    nm_manager_set_wireless_hardware_enabled): remove, unused
3714
3715 2008-04-28  Dan Williams  <dcbw@redhat.com>
3716
3717         Fix the device up/down ambiguities.  Up/down state used to be a
3718         conglomeration of hardware state (IFF_UP) and any device-specific things
3719         (supplicant, periodic timers, etc) that the device used to indicate
3720         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3721         reason, then the device specific stuff wouldn't get run, and the device
3722         would be stuck.
3723
3724         * src/nm-device.c
3725           src/nm-device.h
3726                 - Create hw_is_up, hw_bring_up, and hw_take_down
3727                 - Rename bring_down -> take_down
3728                 - (real_hw_is_up): check interface flags for IFF_UP
3729                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3730                 - (nm_device_is_up): make static; only used locally
3731                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3732                         if the device is already up; if the device isn't up, bring it up
3733                 - (nm_device_hw_take_down): just take down hardware
3734                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3735                 - (nm_device_take_down): always deactivate device when called; always
3736                         try to take hardware down too
3737                 - (nm_device_state_changed): take device down when entering unmanaged
3738                         state from a higher state
3739
3740         * src/nm-device-802-11-wireless.c
3741                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3742                         check IFF_UP really
3743                 - (real_take_down, supplicant_iface_state_cb_handler, 
3744                    supplicant_iface_connection_state_cb_handler,
3745                    supplicant_mgr_state_cb_handler): fix some messages
3746
3747         * src/nm-device-802-3-ethernet.c
3748                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3749                         check IFF_UP really
3750
3751 2008-04-28  Dan Williams  <dcbw@redhat.com>
3752
3753         * src/nm-manager.c
3754           src/nm-manager.h
3755                 - (nm_manager_error_get_type): add new error
3756                 - (nm_manager_remove_device): don't bother taking down the device here,
3757                         the state change from unmanaging the device will do it
3758                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3759                         uses it; when going to sleep, just unmanage the device instead of
3760                         taking it down, because stuff will cleaned up correctly when the
3761                         device gets unmanaged
3762
3763 2008-04-28  Dan Williams  <dcbw@redhat.com>
3764
3765         * src/nm-hal-manager.c
3766                 - (add_initial_devices): convert to a GSourceFunc prototype
3767                 - (nm_manager_state_changed): when coming out of sleep, punt the
3768                         device re-addition to an idle handler to let D-Bus events go out
3769                         first, fixing a potential dbus-glib assert if the old device was
3770                         not yet disposed (due to references held while emitting the D-Bus
3771                         signals) but the new device was found, because the mainloop didn't
3772                         run between signal emission and add_initial_devices()
3773
3774 2008-04-27  Dan Williams  <dcbw@redhat.com>
3775
3776         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3777
3778         * initscript/paldo/NetworkManager.in
3779           initscript/SUSE/networkmanager.in
3780                 - Remove last bits of dhcdbd
3781
3782 2008-04-27  Dan Williams  <dcbw@redhat.com>
3783
3784         * src/nm-device-802-11-wireless.c
3785                 - (link_timeout_cb): don't ask for secrets when disconnected during
3786                         association/authentication phase, drivers are still just too crappy
3787
3788 2008-04-27  Dan Williams  <dcbw@redhat.com>
3789
3790         * Makefile.am
3791           configure.in
3792           dispatcher-daemon/Makefile.am
3793           dispatcher-daemon/NetworkManagerDispatcher.c
3794           initscript/Arch/Makefile.am
3795           initscript/Arch/networkmanager-dispatcher.in
3796           initscript/Gentoo/Makefile.am
3797           initscript/Gentoo/NetworkManagerDispatcher.in
3798           initscript/Mandriva/Makefile.am
3799           initscript/Mandriva/networkmanagerdispatcher.in
3800           initscript/RedHat/Makefile.am
3801           initscript/RedHat/NetworkManagerDispatcher.in
3802           initscript/SUSE/Makefile.am
3803           initscript/SUSE/networkmanager-dispatcher.in
3804           initscript/Slackware/Makefile.am
3805           initscript/Slackware/rc.networkmanager-dispatcher.in
3806           initscript/paldo/Makefile.am
3807           initscript/paldo/NetworkManagerDispatcher.in
3808           man/Makefile.am
3809           man/NetworkManagerDispatcher.8.in
3810                 - Remove the dispatcher daemon
3811
3812 2008-04-27  Dan Williams  <dcbw@redhat.com>
3813
3814         * callouts/Makefile.am
3815           callouts/nm-dispatcher-action.c
3816           callouts/nm-dispatcher-action.h
3817           callouts/nm-dispatcher.conf
3818           callouts/nm-dispatcher.xml
3819           callouts/org.freedesktop.nm_dispatcher.service
3820                 - Re-implement the dispatcher as a system-bus activated service that
3821                         NM calls on-demand, rather than an always running daemon
3822
3823         * src/Makefile.am
3824                 - Add callouts dir to includes to pick up dispatcher defines
3825
3826         * src/nm-device.c
3827                 - (nm_device_state_changed): call dispatcher on device activated/
3828                         deactivated
3829
3830         * src/vpn-manager/nm-vpn-connection.c
3831                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3832                         go up and down
3833
3834         * src/NetworkManagerUtils.c
3835           src/NetworkManagerUtils.h
3836                 - (nm_utils_call_dispatcher): helper to call dispatcher
3837
3838 2008-04-27  Dan Williams  <dcbw@redhat.com>
3839
3840         * src/NetworkManagerUtils.c
3841           src/NetworkManagerUtils.h
3842                 - remove unneeded includes
3843                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3844                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3845                    nm_timeval_cmp, nm_timeval_add): remove, unused
3846                 - clean up formatting
3847                 - (nm_spawn_process): de-uglify
3848
3849         * src/nm-device-802-11-wireless.c
3850                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3851
3852 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3853
3854         * initscript/Gentoo/NetworkManager.in:
3855                 Fix for starting the daemon.
3856
3857 2008-04-25  Dan Williams  <dcbw@redhat.com>
3858
3859         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3860
3861         * src/NetworkManagerSystem.c
3862                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3863
3864 2008-04-25  Dan Williams  <dcbw@redhat.com>
3865
3866         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3867
3868         * src/NetworkManagerSystem.c
3869                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3870                         implementation of nm_system_device_replace_default_route()
3871
3872         * src/NetworkManagerPolicy.c
3873                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3874
3875         * src/backends/NetworkManagerArch.c
3876           src/backends/NetworkManagerDebian.c
3877           src/backends/NetworkManagerFrugalware.c
3878           src/backends/NetworkManagerGeneric.c
3879           src/backends/NetworkManagerGeneric.h
3880           src/backends/NetworkManagerGentoo.c
3881           src/backends/NetworkManagerMandriva.c
3882           src/backends/NetworkManagerPaldo.c
3883           src/backends/NetworkManagerRedHat.c
3884           src/backends/NetworkManagerSlackware.c
3885           src/backends/NetworkManagerSuSE.c
3886                 - (nm_system_device_replace_default_route): remove
3887
3888 2008-04-25  Dan Williams  <dcbw@redhat.com>
3889
3890         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3891
3892         * src/NetworkManagerSystem.c
3893                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3894                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3895                         replace nm_system_device_add_route_via_device_with_iface() in the
3896                         backends
3897
3898         * src/backends/NetworkManagerArch.c
3899           src/backends/NetworkManagerDebian.c
3900           src/backends/NetworkManagerFrugalware.c
3901           src/backends/NetworkManagerGeneric.c
3902           src/backends/NetworkManagerGeneric.h
3903           src/backends/NetworkManagerGentoo.c
3904           src/backends/NetworkManagerMandriva.c
3905           src/backends/NetworkManagerPaldo.c
3906           src/backends/NetworkManagerRedHat.c
3907           src/backends/NetworkManagerSlackware.c
3908           src/backends/NetworkManagerSuSE.c
3909                 - Remove nm_system_device_add_route_via_device_with_iface()
3910
3911 2008-04-25  Dan Williams  <dcbw@redhat.com>
3912
3913         * system-settings/plugins/ifcfg-fedora/parser.c
3914                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3915
3916 2008-04-24  Dan Williams  <dcbw@redhat.com>
3917
3918         * dispatcher-daemon/NetworkManagerDispatcher.c
3919                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3920
3921 2008-04-24  Dan Williams  <dcbw@redhat.com>
3922
3923         * initscript/RedHat/NetworkManager.in
3924           initscript/RedHat/NetworkManagerDispatcher.in
3925                 - Be active at runlevel 2
3926                 - Adjust priorities earlier
3927
3928 2008-04-22  Dan Williams  <dcbw@redhat.com>
3929
3930         * src/NetworkManagerPolicy.c
3931                 - (update_routing_and_dns): when checking for a gateway, look at the
3932                         composite IP4 config, not the connection's ip4-config setting, which
3933                         doesn't include DHCP-returned information
3934
3935 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3936
3937         Implement GKeyFile system settings plugin.
3938         Implement writing system settings (currently supported only by GKeyFile plugin).
3939
3940         * system-settings/src/main.c: 
3941         * system-settings/src/dbus-settings.c: Move the communication with plugins
3942         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3943         plugins for adding/updating/removing connections.
3944
3945         * system-settings/src/nm-system-config-interface.c
3946         (nm_system_config_interface_add_connection): Implement
3947         (nm_system_config_interface_update_connection): Implement.
3948         (nm_system_config_interface_remove_connection): Implement.
3949
3950         * system-settings/plugins/keyfile/Makefile.am:
3951         * system-settings/plugins/keyfile/plugin.[ch]:
3952         * system-settings/plugins/keyfile/writer.[ch]:
3953         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3954
3955         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3956
3957         * configure.in: Generate GKeyFile Makefile.
3958
3959         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3960         corruption, need to duplicate the returned string.
3961         (impl_exported_connection_update): Implement.
3962         (impl_exported_connection_delete): Implement.
3963
3964         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3965
3966         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3967
3968 2008-04-22  Dan Williams  <dcbw@redhat.com>
3969
3970         Patch from Charles R. Anderson (cra@wpi.edu)
3971
3972         * src/NetworkManagerPolicy.c
3973                 - (update_routing_and_dns): don't select devices without a gateway
3974                         as having the default route (rh #437338)
3975
3976 2008-04-21  Dan Williams  <dcbw@redhat.com>
3977
3978         * src/nm-activation-request.c
3979           src/nm-activation-request.h
3980                 - (dispose): ensure to disconnect from the device's state-changed signal
3981                         when appropriate so the signal doesn't get handled by an already
3982                         disposed NMActRequest
3983                 - (device_state_changed): update is_default here too just to make sure
3984                         default is only True when the child device is activated
3985                 - (nm_act_request_set_default): new function
3986
3987         * src/NetworkManagerPolicy.c
3988                 - (update_routing_and_dns): set 'default' on the active connection which
3989                         has the default route and DNS
3990
3991 2008-04-21  Dan Williams  <dcbw@redhat.com>
3992
3993         * src/NetworkManagerPolicy.c
3994                 - (device_state_changed): update routing and DNS when a device goes
3995                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3996
3997 2008-04-21  Dan Williams  <dcbw@redhat.com>
3998
3999         * include/NetworkManager.h
4000                 - Add NMActiveConnectionState enum
4001
4002         * introspection/nm-active-connection.xml
4003           introspection/nm-vpn-connection.xml
4004                 - Add 'State' property for overall active connection state
4005                 - Add 'Default' property, when True means this active connection
4006                         has the default route
4007                 - Add PropertyChanged signals so changes actually go out over the bus
4008
4009         * src/nm-active-connection.h
4010                 - Add defines for State & Default properties
4011
4012         * src/nm-activation-request.c
4013                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4014                         signal to determine active connection state
4015
4016         * src/vpn-manager/nm-vpn-connection.c
4017           src/vpn-manager/nm-vpn-connection.h
4018           src/vpn-manager/nm-vpn-manager.c
4019           src/vpn-manager/nm-vpn-service.c
4020                 - Rename old 'state' to 'vpn-state'
4021                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4022                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4023                         'vpn-state-changed' signal
4024
4025         * libnm-glib/nm-active-connection.c
4026           libnm-glib/nm-active-connection.h
4027                 - Add new 'state' and 'default' properties and accessors
4028
4029         * libnm-glib/nm-vpn-connection.c
4030           libnm-glib/nm-vpn-connection.h
4031                 - Rename old 'state' property to 'vpn-state'
4032                 - Add new 'state' and 'default' properties and accessors
4033
4034 2008-04-21  Dan Williams  <dcbw@redhat.com>
4035
4036         * src/nm-ip4-config.c
4037                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4038                         not specified (rh #443474)
4039
4040 2008-04-20  Dan Williams  <dcbw@redhat.com>
4041
4042         * src/NetworkManagerUtils.c
4043           src/NetworkManagerUtils.h
4044                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4045                         NMSettingIP4Config to an NMIP4Config object
4046
4047         * src/nm-device.c
4048                 - (merge_ip4_config): move to NetworkManagerUtils.c
4049
4050         * src/vpn-manager/nm-vpn-connection.c
4051                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4052                         too
4053
4054 2008-04-18  Dan Williams  <dcbw@redhat.com>
4055
4056         * libnm-util/nm-setting-ppp.c
4057           libnm-util/nm-setting-ppp.h
4058                 - Add 'no-vj-comp' option for TCP header compression
4059                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4060                         uint32
4061
4062 2008-04-18  Dan Williams  <dcbw@redhat.com>
4063
4064         * libnm-util/nm-setting-ppp.c
4065           libnm-util/nm-setting-ppp.h
4066           src/ppp-manager/nm-ppp-manager.c
4067                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4068
4069 2008-04-18  Dan Williams  <dcbw@redhat.com>
4070
4071         * libnm-util/nm-setting-ppp.c
4072           libnm-util/nm-setting-ppp.h
4073           src/ppp-manager/nm-ppp-manager.c
4074                 - Remove the 'usepeerdns' option and always request DNS servers from
4075                         the PPP server; the connection chooses to use/override/ignore the
4076                         DNS servers returned from the PPP server
4077
4078 2008-04-18  Dan Williams  <dcbw@redhat.com>
4079
4080         * libnm-util/nm-setting-ppp.c
4081           libnm-util/nm-setting-ppp.h
4082           src/ppp-manager/nm-ppp-manager.c
4083                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4084                         it seems to have been an erroneous addition to the PPTP plugin in
4085                         the first place (from which the ppp-manager is derived)
4086
4087 2008-04-17  Dan Williams  <dcbw@redhat.com>
4088
4089         * libnm-util/nm-setting-pppoe.c
4090                 - (verify): require a PPP setting too
4091
4092         * src/ppp-manager/nm-ppp-manager.c
4093                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4094                         segfaulting
4095
4096 2008-04-17  Dan Williams  <dcbw@redhat.com>
4097
4098         * src/nm-device.c
4099                 - (nm_device_state_changed): do deactivation and and promotion to
4100                         unavailable here, so that the device gets cleaned up before the
4101                         manager runs and starts emitting signals; do the
4102                         FAILED->DISCONNECTED transition from an idle handler rather than
4103                         immediately to guard against recursion
4104                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4105                         FAILED->DISCONNECTED handler if it's scheduled
4106
4107 2008-04-17  Dan Williams  <dcbw@redhat.com>
4108
4109         * src/nm-device-802-11-wireless.c
4110                 - (state_changed_cb): clear AP list when device transitions to
4111                         unavailable or unmanaged
4112                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4113                         since this is already done in device_cleanup()
4114                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4115                         isn't available or managed
4116                 - (device_cleanup): use remove_all_aps()
4117                 - (remove_all_aps): consolidate code removing all APs
4118
4119 2008-04-17  Dan Williams  <dcbw@redhat.com>
4120
4121         * src/nm-serial-device.c
4122           src/nm-serial-device.h
4123                 - (wait_for_reply_got_data): break input into lines, and search each
4124                         line for responses _and_ terminator strings; also make sure that
4125                         the read loop doesn't continue after the timeout is supposed to fire
4126                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4127
4128         * src/nm-gsm-device.c
4129           src/nm-cdma-device.c
4130                 - Send terminators to nm_serial_device_wait_for_reply()
4131
4132 2008-04-16  Dan Williams  <dcbw@redhat.com>
4133
4134         Patch from 陈鑫 <znscnchen@gmail.com>
4135
4136         * src/ppp-manager/nm-pppd-plugin.c
4137                 - (get_credentials): return correct value for success; handle case where
4138                         pppd just does some checking but doesn't want a password
4139                 - (plugin_init): make CHAP work too
4140
4141 2008-04-16  Dan Williams  <dcbw@redhat.com>
4142
4143         Patch from 陈鑫 <znscnchen@gmail.com>
4144
4145         * src/ppp-manager/nm-ppp-manager.c
4146                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4147
4148 2008-04-16  Dan Williams  <dcbw@redhat.com>
4149
4150         Patch from 陈鑫 <znscnchen@gmail.com>
4151
4152         * src/nm-device-802-3-ethernet.c
4153                 - (real_deactivate_quickly): clear the IP interface name on
4154                         deactivation, otherwise the wrong interface might get used later
4155                         for routing and IP management
4156
4157 2008-04-15  Dan Williams  <dcbw@redhat.com>
4158
4159         * libnm-glib/nm-device.c
4160                 - (get_product_and_vendor): handle serial devices correctly
4161                 - (nm_device_update_description): pass device to get_product_and_vendor()
4162
4163 2008-04-15  Dan Williams  <dcbw@redhat.com>
4164
4165         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4166
4167         * src/NetworkManagerSystem.h
4168           src/backends/NetworkManagerArch.c
4169           src/backends/NetworkManagerDebian.c
4170           src/backends/NetworkManagerFrugalware.c
4171           src/backends/NetworkManagerGeneric.c
4172           src/backends/NetworkManagerGeneric.h
4173           src/backends/NetworkManagerGentoo.c
4174           src/backends/NetworkManagerMandriva.c
4175           src/backends/NetworkManagerPaldo.c
4176           src/backends/NetworkManagerRedHat.c
4177           src/backends/NetworkManagerSlackware.c
4178           src/backends/NetworkManagerSuSE.c
4179           src/nm-device.c
4180                 - (nm_generic_device_add_ip6_link_address,
4181                    nm_system_device_add_ip6_link_address): remove
4182
4183 2008-04-15  Dan Williams  <dcbw@redhat.com>
4184
4185         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4186
4187         * src/backends/NetworkManagerArch.c
4188           src/backends/NetworkManagerDebian.c
4189           src/backends/NetworkManagerFrugalware.c
4190           src/backends/NetworkManagerGeneric.c
4191           src/backends/NetworkManagerGeneric.h
4192           src/backends/NetworkManagerGentoo.c
4193           src/backends/NetworkManagerMandriva.c
4194           src/backends/NetworkManagerPaldo.c
4195           src/backends/NetworkManagerRedHat.c
4196           src/backends/NetworkManagerSlackware.c
4197           src/backends/NetworkManagerSuSE.c
4198           src/NetworkManagerSystem.h
4199                 - flush_routes -> flush_ip4_routes
4200                 - flush_addresses -> flush_ip4_addresses
4201
4202         * src/NetworkManagerSystem.c
4203           src/nm-device.c
4204           src/vpn-manager/nm-vpn-connection.c
4205                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4206
4207 2008-04-15  Dan Williams  <dcbw@redhat.com>
4208
4209         Remove exposure of wireless-tools mode types in the API.
4210
4211         * include/NetworkManager.h
4212                 - Define NM80211Mode enum
4213
4214         * introspection/generic-types.xml
4215                 - Describe NM_802_11_MODE enum
4216                 - Remove IW_MODE_* enum
4217
4218         * introspection/nm-access-point.xml
4219           libnm-glib/nm-access-point.c
4220           libnm-glib/nm-access-point.h
4221                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4222
4223         * introspection/nm-device-802-11-wireless.xml
4224           libnm-glib/nm-device-802-11-wireless.c
4225           libnm-glib/nm-device-802-11-wireless.h
4226                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4227
4228         * libnm-util/nm-setting-wireless.c
4229           src/NetworkManagerAP.c
4230           src/NetworkManagerAP.h
4231           src/nm-device-802-11-wireless.c
4232           src/nm-device-802-11-wireless.h
4233           test/nm-tool.c
4234                 - Use NM80211Mode not IW_MODE_*
4235
4236 2008-04-15  Dan Williams  <dcbw@redhat.com>
4237
4238         Enhance nm-online based on a patch from Bill Nottingham.
4239
4240         * test/nm-online.c
4241                 - Add a '-q' option
4242                 - Add help messages and option summary
4243                 - Add long-format options
4244                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4245
4246 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4247
4248         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4249
4250         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4251
4252 2008-04-15  Dan Williams  <dcbw@redhat.com>
4253
4254         * nm-setting-ip4-config.c
4255                 - (ip4_addresses_from_gvalue): handle NULL address array
4256
4257         * nm-setting-8021x.c
4258                 - (verify_tls, verify_ttls): warn on failed verification
4259
4260 2008-04-10  Dan Williams  <dcbw@redhat.com>
4261
4262         * src/nm-gsm-device.c
4263                 - (automatic_registration): accept "+CREG: 0,0"
4264                 - (automatic_registration_response): fail on "+CREG: 0,0"
4265
4266 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4267
4268         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4269
4270 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4271
4272         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4273         Make it compile again by commenting out broken code that at first didn't work and
4274         now didn't compile either.
4275
4276 2008-04-08  Dan Williams  <dcbw@redhat.com>
4277
4278         * libnm-glib/nm-object-cache.c
4279           libnm-glib/nm-settings.c
4280           src/dhcp-manager/nm-dhcp-manager.c
4281           system-settings/plugins/ifcfg-fedora/plugin.c
4282           system-settings/plugins/ifcfg-suse/plugin.c
4283           system-settings/src/nm-system-config-hal-manager.c
4284           libnm-util/nm-utils.c
4285                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4286                         not threadsafe anyway
4287
4288 2008-04-08  Dan Williams  <dcbw@redhat.com>
4289
4290         * system-settings/src/main.c
4291                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4292                         callbacks take a device type too
4293
4294 2008-04-08  Dan Williams  <dcbw@redhat.com>
4295
4296         The system settings service will now create a new default DHCP connection
4297         for wired devices that have no existing applicable connection.
4298
4299         * system-settings/src/nm-system-config-hal-manager.c
4300           system-settings/src/nm-system-config-hal-manager.h
4301                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4302
4303         * system-settings/src/dbus-settings.c
4304           system-settings/src/dbus-settings.h
4305                 - (nm_sysconfig_settings_get_connections): new function
4306                 - (nm_sysconfig_settings_is_device_managed): new function
4307
4308         * system-settings/src/main.c
4309                 - (load_stuff): check for wired devices that need a default connection
4310                 - (get_details_for_udi): get interface and MAC address from HAL
4311                 - (add_default_dhcp_connection): add a default connection for a wired
4312                         device if needed
4313                 - (device_added_cb, device_removed_cb): do the right thing with
4314                         wired devices and their default connections on HAL device events
4315
4316 2008-04-07  Dan Williams  <dcbw@redhat.com>
4317
4318         * libnm-glib/nm-device.c
4319           libnm-glib/nm-device.h
4320                 - Proxy the 'managed' property
4321
4322 2008-04-07  Dan Williams  <dcbw@redhat.com>
4323
4324         * src/nm-gsm-device.c
4325           src/nm-cdma-device.c
4326                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4327                         handler to transition to DISCONNECTED
4328
4329 2008-04-07  Dan Williams  <dcbw@redhat.com>
4330
4331         Patch from Bill Nottingham
4332
4333         * dispatcher-daemon/NetworkManagerDispatcher.c
4334                 - ignore backup/packaging crufy (rh #440143)
4335
4336 2008-04-07  Dan Williams  <dcbw@redhat.com>
4337
4338         * include/NetworkManager.h
4339                 - Remove the DOWN and CANCELLED device states
4340                 - Add UNMANAGED and UNAVAILABLE device states
4341                 - Document the device states
4342
4343         * introspection/nm-device.xml
4344           src/nm-device-interface.c
4345           src/nm-device-interface.h
4346                 - Add the 'managed' property
4347
4348         * test/nm-tool.c
4349                 - (detail_device): print out device state
4350
4351         * src/NetworkManagerSystem.h
4352           src/backends/NetworkManagerArch.c
4353           src/backends/NetworkManagerDebian.c
4354           src/backends/NetworkManagerFrugalware.c
4355           src/backends/NetworkManagerGentoo.c
4356           src/backends/NetworkManagerMandriva.c
4357           src/backends/NetworkManagerPaldo.c
4358           src/backends/NetworkManagerRedHat.c
4359           src/backends/NetworkManagerSlackware.c
4360           src/backends/NetworkManagerSuSE.c
4361                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4362                    nm_system_device_free_system_config): remove; they were unused and
4363                         their functionality should be re-implemented in each distro's
4364                         system settings service plugin 
4365
4366         * src/nm-gsm-device.c
4367           src/nm-gsm-device.h
4368           src/nm-cdma-device.c
4369           src/nm-cdma-device.h
4370                 - (*_new): take the 'managed' argument
4371
4372         * src/nm-device.c
4373                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4374                 - (nm_device_init): start in unmanaged state, not disconnected
4375                 - (constructor): don't start device until the system settings service
4376                         has had a chance to figure out if the device is managed or not
4377                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4378                         don't set device state here, let callers handle that as appropriate
4379                 - (nm_device_dispose): don't touch the device if it's not managed
4380                 - (set_property, get_property, nm_device_class_init): implement the
4381                         'managed' property
4382                 - (nm_device_state_changed): bring the device up if its now managed,
4383                         and deactivate it if it used to be active
4384                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4385                         with the managed state
4386
4387         * src/nm-hal-manager.c
4388                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4389                         take initial managed state and pass it along to device constructors
4390                 - (create_device_and_add_to_list): get managed state and pass to
4391                         type creators
4392
4393         * src/nm-device-802-11-wireless.c
4394                 - (real_can_activate): fold in most of
4395                         nm_device_802_11_wireless_can_activate()
4396                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4397                 - (link_timeout_cb): instead of deactivating, change device state and
4398                         let the device state handler to it
4399                 - (real_update_hw_address): clean up
4400                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4401                         handler to transition to DISCONNECTED if the device isn't rfkilled
4402
4403         * src/nm-device-802-3-ethernet.c
4404                 - (set_carrier): move above callers and get rid of prototype
4405                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4406                         idle handler to transition to DISCONNECTED if the device has a
4407                         carrier
4408                 - (real_update_hw_address): clean up
4409                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4410                         deactivation directly as deactivation doesn't change state anymore
4411
4412         * src/NetworkManagerPolicy.c
4413                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4414                         the NMManager and wireless devices work that out themselves now
4415                 - (device_state_changed): change to a switch and update for new device
4416                         states
4417                 - (device_carrier_changed): remove; device handles this now through
4418                         state changes
4419                 - (device_added): don't care about carrier any more; the initial
4420                         activation check will happen when the device transitions to
4421                         DISCONNECTED
4422
4423         * src/nm-manager.c
4424                 - (dispose): clear unmanaged devices
4425                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4426                         the managed property on each device when needed
4427                 - (system_settings_properties_changed_cb): handle signals from the
4428                         system settings service
4429                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4430                         getting the unmanaged device list method call
4431                 - (query_unmanaged_devices): ask the system settings service for its
4432                         list of unmanaged devices
4433                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4434                         devices
4435                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4436                         devices directly and let them handle the necessary state transitions
4437                 - (manager_device_state_changed): update for new device states
4438                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4439                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4440                 - (nm_manager_activate_connection): return error if the device is
4441                         unmanaged
4442                 - (nm_manager_sleep): handle new device states correctly; don't change
4443                         the state of unavailable/unmanaged devices
4444
4445         * libnm-glib/nm-device-802-11-wireless.c
4446                 - (state_changed_cb): update for new device states
4447
4448 2008-04-07  Dan Williams  <dcbw@redhat.com>
4449
4450         * marshallers/nm-marshal.list
4451                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4452
4453 2008-04-07  Dan Williams  <dcbw@redhat.com>
4454
4455         * system-settings/src/main.c
4456                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4457                         plugins to the dbus settings object
4458                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4459                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4460                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4461                 - (main): switch default logging to syslog with a 'debug' option to
4462                         output to console; start up the HAL manager
4463
4464 2008-04-07  Dan Williams  <dcbw@redhat.com>
4465
4466         * introspection/nm-settings-system.xml
4467           introspection/Makefile.am
4468                 - Define the unmanaged devices interface for the system settings service
4469
4470         * system-settings/src/nm-system-config-hal-manager.c
4471           system-settings/src/nm-system-config-hal-manager.h
4472           system-settings/src/nm-system-config-hal-manager-private.h
4473           system-settings/src/Makefile.am
4474                 - Add a lightweight HAL manager object for tracking network devices for
4475                         the purpose of determining unmanaged devices and which devices need
4476                         the default DHCP connections
4477
4478         * system-settings/src/nm-system-config-interface.c
4479           system-settings/src/nm-system-config-interface.h
4480                 - (nm_system_config_interface_init): add the HAL manager as an argument
4481                 - (nm_system_config_interface_get_unmanaged_devices): implement
4482                 - Define 'unmanaged-devices-changed' signal
4483
4484         * system-settings/src/dbus-settings.c
4485           system-settings/src/dbus-settings.h
4486                 - Implement the unmanaged devices interface; some cleanups
4487
4488         * system-settings/plugins/ifcfg-suse/plugin.c
4489                 - Fixup for plugin interface changes
4490
4491         * system-settings/plugins/ifcfg-fedora/plugin.c
4492                 - (get_ether_device_udi): new function; find the device that has
4493                         a specified MAC address and return its UDI
4494                 - (get_udi_for_connection): new function; try to find the specific
4495                         device a connection is locked to, if any
4496                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4497                         response to HAL events
4498                 - (get_unmanaged_devices): new function; return unmanaged device list
4499                 - (build_one_connection): set the connection's locked device, if any
4500                 - (write_auto_wired_connection): remove
4501                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4502                 - (handle_connection_changed): alert listeners that the unmanaged device
4503                         list has changed
4504                 - (init): fixup for plugin interface changes, implement unmanaged devices
4505
4506         * system-settings/plugins/ifcfg-fedora/parser.c
4507           system-settings/plugins/ifcfg-fedora/parser.h
4508                 - (connection_data_free): clean up connection UDI
4509
4510 2008-04-07  Dan Williams  <dcbw@redhat.com>
4511
4512         * system-settings/plugins/ifcfg-fedora/parser.c
4513                 - (make_ip4_setting): fix parsing of DNS servers
4514
4515 2008-04-05  Dan Williams  <dcbw@redhat.com>
4516
4517         * Makefile.am
4518           configure.in
4519           marshallers/Makefile.am
4520           marshallers/nm-marshal-main.c
4521           marshallers/nm-marshal.list
4522                 - Consolidate marshallers
4523
4524         * libnm-glib/nm-marshal-main.c
4525           libnm-glib/nm-marshal.list
4526           src/marshallers/Makefile.am
4527           src/marshallers/nm-marshal-main.c
4528           src/marshallers/nm-marshal.list
4529                 - Remove
4530
4531         * libnm-glib/Makefile.am
4532           src/Makefile.am
4533           src/dhcp-manager/Makefile.am
4534           src/ppp-manager/Makefile.am
4535           src/supplicant-manager/Makefile.am
4536           src/vpn-manager/Makefile.am
4537                 - Use consolidated marshallers
4538
4539 2008-04-04  Dan Williams  <dcbw@redhat.com>
4540
4541         * src/nm-hal-manager.c
4542           src/nm-hal-manager.h
4543                 - (hal_init): don't look for hardware here
4544                 - (nm_hal_manager_start): new function; look for hardware here instead,
4545                         which can be done at a later time than hal_init()
4546
4547         * src/NetworkManager.c
4548                 - (main): start HAL manager after entering the main loop
4549
4550 2008-04-03  Dan Williams  <dcbw@redhat.com>
4551
4552         * libnm-glib/nm-settings.c
4553           libnm-glib/nm-settings.h
4554             - (nm_exported_connection_get_id): new function
4555                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4556
4557 2008-04-02  Dan Williams  <dcbw@redhat.com>
4558
4559         * src/nm-device-interface.c
4560           src/nm-device-interface.h
4561           src/nm-device.c
4562           src/nm-device.h
4563                 - Rename check_connection_conflicts() to check_connection_compatible()
4564
4565         * src/nm-device-802-11-wireless.c
4566                 - (real_check_connection_conflicts): remove
4567                 - (real_check_connection_compatible): implement; match MAC address
4568
4569         * src/nm-device-802-3-ethernet.c
4570                 - (real_check_connection_conflicts): remove
4571                 - (real_check_connection_compatible): implement; match MAC address
4572                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4573
4574         * src/nm-manager.c
4575                 - (check_connection_allowed): remove; unused until PolicyKit integration
4576                 - (internal_activate_device): check whether the connection is compatible
4577                         with the device before trying to activate it
4578
4579 2008-04-02  Dan Williams  <dcbw@redhat.com>
4580
4581         * system-settings/plugins/ifcfg-fedora/parser.c
4582                 - (read_mac_address): new function; read in MAC address and stuff it
4583                         into the connection
4584                 - (add_one_wep_key): remove debug spew
4585                 - (make_wireless_security_setting): validate the default TX key; don't
4586                         add the wireless-security setting if the connection doesn't need
4587                         security; don't leak the keys shvarFile on error cases
4588                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4589                         address
4590
4591 2008-04-02  Dan Williams  <dcbw@redhat.com>
4592
4593         * libnm-util/nm-setting-connection.c
4594           libnm-util/nm-setting-connection.h
4595                 - (set_property, get_property, nm_setting_connection_class_init): remove
4596                         the 'lockdown' property; it's functionality will be replaced by
4597                         PolicyKit instead
4598
4599 2008-04-01  Dan Williams  <dcbw@redhat.com>
4600
4601         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4602
4603         * configure.in
4604           initscript/Makefile.am
4605           initscript/Mandriva/Makefile.am
4606           initscript/Mandriva/networkmanager.in
4607           initscript/Mandriva/networkmanagerdispatcher.in
4608           src/backends/Makefile.am
4609           src/backends/NetworkManagerMandriva.c
4610           system-settings/plugins/Makefile.am
4611                 - Add Mandriva support
4612
4613 2008-03-31  Dan Williams  <dcbw@redhat.com>
4614
4615         * src/vpn-manager/nm-vpn-service.c
4616                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4617                         errors can be passed back to the caller; also no longer scheduled
4618                         as an idle handler, but called directly; and bump up VPN service
4619                         spawn timeout, 2s is really short
4620                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4621                         but call it directly so that errors are reported on return from
4622                         ActivateConnection() and don't get lost.  If scheduled as an idle
4623                         handler, clients don't have the time to query NM for the new VPN
4624                         connection's properties before the VPN connection is torn down again
4625                         if the service couldn't be launched, and therefore launch errors
4626                         get lost.
4627
4628 2008-03-31  Dan Williams  <dcbw@redhat.com>
4629
4630         * src/vpn-manager/nm-vpn-connection.c
4631                 - (device_state_changed): send correct state on device failure too
4632                 - (plugin_state_changed): failed state means unexpected disconnection,
4633                         thus if the service goes away while the VPN connection is activated
4634                         that's a failure too
4635
4636 2008-03-31  Dan Williams  <dcbw@redhat.com>
4637
4638         * src/vpn-manager/nm-vpn-manager.c
4639           src/vpn-manager/nm-vpn-manager.h
4640                 - Make VPNManager errors more available; add a service-start-failed error
4641
4642 2008-03-31  Dan Williams  <dcbw@redhat.com>
4643
4644         * libnm-glib/nm-client.c
4645           libnm-glib/nm-client.h
4646                 - (activate_cb): pass the new active connection to callback; fix
4647                         message when no callback is specified
4648
4649 2008-03-30  Dan Williams  <dcbw@redhat.com>
4650
4651         * libnm-util/nm-setting-wireless-security.c
4652                 - (need_secrets): only require key0 if the transmit key index is also
4653                         0
4654                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4655
4656 2008-03-29  Dan Williams  <dcbw@redhat.com>
4657
4658         * libnm-util/nm-setting-8021x.c
4659           libnm-util/nm-setting-ip4-config.c
4660           libnm-util/nm-setting-vpn-properties.c
4661           libnm-util/nm-setting-vpn.c
4662           libnm-util/nm-setting-wireless-security.c
4663           libnm-util/nm-setting-wireless.c
4664           libnm-util/nm-utils.c
4665           src/dhcp-manager/nm-dhcp-manager.c
4666           src/nm-activation-request.c
4667           src/nm-ip4-config.c
4668           src/nm-manager.c
4669           src/nm-properties-changed-signal.c
4670           src/ppp-manager/nm-pppd-plugin.c
4671           src/supplicant-manager/nm-supplicant-interface.c
4672           src/vpn-manager/nm-vpn-connection.c
4673                 - consistently use nm-dbus-glib-types.h
4674
4675 2008-03-29  Dan Williams  <dcbw@redhat.com>
4676
4677         * src/vpn-manager/nm-vpn-connection.c
4678                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4679                         not string
4680
4681         * src/nm-activation-request.c
4682                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4683                         not string
4684
4685 2008-03-29  Dan Williams  <dcbw@redhat.com>
4686
4687         * libnm-glib/nm-device-802-11-wireless.c
4688                 - (access_point_added_proxy): create new APs if not found
4689
4690 2008-03-29  Dan Williams  <dcbw@redhat.com>
4691
4692         * libnm-glib/nm-client.c
4693                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4694                         before freeing them
4695
4696 2008-03-29  Dan Williams  <dcbw@redhat.com>
4697
4698         * system-settings/plugins/ifcfg-fedora/parser.c
4699                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4700                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4701
4702 2008-03-29  Dan Williams  <dcbw@redhat.com>
4703
4704         * system-settings/plugins/ifcfg-fedora/parser.c
4705                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4706
4707 2008-03-27  Dan Williams  <dcbw@redhat.com>
4708
4709         * nm-object.c
4710                 - (nm_object_queue_notify): don't notify multiple times for the same
4711                         property
4712
4713         * nm-object-private.h
4714                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4715                         if it has zero elements
4716
4717         * nm-ip4-config.c
4718                 - (finalize): use g_ptr_array_foreach() when freeing domains
4719                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4720
4721         * nm-active-connection.c
4722                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4723
4724         * nm-device-802-11-wireless.c
4725           nm-device-802-11-wireless.h
4726                 - (nm_device_802_11_wireless_get_access_points): return const; use
4727                         handle_ptr_array_return()
4728
4729         * nm-types.c
4730                 - (nm_object_array_demarshal): always create an array, even of length
4731                         zero, to distinguish between "NM returned no items" and "haven't
4732                         asked NM yet"
4733
4734         * nm-client.c
4735                 - (dispose): free active connections too
4736                 - (proxy_name_owner_changed): free active connections too when NM goes
4737                         away
4738                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4739                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4740
4741 2008-03-26  Dan Williams  <dcbw@redhat.com>
4742
4743         Rework VPN connection handling for a more consistent D-Bus API.  The
4744         VPNManager object has been removed, and active VPN connections are now the
4745         same as any other active connection.  The Manager object's ActivateConnection
4746         and DeactivateConnection methods are used to start and stop a VPN connection,
4747         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4748         When activating a VPN connection, pass the path of the active connection
4749         to which the VPN connection is tied in the 'specific_object' argument.
4750
4751         Consequently, the libnm-glib API has been reworked to match this arrangement,
4752         with the VPNManager object removed, and the NMVPNConnection objects now
4753         being subclasses of NMActiveConnection.
4754
4755 2008-03-25  Dan Williams  <dcbw@redhat.com>
4756
4757         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4758
4759         * initscript/Arch/networkmanager.in
4760           initscript/Arch/networkmanager-dispatcher.in
4761                 - Updates for Arch Linux (gnome.org #523701)
4762
4763 2008-03-25  Dan Williams  <dcbw@redhat.com>
4764
4765         * libnm-glib/nm-ip4-config.c
4766           libnm-glib/nm-active-connection.c
4767           libnm-glib/nm-access-point.c
4768                 - Use nm_object_queue_notify() instead of g_object_notify()
4769
4770         * libnm-glib/nm-device.c
4771                 - (demarshal_ip4_config): distinguish between successful but missing
4772                         ip4-config request, and unsuccessful and missing ip4-config request
4773                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4774                         path
4775                 - Use nm_object_queue_notify() instead of g_object_notify()
4776
4777         * libnm-glib/nm-device-802-11-wireless.c
4778                 - (demarshal_active_ap): distinguish between successfull but missing
4779                         active-ap request, and unsuccessful and missing active-ap request
4780                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4781                         code
4782                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4783                         for the NMClient to notify the device that wireless is disabled,
4784                         and therefore to clear the AP list and active AP
4785                 - Use nm_object_queue_notify() instead of g_object_notify()
4786
4787         * libnm-glib/nm-client.c
4788                 - (poke_wireless_devices_with_rf_status): new function
4789                 - (update_wireless_status): notify wireless devices of the rfkill status
4790                         so they can clean up if needed
4791                 - Use nm_object_queue_notify() instead of g_object_notify()
4792
4793 2008-03-25  Dan Williams  <dcbw@redhat.com>
4794
4795         * libnm-glib/nm-object.c
4796           libnm-glib/nm-object-private.h
4797                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4798                         signals to an idle handler
4799                 - (nm_object_get_property): add a timeout to the D-Bus method call
4800
4801 2008-03-25  Dan Williams  <dcbw@redhat.com>
4802
4803         * introspection/nm-device-cdma.xml
4804           introspection/nm-device-gsm.xml
4805           introspection/Makefile.am
4806           introspection/all.xml
4807                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4808
4809         * src/nm-gsm-device.h
4810           src/nm-gsm-device.c
4811           src/nm-cdma-device.h
4812           src/nm-cdma-device.c
4813           src/Makefile.am
4814                 - Implement PropertiesChanged signals
4815
4816         * libnm-glib/nm-cdma-device.c
4817           libnm-glib/nm-cdma-device.c
4818                 - Attach to PropertiesChanged signals
4819
4820 2008-03-24  Dan Williams  <dcbw@redhat.com>
4821
4822         * libnm-glib/nm-client.c
4823                 - (client_device_added_proxy): add new devices to the internal device
4824                         list so they appear to clients
4825
4826 2008-03-24  Dan Williams  <dcbw@redhat.com>
4827
4828         Massive fixup of libnm-glib to:
4829         a) have all objects (with the exception of VPN) cache their properties and
4830                 update them asynchronously on PropertiesChanged signals from NM
4831         b) return internal const data for most attributes/properties instead of
4832                 allocated values that the caller must free
4833         c) cache wrapped objects such that a given D-Bus path will always map to the
4834                 same GObject returned by libnm-glib
4835         d) remove a few signals and move them to GObject property notifications
4836         e) match recent NM D-Bus API changes for activation/deactivation
4837         f) remove some private functions from libnm-glib headers
4838
4839 2008-03-20  Dan Williams  <dcbw@redhat.com>
4840
4841         * src/nm-manager.c
4842                 - (nm_manager_update_state, manager_device_state_changed,
4843                    nm_manager_activate_device, connection_added_default_handler,
4844                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4845                         queue PropertyChanged singals when the active connections change
4846
4847 2008-03-20  Dan Williams  <dcbw@redhat.com>
4848
4849         * introspection/nm-manager.xml
4850           introspection/nm-manager-client.xml
4851                 - (ActivateConnection): return the object path of the active connection
4852                         on success
4853                 - (GetActiveConnections): remove
4854                 - (DeactivateConnection): new function; deactivate a currently active
4855                         connection
4856                 - Add an ActiveConnections property which returns an array of
4857                         active connection object paths
4858
4859         * introspection/nm-device.xml
4860                 - (Deactivate): remove
4861
4862         * introspection/all.xml
4863                 - Add ActiveConnection introspection
4864
4865         * introspection/nm-active-connection.xml
4866                 - Add the ActiveConnection object
4867
4868         * include/NetworkManager.h
4869                 - Add the Connection.Active D-Bus interface
4870
4871         * src/nm-device-interface.c
4872                 - (impl_device_deactivate): remove
4873
4874         * src/nm-activation-request.c
4875           src/nm-activation-request.c
4876           src/Makefile.am
4877                 - Implement the Connection.Active D-Bus interface
4878
4879         * src/nm-manager.c
4880                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4881                 - (nm_manager_activate_device): return the active connection path
4882                 - (connection_added_default_handler, impl_manager_activate_connection):
4883                         return the active connection to the caller
4884                 - (add_one_connection_element, impl_manager_get_active_connections):
4885                         remove
4886                 - (impl_manager_deactivate_connection): new function; deactivate an
4887                         active connection
4888
4889         * libnm-glib/nm-device.c
4890           libnm-glib/nm-device.h
4891                 - Remove Deactivate() function
4892
4893 2008-03-19  Dan Williams  <dcbw@redhat.com>
4894
4895         * introspection/nm-manager.xml
4896           introspection/nm-manager-client.xml
4897                 - Rename the ActivateDevice method to ActivateConnection to better
4898                         reflect it's usage; it's arguments get reordered a bit too
4899                 - Convert GetActiveConnections method return from a struct to a dict
4900
4901         * include/NetworkManager.h
4902                 - Define the dict keys for return value of GetActiveConnections
4903
4904         * src/nm-manager.c
4905                 - impl_manager_activate_device -> impl_manager_activate_connection
4906                 - (add_one_connection_element): return a populated hash table, not
4907                         a structure
4908
4909         * libnm-glib/nm-client.c
4910           libnm-glib/nm-client.h
4911                 - nm_client_activate_device -> nm_client_activate_connection
4912                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4913                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4914                         instead of the custom structures.  Each element of the returned list
4915                         must be freed with nm_client_free_active_connections_element()
4916
4917 2008-03-18  Dan Williams  <dcbw@redhat.com>
4918
4919         * system-settings/plugins/ifcfg-fedora/parser.c
4920           system-settings/plugins/ifcfg-fedora/parser.h
4921           system-settings/plugins/ifcfg-fedora/plugin.c
4922                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4923                         profiles.  DNS servers and searches must now be stored in the ifcfg
4924                         files themselves
4925
4926 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4927
4928         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4929         print out username and password, it's supposed to be a secret.
4930
4931         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4932         request and set the device state accordingly.
4933
4934 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4935
4936         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4937
4938         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4939
4940 2008-03-18  Dan Williams  <dcbw@redhat.com>
4941
4942         * src/vpn-manager/nm-vpn-connection.c
4943                 - (get_secrets_cb): handle new GetSecrets return format
4944
4945 2008-03-18  Dan Williams  <dcbw@redhat.com>
4946
4947         Adapt system settings service for split 802.1x.
4948
4949         * system-settings/src/nm-system-config-interface.h
4950                 - clarify return value of get_secrets()
4951
4952         * system-settings/src/dbus-settings.c
4953                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4954                 - (check_for_secrets): check if there actually secrets returned by a
4955                         plugin
4956                 - (exported_connection_get_secrets): just return the plugin-returned
4957                         hash of settings' secrets if it looks valid
4958
4959         * system-settings/plugins/ifcfg-fedora/plugin.c
4960                 - (get_secrets): add split secrets with correct format to reply hash
4961
4962         * system-settings/plugins/ifcfg-fedora/parser.c
4963           system-settings/plugins/ifcfg-fedora/parser.h
4964                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4965                    connection_data_free, connection_data_add): keep secrets for
4966                         different settings in different hashes
4967
4968 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4969
4970         Clean up activating device deactivation.
4971
4972         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4973         should be done whether the device activation gets cancelled or the device
4974         is just getting deactivated.
4975         (nm_device_activation_cancel): Remove.
4976         (nm_device_deactivate_quickly): Handle the case where device is activating.
4977
4978         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4979         It does the exact same thing as real_deactivate_quickly().
4980
4981 2008-03-17  Dan Williams  <dcbw@redhat.com>
4982
4983         Split the 802.1x bits out of the wireless-security setting so they are
4984         generalized enough for wired 802.1x to use too.
4985
4986         * introspection/nm-exported-connection.xml
4987                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4988                         of just a hash of the secrets for one setting
4989
4990         * libnm-util/nm-setting-wireless-security.c
4991           libnm-util/nm-setting-wireless-security.h
4992                 - Remove 802.1x-specific stuff
4993                 - Added leap-username and leap-password properties for old-school LEAP
4994
4995         * src/nm-device.c
4996           src/nm-device.h
4997                 - (connection_secrets_updated_cb): take a list of updated settings names,
4998                         not just one
4999
5000         * src/supplicant-manager/nm-supplicant-config.c
5001           src/supplicant-manager/nm-supplicant-config.h
5002                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5003                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5004                         to nm_supplicant_config_add_setting_8021x()
5005                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5006                         the supplicant config
5007
5008         * src/nm-device-802-11-wireless.c
5009                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5010                 - (real_connection_secrets_updated): take a list of updated settings
5011                         names, not just one
5012
5013         * src/nm-device-802-3-ethernet.c
5014           src/nm-cdma-device.c
5015           src/nm-gsm-device.c
5016                 - (real_connection_secrets_updated_cb): take a list of updated settings
5017                         names, not just one
5018
5019         * src/nm-activation-request.c
5020           src/nm-activation-request.h
5021                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5022                         now passes a list of updated settings names, not just one
5023                 - (update_one_setting): new function; handle one updated setting
5024                 - (get_secrets_cb): handle multiple settings returned from the
5025                         settings service; have to be careful of ordering here as there are
5026                         some dependencies between settings (ex. wireless-security and 802.1x
5027                         in some cases)
5028
5029         * src/marshallers/nm-marshal.list
5030                 - new marshaller for connection-secrets-updated signal
5031
5032         * libnm-util/nm-setting-8021x.c
5033                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5034                         methods
5035                 - (verify): a valid 'eap' property is now required
5036
5037         * libnm-util/nm-connection.c
5038                 - (register_default_settings): add priorities to settings; there are
5039                         some dependencies between settings, and during the need_secrets
5040                         calls this priority needs to be respected.  For example, only the
5041                         wireless-security setting knows whether or not the connection is
5042                         going to use 802.1x or now, so it must be asked for secrets before
5043                         any existing 802.1x setting is
5044                 - (nm_connection_lookup_setting_type): expose
5045
5046         * libnm-util/nm-setting-wireless.c
5047                 - (verify): should verify even if all_settings is NULL; otherwise won't
5048                         catch the case where there is missing security
5049
5050         * libnm-util/nm-setting-wireless-security.c
5051                 - Remove everything to do with 802.1x
5052                 - Add old-school LEAP specific properties for username and password
5053                 - (need_secrets): rework LEAP secrets checking
5054                 - (verify): rework for LEAP and 802.1x verification
5055
5056 2008-03-17  Dan Williams  <dcbw@redhat.com>
5057
5058         * src/NetworkManagerPolicy.c
5059                 - (auto_activate_device): always remove the current activation check
5060                         from the pending activation list, otherwise when the policy gets
5061                         destroyed on NM exit it will attempt to free the already freed
5062                         activation check
5063
5064 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5065
5066         * src/backends/NetworkManagerSlackware.c 
5067         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5068
5069         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5070
5071 2008-03-14  Dan Williams  <dcbw@redhat.com>
5072
5073         * src/nm-manager.c
5074                 - (nm_device_interface_get_iface): g_object_get() will return an
5075                         allocated value, so this function must not return const
5076                 - (nm_device_interface_activate): free returned iface
5077
5078 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5079
5080         * libnm-util/Makefile.am: Add new files to build.
5081
5082         * libnm-util/nm-connection.c: Register NMSetting8021x.
5083
5084         * libnm-util/nm-setting-8021x.c
5085         * libnm-util/nm-setting-8021x.h: Implement.
5086
5087 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5088
5089         * libnm-util/Makefile.am: Add new files to build.
5090
5091         * libnm-util/nm-connection.c: Register NMSetting8021x.
5092
5093         * libnm-util/nm-setting-8021x.c
5094         * libnm-util/nm-setting-8021x.h: Implement.
5095
5096 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5097
5098         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5099         data.
5100
5101 2008-03-14  Dan Williams  <dcbw@redhat.com>
5102
5103         * include/wireless-helper.h
5104           include/Makefile.am
5105                 - One place for all the junk needed for #including wireless.h
5106
5107         * test/nm-tool.c
5108           src/NetworkManagerAP.c
5109           src/wpa.c
5110           src/Makefile.am
5111           libnm-util/nm-utils.c
5112           libnm-util/nm-setting-wireless.c
5113           libnm-glib/nm-device-802-11-wireless.c
5114           libnm-glib/nm-access-point.c
5115           libnm-glib/libnm-glib-test.c
5116                 - include wireless-helper.h, not iwlib.h
5117
5118         * configure.in
5119                 - Don't need libiw really, just need to check for wireless.h
5120
5121         * src/kernel-types.h
5122                 - Remove; used types moved into wpa.c
5123
5124         * src/nm-device-802-11-wireless.c
5125                 - (nm_device_802_11_wireless_update_signal_strength,
5126                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5127                    nm_device_802_11_wireless_set_mode,
5128                    nm_device_802_11_wireless_get_frequency,
5129                    nm_device_802_11_wireless_get_ssid,
5130                    nm_device_802_11_wireless_set_ssid,
5131                    nm_device_802_11_wireless_get_bitrate,
5132                    nm_device_802_11_wireless_get_bssid,
5133                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5134                         instead of iwlib functions
5135
5136 2008-03-14  Dan Williams  <dcbw@redhat.com>
5137
5138         * src/ppp-manager/nm-ppp-manager.c
5139                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5140                         should only take the DBusGMethodInvocation argument, not user/pass
5141                         too.  With dbus-glib, async functions only take 2 C arguments since
5142                         the real dbus method arguments get passed back with
5143                         dbus_g_method_return()
5144
5145 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5146
5147         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5148         Adapt the changes of NMSettingIP4Config.
5149
5150 2008-03-13  Dan Williams  <dcbw@redhat.com>
5151
5152         * src/NetworkManagerUtils.c
5153           src/NetworkManagerUtils.h
5154                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5155
5156         * src/NetworkManagerAP.c
5157           src/nm-device-802-11-wireless.c
5158           src/nm-device-802-3-ethernet.c
5159                 - s/iw_ether_ntop/nm_ether_ntop/g
5160
5161 2008-03-13  Dan Williams  <dcbw@redhat.com>
5162
5163         * src/NetworkManagerPolicy.c
5164                 - (update_routing_and_dns): never set the default route through an
5165                         IPv4LL addressed device
5166
5167 2008-03-13  Dan Williams  <dcbw@redhat.com>
5168
5169         * NetworkManagerUtils.c
5170           NetworkManagerUtils.h
5171                 - Remove NMSock stuff
5172                 - Remove the completion stuff
5173
5174         * nm-device.c
5175           nm-device.h
5176           NetworkManager.c
5177           NetworkManagerSystem.c
5178           autoip.c
5179           nm-device-802-11-wireless.c
5180           nm-device-802-3-ethernet.c
5181                 - Remove NMSock and completion stuff
5182                 - Remove nm_ioctl_info()
5183
5184 2008-03-12  Dan Williams  <dcbw@redhat.com>
5185
5186         * src/nm-device.c
5187                 - (merge_ip4_config): avoid duplicates
5188
5189 2008-03-12  Dan Williams  <dcbw@redhat.com>
5190
5191         * libnm-util/nm-setting-ip4-config.c
5192           libnm-util/nm-setting-ip4-config.h
5193                 - Remove 'manual' and 'autoip' properties
5194                 - Add 'method' property
5195                 - (verify): fix verification with 'method'
5196                 - (finalize): free 'method'
5197                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5198                         up for 'method'
5199
5200         * src/nm-device.c
5201                 - (real_act_stage3_ip_config_start): check IP4Config method
5202                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5203                         the future
5204                 - (merge_ip4_config): IP settings are valid with DHCP too
5205                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5206                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5207
5208         * src/nm-device-802-11-wireless.c
5209                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5210                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5211                         only on demand
5212
5213         * system-settings/plugins/ifcfg-fedora/parser.c
5214           system-settings/plugins/ifcfg-suse/parser.c
5215                 - (make_ip4_setting): fix up for 'method'
5216
5217 2008-03-12  Dan Williams  <dcbw@redhat.com>
5218
5219         * system-settings/plugins/ifcfg-fedora/parser.c
5220           system-settings/plugins/ifcfg-fedora/parser.h
5221                 - (get_ifcfg_name): ignore more file suffixes
5222                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5223
5224 2008-03-12  Dan Williams  <dcbw@redhat.com>
5225
5226         * configure.in
5227                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5228
5229 2008-03-12  Dan Williams  <dcbw@redhat.com>
5230
5231         * system-settings/plugins/ifcfg-fedora/plugin.c
5232                 - (write_auto_wired_connection): new function; write out an auto
5233                         wired connection file since the applet isn't doing it any more
5234                 - (reload_all_connections): write out the auto wired connection file
5235                         if there aren't any wired connections already
5236                 - (init): don't leak a GError
5237
5238 2008-03-12  Dan Williams  <dcbw@redhat.com>
5239
5240         * src/nm-device-interface.c
5241                 - (nm_device_interface_activate): print the ID of the connection
5242                         that's about to be activated
5243
5244 2008-03-12  Dan Williams  <dcbw@redhat.com>
5245
5246         Harmonize the 802.11 bitrate API
5247
5248         * introspection/nm-access-point.xml
5249                 - 'Rate' -> 'MaxBitrate'; clarify units
5250
5251         * introspection/nm-device-802-11-wireless.xml
5252                 - Clarify units of 'Bitrate'
5253
5254         * src/NetworkManagerAP.c
5255           src/NetworkManagerAP.h
5256                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5257                         property to 'max-bitrate'
5258                 - (foreach_property_cb): convert rate to Kb/s
5259
5260         * src/nm-device-802-11-wireless.c
5261                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5262
5263         * libnm-glib/nm-access-point.c
5264           libnm-glib/nm-access-point.h
5265                 - 'rate' -> 'max-bitrate'
5266
5267         * test/nm-tool.c
5268           libnm-glib/libnm-glib-test.c
5269                 - Fix up for these changes
5270
5271 2008-03-12  Dan Williams  <dcbw@redhat.com>
5272
5273         * src/nm-device.c
5274                 - (nm_device_set_ip4_config): don't send property notifications when
5275                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5276                         which dbus-glib can't parse because the value is NULL, which isn't
5277                         a legal object path.  Setting the IP4 config to NULL is only
5278                         valid when deactivating a device anyway, so the device state change
5279                         will alert listeners that the ip4 config is invalid.
5280
5281 2008-03-12  Dan Williams  <dcbw@redhat.com>
5282
5283         * src/nm-properties-changed-signal.c
5284                 - (add_to_string): better handling of NULL objects
5285
5286 2008-03-12  Dan Williams  <dcbw@redhat.com>
5287
5288         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5289         convert the libnm-glib NMDevice8023Ethernet to cached properties
5290
5291         * introspection/nm-device-802-3-ethernet.xml
5292                 - New 'Carrier' property
5293                 - New 'PropertiesChanged' signal
5294
5295         * introspection/nm-device.xml
5296                 - Remove 'Carrier' property
5297                 - Remove 'CarrierChanged' signal
5298
5299         * src/nm-device-interface.c
5300           src/nm-device-interface.h
5301                 - (nm_device_interface_init): remove 'carrier' property and
5302                         'carrier-changed' signal
5303
5304         * src/nm-device.c
5305           src/nm-device.h
5306                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5307                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5308                         the link here; wired device will handle that
5309                 - (handle_dhcp_lease_change): don't bother updating link here
5310                 - (get_property, nm_device_class_init): remove carrier property
5311
5312         * src/nm-device-802-11-wireless.c
5313                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5314                         real_update_link(); wireless devices don't use carrier at all
5315                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5316                    supplicant_iface_connection_state_cb_handler,
5317                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5318
5319         * src/nm-device-802-3-ethernet.c
5320           src/nm-device-802-3-ethernet.h
5321                 - (nm_device_802_3_ethernet_carrier_on,
5322                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5323                         instead of nm_device_set_carrier()
5324                 - (device_state_changed): update link from sysfs on activation;
5325                         replaces real_update_link()
5326                 - (real_update_link): remove, replaced by device_state_changed()
5327                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5328                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5329                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5330                         new get_carrier function
5331                 - (get_property): add 'carrier' property
5332                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5333                         hook into property-changed signal helper
5334
5335         * src/NetworkManagerPolicy.c
5336                 - (device_carrier_changed): will only ever be called with a wired device
5337                 - (device_added): only hook up to carrier-changed for wired devices
5338
5339         * libnm-glib/nm-device.c
5340           libnm-glib/nm-device.h
5341                 - (constructor, nm_device_class_init): remove carrier-changed signal
5342                 - (device_carrier_changed_proxy): remove; unused
5343                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5344
5345         * libnm-glib/nm-device-802-3-ethernet.c
5346           libnm-glib/nm-device-802-3-ethernet.h
5347                 - Convert to cached properties like AP and Wireless objects
5348                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5349                         instead of a 'char *', return value should not be freed
5350                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5351                 - (constructor): hook into properties-changed helper
5352                 - (set_property, get_property): new functions
5353                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5354
5355         * test/nm-tool.c
5356                 - (detail_device): strdup the wired hardware address too since it's
5357                         cached now
5358
5359         * libnm-glib/libnm-glib-test.c
5360                 - (dump_wired): strdup the wired hardware address too since it's
5361                         cached now
5362
5363 2008-03-12  Dan Williams  <dcbw@redhat.com>
5364
5365         * libnm-util/nm-setting-ip4-config.c
5366           libnm-util/nm-setting-ip4-config.h
5367                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5368                         the 'autoip' property from the spec
5369
5370 2008-03-11  Dan Williams  <dcbw@redhat.com>
5371
5372         * src/backends/NetworkManagerGeneric.c
5373           src/backends/NetworkManagerGeneric.h
5374                 - (nm_generic_device_get_use_dhcp): remove
5375
5376 2008-03-11  Dan Williams  <dcbw@redhat.com>
5377
5378         * src/nm-device.c
5379                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5380                         already in nm_device_set_ip4_config()
5381                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5382                         due to a DHCP rebind fails
5383                 - (nm_device_set_ip4_config): send property notifications when the
5384                         ip4 config changes
5385                 - (get_property): only report IP4Config property during valid states
5386
5387         * src/NetworkManagerPolicy.c
5388                 - (update_routing_and_dns): ignore devices that don't have an ip4
5389                         config; add parameter 'force_update' to allow callers to specify
5390                         that changes should be made even if the default device doesn't change
5391                 - (device_ip4_config_changed): update DNS and routing when the device's
5392                         IP4Config changes, like for DHCP updates
5393                 - (device_added): listen for ip4-config property changes
5394
5395 2008-03-11  Dan Williams  <dcbw@redhat.com>
5396
5397         Fix address handling as a result of DHCP rebind/renew/reboot.
5398
5399         * src/NetworkManagerSystem.c
5400                 - (check_one_address): delete an address if it doesn't match a given
5401                         one for the same interface
5402                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5403                         be smarter about flushing addresses (only flush ones that don't
5404                         match the one we're about to apply)
5405
5406         * src/backends/NetworkManagerDebian.c
5407           src/backends/NetworkManagerSuSE.c
5408           src/backends/NetworkManagerArch.c
5409           src/backends/NetworkManagerSlackware.c
5410           src/backends/NetworkManagerRedHat.c
5411           src/backends/NetworkManagerPaldo.c
5412           src/backends/NetworkManagerFrugalware.c
5413           src/backends/NetworkManagerGentoo.c
5414                 - (nm_system_delete_default_route): remove
5415
5416         * src/backends/NetworkManagerGeneric.c
5417           src/backends/NetworkManagerGeneric.h
5418                 - (nm_generic_enable_loopback): fix the loopback device label
5419                 - (nm_generic_delete_default_route): remove; no longer used
5420
5421 2008-03-11  Dan Williams  <dcbw@redhat.com>
5422
5423         * src/nm-device-interface.h
5424                 - Delimit property name words with '-', otherwise g_object_notify()
5425                         doesn't work the way we expect
5426
5427 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5428
5429         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5430
5431 2008-03-11  Dan Williams  <dcbw@redhat.com>
5432
5433         * src/NetworkManagerPolicy.c
5434                 - (update_routing_and_dns): don't change anything if the default device
5435                         hasn't changed; print something out when switching the default route
5436                         and DNS
5437
5438 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5439
5440         Implement PPPoE.
5441
5442         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5443         setting. Use "nic-$eth".
5444
5445         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5446         the device is activating here to fix a race condition.
5447
5448         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5449
5450         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5451         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5452         (nm_ppp_manager_start): Take activation request instead of connection, we might
5453         need it for asking secrets.
5454         (nm_ppp_manager_update_secrets): Implement.
5455
5456         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5457         ppp manager start. It might be needed for asking secrets.
5458
5459         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5460         (ppp_state_changed): Handle pppd daemon disappearing.
5461         (pppoe_stage2_config): Send activation request to ppp manager start.
5462
5463         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5464
5465         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5466         username and password.
5467         
5468 2008-03-10  Dan Williams  <dcbw@redhat.com>
5469
5470         * src/nm-device.c
5471                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5472                         response to a DHCP lease change
5473                 - (dhcp_state_changed): handle DHCP lease changes while activated
5474                 - (nm_device_set_ip4_config): remove a previously set named config
5475                         when setting an ip4 config
5476
5477 2008-03-10  Dan Williams  <dcbw@redhat.com>
5478
5479         * src/nm-serial-device.c
5480                 - (nm_serial_device_send_command): report errno on error
5481                 - (get_reply_got_data): limit the size of the overall buffer
5482                 - (wait_for_reply_info_destroy): destroy result string
5483                 - (wait_for_reply_got_data): append received data to an overall buffer
5484                         until timeout, filled buffer, or error instead of keeping a per-call
5485                         buffer.  Some devices send data slowly enough that this function
5486                         gets called multiple times for the same command stream.
5487                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5488                         wait_for_reply_got_data() here
5489
5490 2008-03-10  Dan Williams  <dcbw@redhat.com>
5491
5492         * src/nm-cdma-device.c
5493                 - (do_dial, init_modem): handle errors from
5494                         nm_serial_device_send_command_string()
5495
5496         * src/nm-gsm-device.c
5497                 - (do_dial, manual_registration, automatic_registration_get_network,
5498                    automatic_registration, enter_pin, check_pin, init_modem): handle
5499                         errors from nm_serial_device_send_command_string()
5500
5501 2008-03-10  Dan Williams  <dcbw@redhat.com>
5502
5503         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5504
5505         * src/named-manager/nm-named-manager.c
5506                 - (compute_searches): prefer searches before domains
5507                 - (compute_domain): new function
5508                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5509                 - (merge_one_ip4_config): if there are no searches in the source config,
5510                         merge domains of the source config into the target config
5511                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5512
5513 2008-03-10  Dan Williams  <dcbw@redhat.com>
5514
5515         * src/nm-serial-device.c
5516                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5517                 - (wait_for_reply_got_data): try to handle slower serial devices where
5518                         the reply is broken up into multiple reads by concatenating replies
5519                         together until either an error is received or the search string is
5520                         found
5521
5522 2008-03-10  Dan Williams  <dcbw@redhat.com>
5523
5524         * src/nm-device.c
5525                 - (nm_device_bring_down): deactivate the device if it's activating too,
5526                         not just if it's already activated.  This makes sure that everything
5527                         from an association attempt is cleaned up (like DHCP for example)
5528
5529 2008-03-10  Dan Williams  <dcbw@redhat.com>
5530
5531         * src/nm-serial-device.c
5532                 - (config_fd): report error from TCSETA
5533                 - (nm_serial_device_open): fail when config_fd() fails
5534
5535 2008-03-10  Dan Williams  <dcbw@redhat.com>
5536
5537         * src/nm-ip4-config.c
5538                 - (nm_ip4_config_init): allocate searches list
5539                 - (finalize): free searches list
5540
5541 2008-03-09  Dan Williams  <dcbw@redhat.com>
5542
5543         Patch from Bas Zoetekouw <bas@debian.org>
5544
5545         * src/dhcp-manager/nm-dhcp-manager.c
5546                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5547
5548 2008-03-09  Dan Williams  <dcbw@redhat.com>
5549
5550         Patch from Bas Zoetekouw <bas@debian.org>
5551
5552         * src/nm-ip4-config.c
5553           src/nm-ip4-config.h
5554                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5555                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5556                         domains.  'searches' is the correct way to store multiple search
5557                         domains, whereas 'domains' is really just supposed to store one
5558                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5559                         search domains to the client.
5560                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5561
5562 2008-03-09  Dan Williams  <dcbw@redhat.com>
5563
5564         * src/dhcp-manager/nm-dhcp-manager.c
5565                 - (dhclient_run): send interface-specific config files to dhclient
5566
5567 2008-03-07  Dan Williams  <dcbw@redhat.com>
5568
5569         * system-settings/plugins/ifcfg-fedora/parser.c
5570                 - (is_wireless_device): new function; test a device for wireless
5571                         extensions
5572                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5573                         test the device for wireless extensions to determine the type
5574
5575 2008-03-07  Dan Williams  <dcbw@redhat.com>
5576
5577         Change manager's StateChange signal to StateChanged for consistency.
5578
5579         * introspection/nm-manager.xml
5580                 - Add 'StateChanged' signal
5581                 - Move 'StateChange' down to the deprecated section
5582
5583         * src/nm-hal-manager.c
5584                 - (nm_hal_manager_new): connect to 'state-changed' instead
5585
5586         * src/NetworkManagerPolicy.c
5587                 - (nm_policy_new): connect to 'state-changed' instead
5588
5589         * src/nm-manager.c
5590           src/nm-manager.h
5591                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5592                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5593                         of 'state-change'
5594
5595         * libnm-glib/nm-client.c
5596           libnm-glib/nm-client.h
5597                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5598                         track and proxy 'state-changed' instead of 'state-change'
5599
5600 2008-03-07  Dan Williams  <dcbw@redhat.com>
5601
5602         First pass of multiple active device support.  Expect bugs.
5603
5604         * src/nm-ip4-config.c
5605           src/nm-ip4-config.h
5606                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5607                         there are better ways to do this in the named manager
5608
5609         * src/nm-device.c
5610           src/nm-device.h
5611                 - (nm_device_can_activate): return whether the device can activate a
5612                         connection right now; taking into account things like carrier state
5613                         and rfkill state
5614                 - (nm_device_get_best_auto_connection): renamed from
5615                         nm_device_get_best_connection
5616                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5617                         device subclasses themselves, so that each device can override the
5618                         MTU from it's NMSetting subclass if needed
5619                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5620                         in NetworkManagerSystem.c, not here
5621
5622         * src/named-manager/nm-named-manager.c
5623           src/named-manager/nm-named-manager.h
5624                 - (nm_named_manager_name_owner_changed,
5625                    nm_named_manager_dbus_connection_changed): fix for changes to
5626                         rewrite_resolv_conf()
5627                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5628                         from parameter list
5629                 - (merge_one_ip4_config): new function; merge ip4 configs together
5630                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5631                         ip4 configs; the VPN config takes precedence, then the best
5632                         device config, then the rest of the configs
5633                 - (get_domain_for_config): take the NMNamedManager as an argument
5634                         to check whether the config is the VPN config
5635                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5636                         attribute from ip4 configs
5637                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5638                 - (remove_ip4_config_from_named): fix for changes to
5639                         get_domain_for_config()
5640                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5641                         based on its type; callers must pass in the type now
5642                 - (get_last_default_domain): remove, unused
5643                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5644
5645         * src/nm-device-802-11-wireless.c
5646                 - (real_can_activate): new function
5647                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5648                 - (real_act_stage4_get_ip4_config): handle MTU override
5649
5650         * src/nm-device-802-3-ethernet.c
5651                 - (real_can_activate): new function
5652                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5653                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5654
5655         * src/vpn-manager/nm-vpn-connection.c
5656                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5657                         attribute on the ip4 config
5658
5659         * src/NetworkManagerPolicy.c
5660                 - (nm_policy_auto_get_best_device): remove
5661                 - (nm_policy_device_change_check): remove
5662                 - (update_default_route): new function; set the default route via
5663                         the specified device
5664                 - (get_device_priority): new function; return the priority number of
5665                         a device type WRT which one should have the default route.  Order is
5666                         (highest to lowest)  wired, wireless, GSM, CDMA.
5667                 - (update_routing_and_dns): new function; determine which device should
5668                         have the default route, then update the routing table and DNS
5669                 - (maybe_auto_activate_device): new function; if a device is now
5670                         available for activation, find out what connection it would like to
5671                         activate and do it
5672                 - (schedule_activate_check): new function; if a device can be activated
5673                         now, schedule the activation.  Each device may have only one
5674                         pending activation at a given time.
5675                 - (device_state_changed): if activation was canceled, try again,
5676                         possibly with another connection; if the device was activated,
5677                         update routing and DNS; if the device was deactivated, try again
5678                         with another connection
5679                 - (device_carrier_changed): if there is no carrier, deactivate the
5680                         device; otherwise schedule an activation check for the device
5681                 - (wireless_networks_changed): schedule an activation check for the
5682                         device
5683                 - (device_added): keep track of the signal handler IDs so they can
5684                         be removed when the device goes away
5685                 - (device_removed): remove any signal handlers that might be attached
5686                         to the device; update routing and DNS
5687                 - (schedule_activate_all): new function
5688                 - (connections_added, connection_added, connection_updated): when
5689                         connections change, schedule all devices for an activation check
5690                 - (connection_removed): when a device is deactivated because its
5691                         connection was removed, schedule another activation check for it
5692                 - (nm_policy_destroy): destroy pending activations and disconnect
5693                         all device signal handlers
5694
5695         * src/nm-manager.c
5696                 - (nm_manager_activate_device): if the device was already actived,
5697                         deactivate it
5698                 - (deactivate_old_device): remove
5699                 - (connection_added_default_handler, impl_manager_activate_device):
5700                         don't deactivate other devices when activating this one
5701
5702         * src/backends/NetworkManagerGentoo.c
5703           src/backends/NetworkManagerFrugalware.c
5704           src/backends/NetworkManagerPaldo.c
5705           src/backends/NetworkManagerRedHat.c
5706           src/backends/NetworkManagerSlackware.c
5707           src/backends/NetworkManagerArch.c
5708           src/backends/NetworkManagerSuSE.c
5709           src/backends/NetworkManagerDebian.c
5710                 - (nm_system_get_mtu): remove; MTU should be provided through the
5711                         distro's system settings service plugin instead
5712                 - (nm_system_device_add_default_route_via_device): remove
5713                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5714                 - (nm_system_device_replace_default_route): new function; call
5715                         generic implementation
5716
5717         * src/backends/NetworkManagerGeneric.c
5718           src/backends/NetworkManagerGeneric.h
5719                 - (nm_generic_device_add_default_route_via_device,
5720                    nm_generic_device_add_default_route_via_device_with_iface): remove
5721                 - (nm_generic_device_replace_default_route): replace the default route
5722                         with the given route via some gateway
5723
5724         * src/NetworkManagerSystem.c
5725           src/NetworkManagerSystem.h
5726                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5727                         to routing and DNS; but set the MTU here
5728                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5729                         ip_iface of the active device; use the standard MTU setting function
5730                 - (nm_system_set_mtu): remove
5731                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5732
5733 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5734
5735         Rework the interaction between ppp manager and pppd plugin. Register a well
5736         known DBUS service in manager and let the plugin call it's methods instead
5737         of listening plugin's signals.
5738
5739         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5740         of emitting signals.
5741
5742         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5743
5744         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5745
5746         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5747         nm_ppp_manager_start().
5748
5749         * introspection/nm-ppp-manager.xml: New file.
5750
5751         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5752         the case correctly where driver is trying to send -1 for the speed, which gets
5753         casted to u16 and thus is always > 0.
5754
5755 2008-03-07  Dan Williams  <dcbw@redhat.com>
5756
5757         * src/nm-hal-manager.c
5758                 - (nm_get_device_driver_name): use net.originating_device first, fall
5759                         back to physical device.  HAL has deprecated physical_device.
5760
5761         * libnm-glib/nm-device.c
5762                 - (get_product_and_vendor): use net.originating_device first, fall
5763                         back to physical device.  HAL has deprecated physical_device.
5764                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5765
5766 2008-03-07  Dan Williams  <dcbw@redhat.com>
5767
5768         * src/nm-netlink.c
5769                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5770                         last commit; fix that
5771                 - (get_link_cache): print error string
5772
5773 2008-03-07  Dan Williams  <dcbw@redhat.com>
5774
5775         * src/nm-netlink.c
5776                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5777                         don't need this hack any more (Benoit Boissinot)
5778
5779 2008-03-06  Dan Williams  <dcbw@redhat.com>
5780
5781         * autogen.sh
5782                 - Die gnome-common, die
5783
5784 2008-03-04  Dan Williams  <dcbw@redhat.com>
5785
5786         Patch from Michael Biebl <biebl@debian.org>
5787
5788         * NetworkManager.pc.in
5789                 - doesn't actually depend on dbus-1
5790
5791         * libnm-util/nm-utils.h
5792                 - remove unused #include <dbus/dbus.h>
5793
5794         * libnm-glib/libnm_glib.pc.in
5795                 - depends on glib and dbus-glib
5796
5797 2008-03-02  Dan Williams  <dcbw@redhat.com>
5798
5799         * src/NetworkManagerPolicy.c
5800                 - s/device_state_changed_idle_id/update_state_id/
5801
5802 2008-03-02  Dan Williams  <dcbw@redhat.com>
5803
5804         * src/nm-device.c
5805           src/nm-device.h
5806           src/nm-device-802-11-wireless.c
5807           src/nm-device-802-3-ethernet.c
5808           src/NetworkManagerPolicy.c
5809                 - s/link_active/carrier
5810                 - nm_device_set_active_link() -> nm_device_set_carrier()
5811                 - nm_device_has_active_link() -> nm_device_get_carrier()
5812
5813 2008-03-02  Dan Williams  <dcbw@redhat.com>
5814
5815         * system-settings/plugins/ifcfg-fedora/parser.c
5816                 - (make_wireless_setting): fail connection creation on missing SSID
5817
5818 2008-02-29  Dan Williams  <dcbw@redhat.com>
5819
5820         * src/NetworkManagerPolicy.c
5821                 - (nm_policy_device_change_check): ensure that a previously active
5822                         device with a system connection has a link before denying a switch
5823                         to a user connection
5824
5825 2008-02-29  Dan Williams  <dcbw@redhat.com>
5826
5827         * src/nm-device-802-11-wireless.c
5828                 - (link_timeout_cb): try again if scanning; deactivate the device when
5829                         activated if the link dies
5830                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5831                         15 seconds
5832
5833 2008-02-29  Dan Williams  <dcbw@redhat.com>
5834
5835         * src/nm-device-802-11-wireless.c
5836           src/nm-device-802-11-wireless.h
5837                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5838                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5839                 - (device_cleanup): reset the scan interval lower when the device
5840                         deactivates
5841                 - (can_scan): base decision mostly off device state, not supplicant
5842                         interface state since the supplicant interface state isn't a
5843                         great indicator of whether the device is active or not
5844                 - (request_wireless_scan): clean up; schedule the next scan here
5845                 - (schedule_scan): only back the scan interval off if a new scan
5846                         actually gets scheduled; and make scan intervals tighter when the
5847                         device is disconnected
5848                 - (supplicant_iface_state_cb_handler): fold in the bits of
5849                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5850                         interval to minimum
5851                 - (activation_success_handler): reset scan interval to something
5852                         reasonable 
5853
5854 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5855
5856         reviewed by: Steev <steev@steev.net>
5857
5858         * configure.in:
5859         * src/backends/NetworkManagerGentoo.c:
5860         (nm_system_restart_mdns_responder):
5861                 Howl is no longer a supported mDNS provider
5862
5863 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5864
5865         Get rid of a bunch of unused distro specific functions.
5866
5867 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5868
5869         Implement suse plugin for system settings daemon.
5870
5871         * system-settings/plugins/ifcfg-suse/*: Implement.
5872
5873         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5874         suse.
5875
5876         * configure.in: Check (without failing) for gio.
5877         Create ifcfg-suse plugin's Makefile.
5878
5879 2008-02-20  Dan Williams  <dcbw@redhat.com>
5880
5881         * libnm-util/nm-connection.c
5882           libnm-util/nm-connection.h
5883                 - (nm_connection_compare): accept compare flags and pass them to the
5884                         setting compare function
5885
5886         * libnm-util/nm-setting.c
5887           libnm-util/nm-setting.h
5888                 - (nm_setting_compare): accept compare flags; ignore properties that are
5889                         marked fuzzy
5890
5891         * libnm-util/nm-setting-connection.c
5892           libnm-util/nm-setting-wireless.c
5893           libnm-util/nm-setting-ppp.c
5894           libnm-util/nm-setting-wired.c
5895                 - Mark some setting properties as ignorable when doing a fuzzy compare
5896
5897         * src/nm-device.c
5898                 - (device_activation_precheck): use exact compare
5899
5900 2008-02-20  Dan Williams  <dcbw@redhat.com>
5901
5902         * src/NetworkManagerPolicy.c
5903                 - (nm_policy_device_change_check): get scope off the connection, not
5904                         using the manager helper
5905
5906         * src/nm-manager.c
5907           src/nm-manager.h
5908                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5909                 - (connection_get_settings_cb): set scope and path on connection, not
5910                         using GObject data items
5911                 - (get_connection_for_proxy): don't need to return path, since that
5912                         can be gotten from the connection
5913                 - (get_connection_for_proxy): get path off the connection, not from
5914                         parameters
5915                 - (connection_removed_cb, connection_updated_cb): don't need to get
5916                         path from get_connection_for_proxy(); get scope off the connection
5917                         instead of using GObject data items
5918                 - (connection_added_default_handler, add_one_connection_element): use
5919                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5920                 - (nm_manager_get_connection_dbus_path): remove
5921                 - (nm_manager_get_connection_scope): remove
5922
5923 2008-02-20  Dan Williams  <dcbw@redhat.com>
5924
5925         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5926                 on confusing names
5927
5928         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5929                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5930                 NMExportedConnection
5931
5932         * Internally rename NMConnectionType -> NMConnectionScope
5933
5934         * Provide default implementations of the 'get_id' and 'get_settings' methods
5935                 of NMExportedConnection
5936
5937 2008-02-15  Dan Williams  <dcbw@redhat.com>
5938
5939         * src/nm-device-802-11-wireless.c
5940                 - (device_cleanup): release the AP list here too so that the AP list
5941                         doesn't survive across suspend/resume and up/down.  There is some
5942                         room for optimization, for example blow the list away when the card
5943                         brought back up, but only if the device has only been down for a
5944                         minute or more.
5945
5946 2008-02-15  Dan Williams  <dcbw@redhat.com>
5947
5948         * src/nm-hal-manager.c
5949                 - (modem_device_creator): recognize new HAL modem capabilities
5950
5951 2008-02-12  Dan Williams  <dcbw@redhat.com>
5952
5953         * system-settings/plugins/ifcfg-fedora/plugin.c
5954                 - (watch_path): handle IN_DELETE_SELF too
5955                 - (handle_connection_changed): notify when removing a connection
5956                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5957                         case of a file moving out of the profile directory
5958
5959 2008-02-12  Dan Williams  <dcbw@redhat.com>
5960
5961         * system-settings/plugins/ifcfg-fedora/parser.c
5962                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5963
5964 2008-02-12  Dan Williams  <dcbw@redhat.com>
5965
5966         * libnm-util/nm-utils.c
5967                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5968                         just any empty array
5969
5970 2008-02-12  Dan Williams  <dcbw@redhat.com>
5971
5972         * system-settings/src/nm-system-config-interface.c
5973           system-settings/src/nm-system-config-interface.h
5974                 - (load_connections): get_connections() should now return an allocated
5975                         GSList that the system settings service will free
5976
5977         * system-settings/plugins/ifcfg-fedora/plugin.c
5978           system-settings/plugins/ifcfg-fedora/parser.h
5979           system-settings/plugins/ifcfg-fedora/parser.c
5980                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5981                         in the profile directory, handle resolv.conf file changes
5982
5983 2008-02-10  Dan Williams  <dcbw@redhat.com>
5984
5985         * src/nm-device-802-3-ethernet.c
5986                 - (real_bring_up): save the supplicant interface state signal id
5987                 - (real_bring_down): disconnect from the supplicant interface state
5988                         signal
5989
5990 2008-02-07  Dan Williams  <dcbw@redhat.com>
5991
5992         * initscript/RedHat/NetworkManager.in
5993           initscript/RedHat/NetworkManagerDispatcher.in
5994                 - Add new-style LSB init headers
5995
5996 2008-02-07  Dan Williams  <dcbw@redhat.com>
5997
5998         * system-settings/src/dbus-settings.c
5999           system-settings/src/dbus-settings.h
6000                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6001                         table of secrets
6002                 - (connection_settings_get_secrets): consolidate error returns into
6003                         one place; use the new get_secrets() plugin interface function to
6004                         get secrets from the plugin itself rather than using GObject data
6005                         magic
6006
6007         * system-settings/src/main.c
6008                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6009                    load_connections): keep a private list of the plugin-returned
6010                         connections, don't use the plugin's GSList
6011
6012         * system-settings/plugins/ifcfg-fedora/plugin.c
6013                 - (watch_path): watch the path, not the filename (duh)
6014                 - (reload_all_connections): use the direct hash/equal functions; the
6015                         ones for int aren't appropriate here
6016                 - (get_secrets, system_config_interface_init): implement the
6017                         get_secrets() function
6018                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6019                         now in the connection's ConnectionData instead of being a GObject
6020                         data property
6021                 - (handle_profile_item_changed): ifcfg file path is now in the
6022                         connection's ConnectionData instead of being a GObject data property;
6023                         be sure to copy secrets over from the new connection to the existing
6024                         connection when updating the connection's settings
6025                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6026                         file descriptor
6027
6028         * system-settings/plugins/ifcfg-fedora/parser.c
6029           system-settings/plugins/ifcfg-fedora/parser.h
6030                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6031                    connection_data_copy_secrets, connection_data_free,
6032                    connection_data_add): new functions; connection data manipulation
6033                 - (make_wireless_security_setting): stuff secrets into the
6034                         connection data, not as GObject data items; make sure to close
6035                         the keys ifcfg file
6036                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6037                         connection data to the connection
6038
6039 2008-02-07  Dan Williams  <dcbw@redhat.com>
6040
6041         * system-settings/src/nm-system-config-interface.c
6042           system-settings/src/nm-system-config-interface.h
6043                 - Add a get_secrets() interface function to retrieve secrets for a
6044                         specific setting of a specific connection.  Document the interface
6045                         a bit more too.
6046
6047 2008-02-07  Dan Williams  <dcbw@redhat.com>
6048
6049         * src/nm-device-802-11-wireless.c
6050                 - (handle_auth_or_fail): new function; consolidate device activation
6051                         failure check after a certain number of failures getting secrets
6052                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6053                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6054                         the connection if secrets were requested more than a few times
6055                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6056                         tries here; otherwise they are cleared before the IP configure
6057                         timeout, which happens with open system WEP when key is wrong
6058                 - (activation_success_handler): clear wireless secrets tries here too
6059
6060 2008-02-07  Dan Williams  <dcbw@redhat.com>
6061
6062         * src/NetworkManagerPolicy.c
6063                 - (connection_updated): clear invalid tag when connection gets updated
6064                         to allow that connection to be tried again
6065                 - (nm_policy_new): save signal ids so they can be disconnected when
6066                         the policy is destroyed
6067                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6068                         and disconnect all signals from the manager object so that none
6069                         of the policy functions gets called after the policy is destroyed
6070
6071 2008-02-06  Dan Williams  <dcbw@redhat.com>
6072
6073         * src/nm-manager.c
6074                 - (finalize): remove devices a bit earlier; clean up system settings
6075                         poke
6076                 - (nm_manager_name_owner_changed): clean up system settings poke when
6077                         the service appears, and try to restart it if it fails
6078                 - (poke_system_settings_daemon_cb): try to get the system settings
6079                         service started through D-Bus service activation
6080                 - (initial_get_connections): start the system settings daemon if it's
6081                         not already running
6082
6083 2008-02-05  Dan Williams  <dcbw@redhat.com>
6084
6085         * src/supplicant-manager/nm-supplicant-config.c
6086                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6087                         broadcast networks too
6088
6089 2008-02-04  Dan Williams  <dcbw@redhat.com>
6090
6091         * system-settings/plugins/ifcfg-fedora/parser.c
6092                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6093                         need key_mgmt set too
6094                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6095                         .bak files; ensure that an error is set whenever NULL gets returned
6096
6097 2008-02-04  Dan Williams  <dcbw@redhat.com>
6098
6099         * system-settings/src/Makefile.am
6100                 - Install D-Bus service activation file for the system settings
6101                         service
6102
6103         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6104                 - D-Bus service activation file for system settings service
6105
6106 2008-02-04  Dan Williams  <dcbw@redhat.com>
6107
6108         * system-settings/src/main.c
6109                 - (parse_config_file): parse a config file
6110                 - (main): accept --config option and read plugins from config file
6111
6112 2008-02-04  Dan Williams  <dcbw@redhat.com>
6113
6114         * system-settings/plugins/ifcfg-fedora/plugin.c
6115                 - Change reported name to 'ifcfg-fedora'
6116                 - Use IFCFG_PLUGIN_NAME
6117
6118         * system-settings/plugins/ifcfg-fedora/plugin.c
6119                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6120
6121 2008-02-04  Dan Williams  <dcbw@redhat.com>
6122
6123         * system-settings/plugins/ifcfg-fedora/parser.c
6124                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6125                 - (make_connection_setting): use get_ifcfg_name()
6126                 - (make_wireless_security_setting): handle shadow key files
6127                 - (get_one_wep_key): treat empty string as NULL
6128
6129 2008-02-04  Dan Williams  <dcbw@redhat.com>
6130
6131         * src/supplicant-manager/nm-supplicant-manager.c
6132                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6133                         glib automatically reschedule
6134                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6135                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6136                         the supplicant
6137
6138 2008-02-01  Dan Williams  <dcbw@redhat.com>
6139
6140         * src/NetworkManagerPolicy.c
6141                 - (device_state_changed): schedule a change check when a device gets
6142                         deactivated so something happens if you disconnect GSM/CDMA
6143
6144 2008-01-31  Dan Williams  <dcbw@redhat.com>
6145
6146         * src/nm-device-802-11-wireless.h
6147           src/nm-device-802-11-wireless.c
6148                 - (ap_list_get_ap_by_ssid, is_associated,
6149                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6150                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6151                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6152                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6153                         function
6154
6155 2008-01-30  Dan Williams  <dcbw@redhat.com>
6156
6157         * system-settings/plugins/ifcfg
6158         * system-settings/plugins/ifcfg-fedora
6159                 - Move the ifcfg plugin to ifcfg-fedora
6160
6161 2008-01-24  Dan Williams  <dcbw@redhat.com>
6162
6163         * libnm-glib/nm-device-802-11-wireless.c
6164                 - (get_access_point): move the "/" check here; check for invalid path
6165                         too
6166                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6167                         to get_access_point()
6168                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6169                         to send signals for non-existent access points
6170
6171 2008-01-24  Dan Williams  <dcbw@redhat.com>
6172
6173         * libnm-glib/nm-device-802-11-wireless.c
6174                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6175
6176 2008-01-23  Dan Williams  <dcbw@redhat.com>
6177
6178         * libnm-glib/libnm_glib.c
6179                 - (libnm_glib_init): make thread joinable
6180                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6181
6182 2008-01-23  Dan Williams  <dcbw@redhat.com>
6183
6184         * test/libnm_glib_test.c
6185                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6186                 - (main): set up signal handlers; call libnm_glib_shutdown
6187
6188 2008-01-21  Dan Williams  <dcbw@redhat.com>
6189
6190         * include/NetworkManager.h
6191                 - Add CDMA mobile broadband card device type
6192
6193         * src/nm-hal-manager.c
6194                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6195                         must now be tagged with 'cdma' or 'gsm' capability
6196
6197         * src/nm-cdma-device.c
6198           src/nm-cdma-device.h
6199           src/Makefile.am
6200                 - Add the CDMA mobile broadband card device class
6201
6202         * libnm-util/nm-connection.c
6203                 - (register_default_settings): add NMSettingCdma
6204
6205         * libnm-util/nm-setting-cdma.c
6206           libnm-util/nm-setting-cdma.h
6207           libnm-util/Makefile.am
6208                 - Add the CDMA mobile broadband card setting class
6209
6210         * libnm-glib/nm-cdma-device.c
6211           libnm-glib/nm-cdma-device.h
6212           libnm-glib/Makefile.am
6213                 - Add the CDMA mobile broadband card GLib proxy class
6214
6215         * libnm-glib/nm-client.c
6216                 - (get_device): handle CDMA devices too
6217
6218 2008-01-21  Dan Williams  <dcbw@redhat.com>
6219
6220         * src/ppp-manager/nm-ppp-manager.c
6221                 - (ip4_config_get): set peer address too
6222
6223         * src/ppp-manager/nm-pppd-plugin.c
6224                 - (nm_ip_up): try harder to get the peer's address
6225
6226         * src/NetworkManagerSystem.c
6227                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6228                         address, use that too.  Otherwise, some PPP connections won't work.
6229
6230 2008-01-19  Dan Williams  <dcbw@redhat.com>
6231
6232         * src/NetworkManagerPolicy.c
6233                 - (nm_policy_device_change_check): system connections override user
6234                         connections; don't activate a user connection if there's a currently
6235                         active system connection, and new, better system connections always
6236                         interrupt user connections
6237
6238 2008-01-19  Dan Williams  <dcbw@redhat.com>
6239
6240         * src/nm-manager.h
6241                 - (nm_manager_get_connection_type): new function
6242
6243 2008-01-19  Dan Williams  <dcbw@redhat.com>
6244
6245         * src/nm-device-802-11-wireless.c
6246                 - (real_get_best_connection): collapse find_best_connection() into this
6247                         function
6248
6249 2008-01-19  Dan Williams  <dcbw@redhat.com>
6250
6251         * src/nm-device-802-3-ethernet.c
6252                 - (real_get_best_connection): collapse find_best_connection() into this
6253                         function
6254
6255 2008-01-18  Dan Williams  <dcbw@redhat.com>
6256
6257         * src/nm-device-802-3-ethernet.c
6258                 - (find_best_connection): check MAC address too
6259                 - (real_get_best_connection): let autoconnect=True connections activate
6260                         for devices that don't have carrier detection
6261
6262         * src/nm-device-802-11-wireless.c
6263                 - (find_best_connection): check MAC address too
6264
6265 2008-01-18  Dan Williams  <dcbw@redhat.com>
6266
6267         * system-settings/plugins/ifcfg/parser.c
6268                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6269
6270 2008-01-17  Dan Williams  <dcbw@redhat.com>
6271
6272         * src/nm-device-802-3-ethernet.c
6273                 - (nm_device_802_3_ethernet_carrier_on,
6274                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6275                         carrier events that might come in for devices that don't support
6276                         carrier detect
6277
6278 2008-01-17  Dan Williams  <dcbw@redhat.com>
6279
6280         * src/nm-device-interface.c
6281                 - (nm_device_interface_check_connection_conflicts): need to actually
6282                         get the interface, not cast to the object
6283
6284         * src/nm-device.c
6285                 - (nm_device_check_connection_conflicts): need to get the device class,
6286                         not cast the device to the device class
6287
6288 2008-01-17  Dan Williams  <dcbw@redhat.com>
6289
6290         * src/nm-device-802-11-wireless.c
6291                 - (real_check_connection_conflicts): ignore connections that aren't
6292                         wireless connections
6293
6294 2008-01-17  Dan Williams  <dcbw@redhat.com>
6295
6296         * src/NetworkManagerPolicy.c
6297                 - (nm_policy_device_change_check): clear change check idle here
6298                 - (device_change_check_done): remove
6299                 - (schedule_change_check): simplify
6300
6301 2008-01-17  Dan Williams  <dcbw@redhat.com>
6302
6303         * src/nm-manager.c
6304                 - (check_connection_allowed): take an NMDeviceInterface instead of
6305                         an NMDevice object as an argument
6306                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6307                         check_connection_allowed()
6308
6309 2008-01-13  Dan Williams  <dcbw@redhat.com>
6310
6311         * libnm-glib/nm-device-802-11-wireless.c
6312                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6313
6314 2008-01-12  Dan Williams  <dcbw@redhat.com>
6315
6316         * src/nm-device-802-11-wireless.c
6317                 - (activation_success_handler): if a match was found in the scan list
6318                         and that match is a hidden AP, update that AP's SSID
6319
6320 2008-01-11  Dan Williams  <dcbw@redhat.com>
6321
6322         * src/NetworkManagerAP.c
6323                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6324
6325         * src/nm-device-802-11-wireless.c
6326                 - (get_active_ap): do two passes over the scan list if the caller
6327                         requests that hidden APs get matched too; during the second pass
6328                         when matching hidden APs, ignore the SSID since hidden APs in the
6329                         scan list don't have an SSID yet
6330                 - (periodic_update): move some checks to
6331                         nm_device_802_11_periodic_update() because not all callers need them
6332                 - (nm_device_802_11_periodic_update): move some checks here from
6333                         perodic_update()
6334                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6335                         matching on incoming scan results, because the fake AP's flags
6336                         might be slightly different (yet still compatible) with the incoming
6337                         scan result's flags and they might actually be the same AP; update
6338                         the rate on merged APs too
6339                 - (activation_success_handler): update the frequency of the fake AP
6340                         on successful connection; match hidden APs too since if the
6341                         current AP is fake, there might already be a scan result in the
6342                         scan list for the desired AP, just without it's SSID filled in yet
6343
6344 2008-01-10  Dan Williams  <dcbw@redhat.com>
6345
6346         * src/NetworkManagerAP.c
6347                 - (foreach_property_cb): catch more hidden SSID formats
6348
6349 2008-01-10  Dan Williams  <dcbw@redhat.com>
6350
6351         Fix gnome.org #464215.  Requires the kernel patch titled
6352         "Introduce WEXT scan capabilities" but will handle the patch not being
6353         present, you'll just continue to have problems with hidden SSIDs when
6354         using mac80211-based drivers.
6355
6356         * src/supplicant-manager/nm-supplicant-config.h
6357           src/supplicant-manager/nm-supplicant-config.c
6358                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6359                         whether the driver supports SSID scans or not.  If it does, and if
6360                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6361
6362         * src/nm-device-802-11-wireless.c
6363                 - (constructor): check whether or not the driver supports SSID scans
6364                 - (build_supplicant_config): pass driver SSID scan capability when
6365                         building the wireless bits of the supplicant config
6366
6367 2008-01-09  Dan Williams  <dcbw@redhat.com>
6368
6369         * src/nm-device.c
6370           src/nm-device.h
6371                 - (device_activation_precheck, check_connection_complete): remove this
6372                         virtual function; incomplete connections should be invalid by
6373                         definition, complete-ness should be checked in the setting's
6374                         verify function
6375
6376         * src/nm-serial-device.c
6377           src/nm-gsm-device.c
6378                 - (real_check_connection_complete): remove
6379
6380         * libnm-util/nm-setting-serial.c
6381                 - (verify): new function; ensure there is a PPP setting too
6382
6383         * libnm-util/nm-setting-gsm.c
6384                 - (verify): ensure there is a serial setting too
6385
6386 2008-01-06  Dan Williams  <dcbw@redhat.com>
6387
6388         * src/dhcp-manager/nm-dhcp-manager.c
6389                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6390                         (gnome.org #332953)
6391
6392 2008-01-04  Dan Williams  <dcbw@redhat.com>
6393
6394         * src/named-manager/nm-named-manager.c
6395                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6396                         nameservers if the secondary config doesn't have any
6397                         (gnome.org #346833)
6398
6399 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6400
6401         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6402         with G_PARAM_CONSTRUCT so that they get the default values.
6403
6404         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6405         the monitoring device and prints out the output for now. Or more precicely, doesn't
6406         do absolutely anything right now since the montoring device argument is never set.
6407
6408         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6409         requires it's own knob to turn it on.
6410         (config_fd): Add NMSettingSerial to the arguments list.
6411         (nm_serial_device_open): Ditto.
6412         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6413         (nm_serial_device_get_io_channel): Implement.
6414
6415         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6416         a new reference every time (and forgetting to release it sometimes) is a pain and
6417         it's not like NMManager could work without dbus.
6418         (nm_manager_add_device): Register the added device on dbus here.
6419
6420         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6421         device.
6422
6423         * src/nm-device.c (constructor): Don't export the device here, instead export
6424         it when it's added to the NMManager's device list.
6425
6426 2007-12-31  Dan Williams  <dcbw@redhat.com>
6427
6428         * src/nm-device-interface.c
6429           src/nm-device-interface.h
6430                 - (nm_device_interface_check_connection_conflicts): new function
6431
6432         * src/nm-device.c
6433           src/nm-device.h
6434                 - (nm_device_check_connection_conflicts): new function
6435                 - (device_activation_precheck): don't require subclasses to implement
6436                         check_connection_complete()
6437                 - check_connection() -> check_connection_complete()
6438
6439         * src/nm-device-802-11-wireless.c
6440                 - (real_check_connection): remove; unused
6441                 - (real_check_connection_conflicts): implement, handle lockdown for
6442                         system connections
6443
6444         * src/nm-device-802-3-ethernet.c
6445                 - (real_check_connection): remove; unused
6446
6447         * src/nm-manager.c
6448                 - (check_connection_allowed): new function
6449                 - (nm_manager_activate_device): ensure the connection being requested
6450                         is allowed to be activated
6451
6452         * src/nm-serial-device.c
6453           src/nm-gsm-device.c
6454                 - real_check_connection() -> real_check_connection_complete()
6455
6456 2007-12-27  Dan Williams  <dcbw@redhat.com>
6457
6458         * src/nm-device-interface.c
6459           src/nm-device-interface.h
6460                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6461                         normalize and expand errors
6462                 - (nm_device_interface_init): register errors so they can be marshalled
6463                         through dbus-glib
6464                 - (nm_device_interface_activate): ensure that failure of activation
6465                         returns an error
6466
6467         * src/nm-device.c
6468           src/nm-device.h
6469                 - (device_activation_precheck): implementations of check_connection()
6470                         now take a GError and must fill it in if the check fails.  Return
6471                         more descriptive error if the requested connection is already
6472                         activating
6473                 - (nm_device_activate): actually try to return descriptive errors on
6474                         failures
6475
6476         * src/nm-device-802-11-wireless.c
6477           src/nm-device-802-3-ethernet.c
6478           src/nm-serial-device.c
6479           src/nm-gsm-device.c
6480                 - (real_check_connection): return more descriptive errors on failure
6481
6482         * src/NetworkManagerPolicy.c
6483                 - (nm_policy_device_change_check): print activation errors in the logs
6484
6485         * src/nm-manager.c
6486                 - (nm_manager_error_quark, nm_manager_error_get_type,
6487                    nm_manager_class_init): new errors
6488                 - (nm_manager_activate_device): handle errors
6489                 - (nm_manager_error_new): removed
6490                 - (wait_for_connection_expired, connection_added_default_handler,
6491                    impl_manager_activate_device): better error handling
6492
6493 2007-12-27  Dan Williams  <dcbw@redhat.com>
6494
6495         Fixes gnome.org #466954
6496
6497         * src/supplicant-manager/nm-supplicant-settings-verify.c
6498                 - Allow 'frequency' network property
6499
6500         * src/supplicant-manager/nm-supplicant-config.c
6501           src/supplicant-manager/nm-supplicant-config.h
6502                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6503                         for callers to specify the frequency an Ad-Hoc network should operate
6504                         on.  Some drivers require this to successfully create an Ad-Hoc
6505                         network.
6506
6507         * src/nm-device-802-11-wireless.c
6508                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6509                         guint32 value in MHz
6510                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6511                         iw_freq_to_uint32()
6512                 - (find_supported_frequency): new function; find a free supported
6513                         frequency for a user-created Ad-Hoc network
6514                 - (build_supplicant_config): if no frequency was specified for a user-
6515                         created Ad-Hoc network, find a free one to use
6516                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6517                         a specific object as user-created
6518
6519 2007-12-27  Dan Williams  <dcbw@redhat.com>
6520
6521         * libnm-util/nm-utils.c
6522           libnm-util/nm-utils.h
6523                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6524                         for adhoc networks
6525
6526 2007-12-24  Dan Williams  <dcbw@redhat.com>
6527
6528         * libnm-util/nm-setting-wireless.c
6529                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6530                         185, 187, 188, 192, and 196
6531
6532 2007-12-24  Dan Williams  <dcbw@redhat.com>
6533
6534         * src/nm-device-802-11-wireless.c
6535                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6536                         a channel # instead of a frequency
6537
6538 2007-12-24  Dan Williams  <dcbw@redhat.com>
6539
6540         * src/NetworkManagerAP.c
6541           src/NetworkManagerAP.h
6542                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6543                 - (freq_to_channel): handle split band tables
6544                 - (channel_to_freq): handle split band tables, take a band argument
6545
6546 2007-12-24  Dan Williams  <dcbw@redhat.com>
6547
6548         * libnm-util/nm-setting-connection.h
6549           libnm-util/nm-setting-connection.c
6550                 - Add 'lockdown' member
6551
6552 2007-12-22  Dan Williams  <dcbw@redhat.com>
6553
6554         * libnm-util/nm-setting-wireless.c
6555                 - (nm_setting_wireless_class_init): add missing 'rate' property
6556                         specification
6557
6558 2007-12-18  Dan Williams  <dcbw@redhat.com>
6559
6560         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6561
6562         * src/nm-netlink-monitor.c
6563           src/nm-netlink-monitor.h
6564                 - Remove handrolled netlink, use libnl instead
6565
6566         * src/nm-device-802-3-ethernet.c
6567                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6568                    nm_device_802_3_ethernet_carrier_on): use new names
6569
6570 2007-12-17  Dan Williams  <dcbw@redhat.com>
6571
6572         * configure.in
6573                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6574                         and fixes memory leaks)
6575
6576         * src/nm-netlink.c
6577                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6578                         automatically handle the netlink PID
6579
6580 2007-12-17  Dan Williams  <dcbw@redhat.com>
6581
6582         Patch from Michael Biebl <biebl@debian.org>
6583
6584         * configure.in
6585           src/ppp-manager/Makefile.am
6586                 - fix up install dir of pppd plugin
6587                 - clean up configure.in a bit
6588
6589 2007-12-12  Dan Williams  <dcbw@redhat.com>
6590
6591         * system-settings/src/nm-system-settings.conf
6592                 - Allow non-root clients (like the applet) to read settings
6593
6594 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6595
6596         * Replace all occurences of 'UMTS' with 'GSM'.
6597
6598 2007-12-07  Dan Williams  <dcbw@redhat.com>
6599
6600         * src/nm-serial-device.c
6601                 - (real_is_up): serial devices are always "up"
6602
6603 2007-12-07  Dan Williams  <dcbw@redhat.com>
6604
6605         * src/nm-netlink.c
6606           src/NetworkManagerSystem.c
6607                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6608                         twice (gnome.org #491047)
6609                 - Make more robust against allocation-related failures should they occur
6610
6611 2007-12-07  Dan Williams  <dcbw@redhat.com>
6612
6613         Noticed by Christian Persch <chpe@gnome.org>
6614
6615         Always chain up to parent object in dispose and finalize handlers.
6616                 (gnome.org #433112)
6617
6618 2007-12-07  Dan Williams  <dcbw@redhat.com>
6619
6620         * src/nm-device-802-11-wireless.c
6621                 - Wrap #include of linux/mii.h to fix redefined structures due to
6622                         incorrect kernel headers (gnome.org #350061)
6623
6624 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6625
6626         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6627         before doing anything else.
6628         (init_modem): Move modem initialization here.
6629
6630         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6631         (nm_serial_device_flash): Implement.
6632
6633         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6634         changes signal is "StateChanged" and not "Status".
6635         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6636
6637 2007-12-06  Dan Williams  <dcbw@redhat.com>
6638
6639         * src/supplicant-manager/nm-supplicant-config.c
6640                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6641                         to only send some options when they make sense; also send phase2
6642                         option to the supplicant (possible fix for rh #399631)
6643
6644 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6645
6646         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6647         arguments: This whole file shouldn't really know anything about NMDevices, it
6648         should deal only with device interfaces. Devices might have different ifaces for
6649         different stuff and this place shouldn't know anything about it.
6650
6651         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6652         (global_state_changed): Implement. In the current NM it's not really important,
6653         but will be required in the case of multiple active devices. (Or even better,
6654         if stuff like that gets moved out from NM).
6655
6656         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6657         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6658         instead.
6659
6660         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6661         devices like serial devices (ttyS0 and ppp0 for example).
6662         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6663         set.
6664         (nm_device_set_ip_iface): Implement.
6665         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6666         after setting ip4_config from here ...
6667         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6668         than this function should call nm_system_device_set_from_ip4_config() because no
6669         other code has enough information on which arguments to use. So instead, other code
6670         could just set the new ip4 config using this function and everyone is happy.
6671
6672         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6673         if we happen to get deactivated while something is pending.
6674         (automatic_registration): Handle the response that indicates pending network
6675         registration and wait until the pending registration is done.
6676         (real_deactivate_quickly): If there's a pending operation, cancel it.
6677
6678         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6679         (real_deactivate_quickly): ... and remove it when it's down.
6680         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6681         it if needed.
6682         (nm_serial_device_wait_for_reply): Ditto.
6683
6684 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6685
6686         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6687         (get_network_done): Remove newline, nm_info() does it already.
6688         (real_act_stage1_prepare): Turn the modem echo off.
6689
6690         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6691         device, set the route to the device interface. This is a hack.
6692
6693         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6694         return, no need for a new-line.
6695         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6696         Change the device iface here (ugh).
6697         (real_act_stage4_get_ip4_config): Implement.
6698         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6699         Restore the device iface.
6700
6701         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6702         device is not wired or wireless (eg, automatically upped) device.
6703
6704         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6705         it isn't.
6706         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6707
6708         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6709         before calling it's is_device_fn().
6710
6711 2007-12-05  Dan Williams  <dcbw@redhat.com>
6712
6713         * libnm-util/nm-utils.c
6714                 - (nm_utils_register_value_transformations,
6715                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6716                         GHashTables of GValues too
6717
6718 2007-12-04  Dan Williams  <dcbw@redhat.com>
6719
6720         * initscript/RedHat/NetworkManager.in
6721                 - No longer start named; it's D-Bus interface is going away
6722
6723 2007-12-04  Dan Williams  <dcbw@redhat.com>
6724
6725         Patch from Michael Biebl <biebl@debian.org>
6726
6727         * system-settings/plugins/ifcfg/Makefile.am
6728           system-settings/src/main.c
6729           system-settings/src/Makefile.am
6730                 - Put system settings plugins in NM plugins dir
6731
6732         * src/ppp-manager/Makefile.am
6733           src/ppp-manager/nm-ppp-manager.c
6734                 - Move pppd plugin to NM plugins dir
6735
6736 2007-12-04  Dan Williams  <dcbw@redhat.com>
6737
6738         * libnm-util/nm-setting-vpn-properties.h
6739                 - Clarify usage of the 'data' member of the setting
6740
6741         * libnm-util/nm-setting-vpn-properties.c
6742                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6743                 - (set_property): just remove all the settings; don't recreate the has
6744                 - (update_one_secret): don't need to create the hash table here since
6745                         it should always be present
6746
6747 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6748
6749         Implement PIN and PUK requesting.
6750
6751         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6752         (enter_pin): Handle PIN and PUK requests.
6753         (real_act_stage1_prepare): Clear the secret type.
6754         (real_connection_secrets_updated): Implement this class method to get
6755         notified when new secrets arrive.
6756         (nm_umts_device_class_init): Add private data back to the umts device class
6757         to store the required secret type.
6758
6759 2007-12-01  Dan Williams  <dcbw@redhat.com>
6760
6761         * system-settings/plugins/ifcfg/parser.c
6762                 - (parser_parse_file): don't try to verify NULL connections
6763
6764 2007-12-01  Dan Williams  <dcbw@redhat.com>
6765
6766         * system-settings/src/main.c
6767                 - (load_connections, add_connection_to_settings): actually export
6768                         plugin-provided connections over D-Bus so NM can get them
6769
6770 2007-12-01  Dan Williams  <dcbw@redhat.com>
6771
6772         * system-settings/plugins/ifcfg/parser.c
6773           system-settings/plugins/ifcfg/parser.h
6774           system-settings/plugins/ifcfg/plugin.c
6775                 - Hook up more inotify bits (untested)
6776
6777 2007-11-29  Dan Williams  <dcbw@redhat.com>
6778
6779         * system-settings/src/nm-system-config-interface.h
6780           system-settings/src/nm-system-config-interface.c
6781                 - (nm_system_config_interface_init,
6782                    nm_system_config_interface_get_connections): add
6783
6784         * system-settings/src/main.c
6785                 - (load_plugins, load_connections, main): use a GSList for plugins
6786                         to ensure priority ordering
6787
6788         * system-settings/plugins/ifcfg/parser.c
6789                 - (ifcfg_error_quark): move to plugin.c, and rename
6790
6791         * system-settings/plugins/ifcfg/plugin.h
6792           system-settings/plugins/ifcfg/plugin.c
6793                 - (ifcfg_plugin_error_quark): move here from parser.c
6794                 - rework connection loading and initialization
6795                 - Add preliminary inotify support for network profile config file
6796
6797 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6798
6799         Merge the beginnings of the new GSM card support.
6800
6801         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6802         ppp watch source before killing pppd - If this happens from g_object_unref()
6803         then the ppp manager is already destroyed by the time the watch callback runs.
6804
6805         * src/nm-hal-manager.c: Add a device_type_name string to the device
6806         creators, so that we can print a nice human readable string when a
6807         device is added.
6808
6809         * src/nm-umts-device.c (automatic_registration_get_network): Query
6810         for the activated network, not much is done with the result thought.
6811
6812         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6813         (ppp_ip4_config): Change the device state to activated here for now.
6814         (real_check_connection): Make sure the connection includes ppp setting.
6815
6816         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6817
6818         * libnm-glib/Makefile.am: Add the new files to build.
6819
6820         * libnm-glib/nm-umts-device.c: 
6821         * libnm-glib/nm-umts-device.h: Implement.
6822
6823 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6824
6825         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6826         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6827
6828         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6829         the timeout source - this function is only called when the timeout source has
6830         been removed.
6831         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6832         to be big enough to contain the terminating zero element as well.
6833         The timeout argument is meant to be in seconds now.
6834         (real_deactivate_quickly): Implement.
6835
6836         * src/NetworkManager.conf: Allow root to own 
6837         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6838
6839         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6840         (not unsigned ints).
6841
6842         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6843         small issue with parity bounds - capital letters have lower ascii codes
6844         than lower case letters.
6845
6846         * libnm-util/nm-connection.c (register_default_settings): Register serial
6847         and umts settings.
6848
6849 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6850
6851         Remove the "index" property from devices as not all device types have this.
6852
6853         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6854
6855         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6856         (wired_device_creator): Get the device interface from hal to create the device.
6857         (wireless_device_creator): Ditto.
6858
6859         * src/nm-device.c (nm_device_init): Remove the index member.
6860         (constructor): Remove the checks for index property, make interface property
6861         a require constructor property.
6862         Use the HAL udi for DBus path for devices.
6863         (nm_device_get_index): Remove.
6864         (set_property): Remove index handling.
6865         (get_property): Ditto.
6866         (nm_device_get_dbus_path): Remove.
6867
6868         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6869         property.
6870
6871         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6872         Access the device index through it's interface.
6873         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6874         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6875         index argument. Add interface argument.
6876
6877         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6878         the useless test_dev argument. Remove index argument. Add interface arugment.
6879
6880         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6881         device index through interface.
6882         (nm_system_set_mtu): Ditto.
6883
6884         * introspection/nm-device.xml: Remove the "Index" property.
6885
6886 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6887
6888         * src/nm-serial-device.c: 
6889         * src/nm-serial-device.c: 
6890         * src/nm-umts-device.c:
6891         * src/nm-umts-device.h: Implement.
6892
6893         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6894         allocated by libhal.
6895         (modem_device_creator): Implement.
6896         (register_built_in_creators): Register the modem creator.
6897
6898         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6899         Remove the unused test_dev argument.
6900
6901         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6902
6903         * src/Makefile.am: Add new files to build.
6904         Link in ppp-manager.
6905
6906         * libnm-util/nm-setting-umts.c: 
6907         * libnm-util/nm-setting-umts.h: 
6908         * libnm-util/nm-setting-serial.c: 
6909         * libnm-util/nm-setting-serial.h: Implement.
6910
6911         * libnm-util/Makefile.am: Add new files to build.
6912
6913 2007-11-28  Dan Williams  <dcbw@redhat.com>
6914
6915         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6916
6917         Support DHCP-provided static routes.
6918
6919         * src/nm-ip4-config.h
6920           src/nm-ip4-config.c
6921                 - Add get/set functions for static routes
6922
6923         * src/dhcp-manager/nm-dhcp-manager.c
6924                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6925                         DHCP response
6926
6927         * src/NetworkManagerSystem.c
6928                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6929                         interface when applying the IP4Config
6930
6931 2007-11-28  Dan Williams  <dcbw@redhat.com>
6932
6933         * src/nm-device-802-11-wireless.c
6934                 - (real_act_stage1_prepare): mark APs created for hidden networks
6935                         as non-broadcasting
6936
6937 2007-11-27  Dan Williams  <dcbw@redhat.com>
6938
6939         * system-settings/src/nm-system-config-interface.h
6940                 - Note how to store secrets on NMSetting objects
6941
6942         * system-settings/src/dbus-settings.c
6943                 - (connection_settings_get_secrets): implement
6944
6945 2007-11-27  Dan Williams  <dcbw@redhat.com>
6946
6947         * system-settings/plugins/ifcfg/Makefile.am
6948           system-settings/plugins/ifcfg/parser.c
6949           system-settings/plugins/ifcfg/parser.h
6950           system-settings/plugins/ifcfg/plugin.c
6951                 - Parse wireless connections too
6952
6953         * system-settings/src/dbus-settings.c
6954           system-settings/src/dbus-settings.h
6955           system-settings/src/main.c
6956                 - Handle connection update/removal if the plugin supports it
6957
6958 2007-11-27  Dan Williams  <dcbw@redhat.com>
6959
6960         * src/nm-dbus-manager.h
6961           src/nm-hal-manager.c
6962                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6963                         do it for them
6964
6965         * src/Makefile.am
6966           src/NetworkManagerDbusUtils.c
6967           src/NetworkManagerDbusUtils.h
6968                 - Remove these two source files; they are unused
6969
6970 2007-11-27  Dan Williams  <dcbw@redhat.com>
6971
6972         * src/vpn-manager/nm-vpn-manager.c
6973                 - (impl_vpn_manager_connect): fix system settings check (found by
6974                         James M. Leddy)
6975
6976 2007-11-26  Dan Williams  <dcbw@redhat.com>
6977
6978         * Fix warnings so everything compiles with --enable-more-warnings
6979
6980 2007-11-25  Dan Williams  <dcbw@redhat.com>
6981
6982         * system-settings/*
6983                 - Rework structure and code to use GModule-loaded plugins and a plugin
6984                         interface that plugins export to the system settings service
6985
6986 2007-11-21  Dan Williams  <dcbw@redhat.com>
6987
6988         * system-settings/*
6989                 - Add Soren's system settings service.  Needs work for distros other
6990                         than Fedora; the backends from NM should mostly migrate to here
6991                         and be converted to GObjects
6992
6993 2007-11-21  Dan Williams  <dcbw@redhat.com>
6994
6995         * libnm-util/nm-setting-vpn-properties.c
6996                 - (set_property): must deep-copy the given settings hash, otherwise
6997                         double-free errors occur when the setting is disposed of
6998
6999 2007-11-21  Dan Williams  <dcbw@redhat.com>
7000
7001         * src/vpn-manager/nm-vpn-act-request.h
7002           src/vpn-manager/nm-vpn-act-request.c
7003                 - Remove; unused
7004
7005 2007-11-20  Dan Williams  <dcbw@redhat.com>
7006
7007         * libnm-util/nm-utils.c
7008                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7009                    nm_utils_convert_ip4_addr_struct_array_to_string,
7010                    nm_utils_register_value_transformations): print out the readable
7011                         values of more types of properties of NMSettings subclasses
7012
7013 2007-11-20  Dan Williams  <dcbw@redhat.com>
7014
7015         * libnm-util/nm-setting-ip4-config.c
7016                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7017                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7018                         marshal GValueArrays inside collections, so switch to types that it
7019                         can actually marshal/demarshal
7020
7021 2007-11-16  Dan Williams  <dcbw@redhat.com>
7022
7023         * libnm-util/nm-setting-wireless-security.c
7024                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7025                         minimal verification of EAP methods too
7026                 - (verify): verify phase1 eap methods too
7027
7028 2007-11-15  Dan Williams  <dcbw@redhat.com>
7029
7030         * libnm-glib/nm-device.h
7031           libnm-glib/nm-device.c
7032                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7033                         const char *
7034
7035 2007-11-15  Dan Williams  <dcbw@redhat.com>
7036
7037         * libnm-glib/nm-device.c
7038                 - (get_product_and_vendor): don't try to free things that should be
7039                         freed
7040
7041 2007-11-15  Dan Williams  <dcbw@redhat.com>
7042
7043         * src/NetworkManagerUtils.c
7044                 - (nm_ethernet_address_is_valid): unbreak previous fix
7045
7046 2007-11-15  Dan Williams  <dcbw@redhat.com>
7047
7048         * src/supplicant-manager/nm-supplicant-config.c
7049                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7050                         options
7051
7052 2007-11-15  Dan Williams  <dcbw@redhat.com>
7053
7054         * src/NetworkManagerUtils.c
7055                 - (nm_ethernet_address_is_valid): fix style, clarify
7056                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7057
7058         * src/nm-device-802-11-wireless.c
7059                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7060                 - (nm_device_802_11_wireless_get_ssid,
7061                    nm_device_802_11_wireless_get_bssid,
7062                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7063                         before calling the ioctl; fixes valgrind-reported jump depends on
7064                         uninitialized value errors
7065
7066 2007-11-15  Dan Williams  <dcbw@redhat.com>
7067
7068         * libnm-util/nm-setting.c
7069                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7070                         unecessary to serialize 'name'
7071
7072         * src/nm-activation-request.c
7073                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7074                         the GetSecrets call
7075
7076 2007-11-15  Dan Williams  <dcbw@redhat.com>
7077
7078         * libnm-util/nm-setting-connection.h
7079           libnm-util/nm-setting-connection.c
7080                 - Rename the 'name' property to 'id', because it conflicted with the
7081                         NMSetting superclass' 'name' property.
7082
7083         * libnm-util/nm-setting.c
7084                 - (nm_setting_to_hash): serialize the 'name' property
7085                 - (one_property_cb): ignore 'name' on deserialization of a connection
7086
7087         * src/nm-device-802-11-wireless.c
7088           src/vpn-manager/nm-vpn-connection.c
7089           src/NetworkManagerPolicy.c
7090                 - Fix up for NMSettingConnection 'name'->'id' changes
7091
7092 2007-11-13  Dan Williams  <dcbw@redhat.com>
7093
7094         * libnm-glib/nm-device-802-11-wireless.h
7095           libnm-glib/nm-device-802-11-wireless.c
7096                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7097
7098         * test/nm-tool.c
7099           libnm-glib/libnm-glib-test.c
7100                 - Fixes for above change
7101
7102 2007-11-12  Dan Williams  <dcbw@redhat.com>
7103
7104         * src/supplicant-manager/nm-supplicant-settings-verify.c
7105                 - Allow fragment_size option
7106
7107         * src/supplicant-manager/nm-supplicant-settings-verify.c
7108                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7109                         EAP fragment size than the default to help some TLS connections
7110
7111 2007-11-12  Dan Williams  <dcbw@redhat.com>
7112
7113         Make certs actually work.  The private key is now a secret, and should be
7114         decrypted when requested by NM.  The private key and phase2 private key
7115         passwords are no longer interesting to NM because they should be used by
7116         the settings service to decrypt the private key itself before passing it
7117         to NM, and hence have been removed as fields.
7118
7119         * libnm-util/nm-setting-wireless-security.h
7120           libnm-util/nm-setting-wireless-security.c
7121                 - Remove private-key-passwd and phase2-private-key-passwd from
7122                         properties
7123                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7124                    need_secrets): use property #defines instead strings to keep things
7125                         consistent
7126                 - (need_secrets_tls): if a client certificate is present but no
7127                         private key, request the private key
7128                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7129                         remove private key password stuff, mark private keys as secret
7130
7131         * src/supplicant-manager/nm-supplicant-settings-verify.c
7132                 - Remove private_key_passwd and private_key2_passwd from opt_table
7133
7134 2007-11-09  Dan Williams  <dcbw@redhat.com>
7135
7136         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7137         Since the vpn-properties are managed and known by the VPN daemons themselves,
7138         libnm-util doesn't know what's secret and what's in the setting's 'data'
7139         member.
7140
7141         * libnm-util/nm-setting.h
7142           libnm-util/nm-setting.c
7143                 - Add the ability for subclasses to override update_one_secret
7144
7145         * libnm-util/nm-setting-vpn-properties.c
7146                 - Override update_one_secret and just copy the values into the
7147                         internal table
7148
7149 2007-11-09  Dan Williams  <dcbw@redhat.com>
7150
7151         * libnm-glib/nm-settings.h
7152           libnm-glib/nm-settings.c
7153                 - (nm_settings_new_error): remove
7154                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7155                         clients should use g_set_error() with NM_SETTINGS_ERROR
7156
7157 2007-11-09  Dan Williams  <dcbw@redhat.com>
7158
7159         * src/supplicant-manager/nm-supplicant-config.c
7160                 - (nm_supplicant_config_add_setting_wireless_security): private key
7161                         passwords are never sent to wpa_supplicant, because the supplicant
7162                         should never be reading random files from the disk.  Clients like
7163                         the applet are required to decrypt the private keys and send NM
7164                         the decrypted blobs.
7165
7166 2007-11-08  Dan Williams  <dcbw@redhat.com>
7167
7168         * libnm-util/nm-setting-wireless-security.h
7169           libnm-util/nm-setting-wireless-security.c
7170                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7171                         members to 802-11-wireless-security structure.  This should be used
7172                         to indicate that the values in private-key and phase2-private-key
7173                         are already decrypted by the user agent, and that no
7174                         private-key-passwd or phase2-private-key-passwd should be expected.
7175                         It is not meant to be a stored configuration value, but meant to
7176                         be set when the conneciton is sent to NM over dbus.
7177
7178 2007-11-08  Dan Williams  <dcbw@redhat.com>
7179
7180         * libnm-util/nm-connection.h
7181           libnm-util/nm-connection.c
7182                 - (nm_connection_need_secrets): add argument to return hints
7183
7184         * src/nm-device-802-11-wireless.c
7185                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7186                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7187                         nm_connection_need_secrets() change
7188
7189 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7190
7191         Rework NMSetting structures: Move each setting to it's own file.
7192         Convert to GObject. Remove home grown setting types and use GTypes.
7193         Use GObject property introspection for hash conversion, enumerating
7194         properties, etc.
7195
7196         * libnm-util/nm-setting-connection.[ch]
7197         * libnm-util/nm-setting-ip4-config.[ch]
7198         * libnm-util/nm-setting-ppp.[ch]
7199         * libnm-util/nm-setting-vpn.[ch]
7200         * libnm-util/nm-setting-vpn-properties.[ch]
7201         * libnm-util/nm-setting-wired.[ch]
7202         * libnm-util/nm-setting-wireless.[ch]
7203         * libnm-util/nm-setting-wireless-security.[ch]
7204
7205         New files, each containing a setting.
7206
7207         * libnm-util/nm-setting-template.[ch]: A template for creating new
7208         settings. To use it, just replace 'template' with the new setting
7209         name, and you're half-way done.
7210
7211         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7212         introspection instead of internal types and tables.
7213
7214         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7215
7216         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7217         GValue types defined by dbus-glib for composed types like collections,
7218         structures and maps.
7219
7220         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7221         a setting from connection takes the setting type now. Also, since
7222         the settings are in multiple files, include relevant settings.
7223
7224 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7225
7226         * configure.in:
7227         * src/backends/NetworkManagerGentoo.c:
7228         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7229         providers in Gentoo.
7230
7231 2007-10-31  Dan Williams  <dcbw@redhat.com>
7232
7233         * libnm-util/nm-connection.c
7234                 - (gvalue_to_string): handle UINT32 arrays
7235
7236 2007-10-31  Dan Williams  <dcbw@redhat.com>
7237
7238         * libnm-glib/nm-device.h
7239           libnm-glib/nm-device.c
7240                 - (nm_device_get_description): remove
7241                 - (nm_device_get_product, nm_device_get_vendor): add
7242                 - (nm_device_update_description): new function (private); walk HAL
7243                         devices to get product and vendor IDs for a specific device
7244
7245 2007-10-31  Dan Williams  <dcbw@redhat.com>
7246
7247         * src/nm-device-802-11-wireless.c
7248                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7249
7250 2007-10-29  Dan Williams  <dcbw@redhat.com>
7251
7252         * src/nm-hal-manager.c
7253                 - (device_added, device_new_capability): ignore device additions while
7254                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7255                         kernel module is unloaded and reloaded and recognized by NM again.
7256
7257 2007-10-26  Dan Williams  <dcbw@redhat.com>
7258
7259         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7260
7261         * src/NetworkManagerAP.c
7262           src/NetworkManagerAP.h
7263           libnm-glib/nm-access-point.c
7264           libnm-glib/nm-access-point.h
7265                 - Make 'rate' property a guint32 to better match with WEXT and
7266                         wpa_supplicant and to allow representation of higher bitrates
7267
7268         * src/nm-device-802-11-wireless.c
7269           introspection/nm-device-802-11-wireless.xml
7270           libnm-glib/nm-device-802-11-wireless.c
7271           libnm-glib/nm-device-802-11-wireless.h
7272                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7273
7274         * src/nm-device-802-3-ethernet.c
7275           src/nm-device-802-3-ethernet.h
7276           introspection/nm-device-802-3-ethernet.xml
7277           libnm-glib/nm-device-802-3-ethernet.c
7278           libnm-glib/nm-device-802-3-ethernet.h
7279                 - Make 'speed' property a guint32 to match other speed/rate types
7280                 - Make nm_device_802_3_ethernet_get_speed() static
7281
7282         * test/nm-tool.c
7283                 - Update for the changes above
7284
7285 2007-10-26  Dan Williams  <dcbw@redhat.com>
7286
7287         * src/named-manager/nm-named-manager.c
7288                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7289                     not calling fclose() twice on some error conditions
7290
7291 2007-10-26  Dan Williams  <dcbw@redhat.com>
7292
7293         * src/nm-activation-request.c
7294                 - (dispose): clean up indentation; get the right DBusGProxy object to
7295                         cancel the GetSecrets pending call on.  Need to use the Secrets
7296                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7297                         pending call doesn't get canceled, and pressing Cancel in the
7298                         applet's password dialog could cause get_secrets_cb() to be called
7299                         after the activation request has already been destroyed
7300
7301 2007-10-24  Dan Williams  <dcbw@redhat.com>
7302
7303         * src/supplicant-manager/nm-supplicant-config.c
7304                 - (nm_supplicant_config_add_blob): pass blob data and length for
7305                         verification
7306                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7307
7308 2007-10-24  Dan Williams  <dcbw@redhat.com>
7309
7310         * src/supplicant-manager/nm-supplicant-settings-verify.c
7311                 - (opt_table): max length for certificates should be 65536
7312
7313 2007-10-24  Dan Williams  <dcbw@redhat.com>
7314
7315         * src/supplicant-manager/nm-supplicant-interface.c
7316                 - (blob_free): correctly free blob data after use
7317                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7318
7319 2007-10-24  Dan Williams  <dcbw@redhat.com>
7320
7321         * libnm-util/nm-setting.c
7322                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7323                         EAP method need secrets
7324
7325 2007-10-24  Dan Williams  <dcbw@redhat.com>
7326
7327         * src/backends/NetworkManagerRedHat.c
7328                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7329
7330 2007-10-23  Dan Williams  <dcbw@redhat.com>
7331
7332         * libnm-util/nm-setting.c
7333           libnm-util/nm-setting.c
7334                 - (nm_setting_compare): implement
7335                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7336                    compare_one_hash_gvalue): compare the contents of a setting
7337
7338         * libnm-util/nm-connection.c
7339                 - (nm_connection_compare): implement
7340
7341 2007-10-23  Dan Williams  <dcbw@redhat.com>
7342
7343         * src/nm-activation-request.c
7344                 - (get_secrets_cb): handle getting a setting back that is more than
7345                         just secrets (ie, user changed auth or EAP method or something)
7346
7347 2007-10-23  Dan Williams  <dcbw@redhat.com>
7348
7349         * libnm-util/nm-setting.c
7350           libnm-util/nm-setting.h
7351                 - (nm_setting_verify): new function; verify one setting
7352                 - (nm_settings_verify_all): rename from nm_settings_verify()
7353                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7354                         all_settings
7355
7356         * libnm-util/nm-connection.c
7357                 - (nm_connection_replace_settings, nm_connection_verify,
7358                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7359
7360 2007-10-23  Dan Williams  <dcbw@redhat.com>
7361
7362         * src/nm-device-802-11-wireless.c
7363                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7364                         desired behavior
7365
7366 2007-10-23  Dan Williams  <dcbw@redhat.com>
7367
7368         * src/supplicant-manager/nm-supplicant-settings-verify.c
7369                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7370                         nm-settings.c
7371
7372 2007-10-23  Dan Williams  <dcbw@redhat.com>
7373
7374         * src/nm-device-802-11-wireless.c
7375                 - (real_act_stage2_config): after the first association failure,
7376                         if the connection still needs secrets ask the user for them
7377                         explicitly.  After the fourth association failure due to bad
7378                         secrets, fail the connection entirely.  Handles the GetSecrets
7379                         loop that NM gets into when the provided secrets don't match up
7380                         with the connection details.
7381
7382 2007-10-23  Dan Williams  <dcbw@redhat.com>
7383
7384         * src/supplicant-manager/nm-supplicant-config.c
7385                 - (nm_supplicant_config_add_setting_wireless_security): only add
7386                         WPA-specific options when WPA is in use
7387
7388 2007-10-23  Dan Williams  <dcbw@redhat.com>
7389
7390         * src/supplicant-manager/nm-supplicant-config.c
7391                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7392                         secret doesn't need to be unhexified
7393
7394 2007-10-23  Dan Williams  <dcbw@redhat.com>
7395
7396         * libnm-util/nm-setting.c
7397                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7398                         before trying to do something with it
7399
7400 2007-10-23  Dan Williams  <dcbw@redhat.com>
7401
7402         * src/nm-device-802-11-wireless.c
7403                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7404
7405 2007-10-23  Dan Williams  <dcbw@redhat.com>
7406
7407         * src/nm-device-802-11-wireless.c
7408                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7409                         non-SSID-broadcasting APs
7410
7411 2007-10-23  Dan Williams  <dcbw@redhat.com>
7412
7413         * src/NetworkManagerAP.c
7414                 - (match_cipher, security_compatible): remove
7415                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7416                         libnm-util instead
7417
7418 2007-10-23  Dan Williams  <dcbw@redhat.com>
7419
7420         * libnm-util/nm-utils.c
7421           libnm-util/nm-utils.h
7422                 - (nm_utils_ap_security_compatible): common function for checking
7423                         whether a specific AP is compatible with an NMConnection
7424
7425 2007-10-23  Dan Williams  <dcbw@redhat.com>
7426
7427         * libnm-util/nm-setting.c
7428                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7429                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7430                    need_secrets_password, setting_wireless_security_verify): fix
7431                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7432                         secrets logic for each supported EAP method
7433
7434 2007-10-23  Dan Williams  <dcbw@redhat.com>
7435
7436         * src/supplicant-manager/nm-supplicant-config.c
7437                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7438                         config option name, should be "private_key2_passwd"
7439
7440 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7441
7442         Implement support for static IP addresses, additional/overridden DNS and
7443         DNS domain search lists.
7444
7445         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7446         (ip4_addresses_to_gvalue): Implement.
7447         (convert_array_to_byte_array): Implement.
7448         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7449         NM_S_TYPE_IP4_ADDRESSES.
7450         (nm_setting_hash): Ditto.
7451         (default_setting_clear_secrets): Add a default case for the switch: IP address
7452         shouldn't be secret, ever.
7453         (setting_ip4_config_verify): Update, requires addresses in case of manual
7454         configurations.
7455         (setting_ip4_config_destroy): Free stuff.
7456
7457         * src/nm-device.c (merge_ip4_config): Implement.
7458         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7459
7460 2007-10-22  Dan Williams  <dcbw@redhat.com>
7461
7462         * libnm-util/nm-setting.c
7463                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7464                         pairwise cipher options for Dynamic WEP
7465
7466 2007-10-21  Dan Williams  <dcbw@redhat.com>
7467
7468         * src/NetworkManagerAP.c
7469           src/NetworkManagerAP.h
7470                 - Rename 'articifical' -> 'fake' since that's what they are until
7471                         noticed in scans
7472                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7473                         from the attributes in an NMConnection object
7474                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7475                         WPA Enterprise
7476                 - (nm_ap_match_in_list): find a matching AP in a scan list
7477
7478         * src/nm-device-802-11-wireless.c
7479                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7480                         AP when searching the scan list; match on frequency and mode too
7481                 - (nm_device_802_11_wireless_get_frequency): implement
7482                 - (merge_scanned_ap): replace duplicate matching logic with
7483                         nm_ap_match_in_list()
7484                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7485                         the user is trying to connect to a hidden network that is not yet
7486                         known from the scan list
7487                 - (activation_success_handler): now that the card knows the AP's BSSID,
7488                         there may already be a scanned AP in the scan list that is what
7489                         we really wanted to connect to, but didn't know at the time.  Use
7490                         that instead of the 'fake' AP created at activation start and get
7491                         rid of the 'fake' AP 
7492                 - (cull_scan_list): don't remove fake APs
7493
7494 2007-10-21  Dan Williams  <dcbw@redhat.com>
7495
7496         * src/nm-activation-request.h
7497           src/nm-activation-request.c
7498                 - (nm_act_request_set_specific_object): new function; allow setting the
7499                         specific object if one isn't set yet
7500
7501 2007-10-20  Dan Williams  <dcbw@redhat.com>
7502
7503         * src/supplicant-manager/nm-supplicant-config.h
7504           src/supplicant-manager/nm-supplicant-config.c
7505                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7506                         table to store blobs
7507                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7508                         blob hash table
7509                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7510                 - (nm_supplicant_config_add_setting_wireless_security): handle
7511                         options that use certificates (ie, blobs)
7512
7513         * src/nm-device-802-11-wireless.c
7514                 - (build_supplicant_config): pass a UID (just use the connection path)
7515                         to the supplicant config as now required
7516
7517         * src/supplicant-manager/nm-supplicant-interface.c
7518                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7519                         there are any blobs to send to wpa_supplicant, send those first
7520                         before sending the network configuration
7521
7522 2007-10-19  Dan Williams  <dcbw@redhat.com>
7523
7524         Split the GetSecrets() call off to a separate D-Bus interface so that it
7525         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7526         should be able to call GetSecrets().
7527
7528         * include/NetworkManager.h
7529                 - Define the connection secrets D-Bus interface
7530
7531         * src/vpn-manager/nm-vpn-connection.c
7532                 - (clear_need_auth): get the right proxy object for the connection
7533                         secrets interface
7534                 - (get_connection_secrets): use the connection secrets proxy; send
7535                         empty hints in get secrets request
7536
7537         * src/nm-activation-request.c
7538                 - (nm_act_request_request_connection_secrets): use the connection
7539                         secrets proxy; send empty hints in get secrets request
7540
7541         * src/nm-manager.c
7542           src/nm-manager.h
7543                 - (connection_get_settings_cb): set the connection secrets proxy on
7544                         the connection object too
7545                 - (internal_new_connection_cb): create the connection secrets proxy
7546
7547         * introspection/nm-settings-connection.xml
7548                 - Define Connection.Secrets interface and move GetSecrets there
7549                 - Add a 'hints' argument to GetSecrets
7550
7551         * libnm-glib/nm-settings.c
7552           libnm-glib/nm-settings.h
7553                 - (impl_connection_settings_get_secrets): add 'hints' argument
7554
7555 2007-10-19  Dan Williams  <dcbw@redhat.com>
7556
7557         * src/nm-device.c
7558                 - (constructor): add message about what path a device is exported as
7559                         to help in debugging rh #339011
7560
7561 2007-10-17  Dan Williams  <dcbw@redhat.com>
7562
7563         * libnm-util/nm-utils.h
7564           libnm-util/nm-utils.c
7565                 - (nm_utils_security_valid): common function to help find the intersection
7566                         of capabilities of devices and (optionally) access points
7567
7568 2007-10-17  Dan Williams  <dcbw@redhat.com>
7569
7570         * src/nm-device-802-11-wireless.c
7571                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7572                         don't get erroneously cleared
7573
7574 2007-10-17  Dan Williams  <dcbw@redhat.com>
7575
7576         * src/nm-manager.h
7577           src/nm-manager.c
7578           src/nm-hal-manager.c
7579                 - (device_removed, finalize, nm_manager_remove_device,
7580                    nm_manager_sleep): add a 'deactivate' argument to 
7581                    nm_manager_remove_device() to fully deactivate devices when necessary
7582                    (ie, always except when waking up)
7583
7584 2007-10-16  Dan Williams  <dcbw@redhat.com>
7585
7586         * libnm-util/nm-setting.c
7587                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7588                         also isn't valid phase2 autheap method
7589
7590 2007-10-16  Dan Williams  <dcbw@redhat.com>
7591
7592         * libnm-glib/nm-client.c
7593                 - (update_wireless_status): consolidate updates of wireless status
7594                 - (constructor): use update_wireless_status()
7595                 - (manager_running): set wireless status off when NM goes away; requery
7596                         the wireless status when NM comes back
7597
7598 2007-10-16  Dan Williams  <dcbw@redhat.com>
7599
7600         * libnm-glib/nm-client.c
7601                 - (nm_client_activate_device): actually use the fixed-up specific
7602                         object path
7603
7604 2007-10-16  Dan Williams  <dcbw@redhat.com>
7605
7606         * src/nm-hal-manager.c
7607                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7608                         killswitch error messages once
7609
7610 2007-10-16  Dan Williams  <dcbw@redhat.com>
7611
7612         * src/nm-manager.c
7613                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7614                         if it's disabled in hardware; don't touch network devices while
7615                         NM is asleep
7616
7617 2007-10-16  Dan Williams  <dcbw@redhat.com>
7618
7619         * libnm-util/nm-client.c
7620                 - (nm_client_activate_device): convert NULL specific_object to "/",
7621                         which is used in place of NULL
7622
7623         * src/nm-manager.c
7624                 - (impl_manager_activate_device): convert "/" specific_object back into
7625                         NULL
7626
7627 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7628
7629         Implement a generic NMSetting creator from setting name.
7630         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7631         add a virtual function 'populate_fn'.
7632
7633         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7634         (register_default_creators): Register setting creators instead of functions
7635         that create and then populate.
7636         (parse_one_setting): Use the common setting creator and then setting specific
7637         poplulation function.
7638
7639         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7640         they all looked exactly the same.
7641         Add a 'populate_fn' virtual function to NMSetting.
7642         Use default virtual functions in case they are not overriden.
7643         (nm_setting_populate_from_hash): Implement.
7644
7645         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7646         name, use a defined string.
7647         (real_act_stage4_get_ip4_config): Ditto.
7648
7649 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7650
7651         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7652         HAL is int, not uint.
7653
7654 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7655
7656         Implement killswitch polling through HAL.
7657
7658         * src/nm-manager.c: Add wireless hardware status property. Add 
7659         'properties-changed' signal for changes in wireless and wireless hardware
7660         state changes.
7661
7662         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7663         and update NMManager's wireless hardware state when it has changed.
7664         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7665         already does that.
7666
7667         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7668         values of wireless state and wireless hardware state. Listen for the
7669         'properties-changed' signals, update the cached values and emit notify.
7670
7671         * include/NetworkManager.h: Fix a typo in a comment.
7672
7673 2007-10-14  Dan Williams  <dcbw@redhat.com>
7674
7675         * libnm-util/nm-setting.c
7676                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7677
7678 2007-10-13  Dan Williams  <dcbw@redhat.com>
7679
7680         * libnm-util/nm-setting.h
7681           libnm-util/nm-setting.c
7682           src/supplicant-manager/nm-supplicant-config.c
7683                 - Make the 'proto' field of the 802-11-wireless-security field a
7684                         string list
7685
7686 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7687
7688         Rework the "properties-changed" signal listening implementation.
7689         Add a generic implementation to NMObject class that listens for
7690         the signal and calls property setters of the target NMObject.
7691
7692         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7693
7694         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7695         code to the end of file so that all the static functions are available
7696         without extra declarations.
7697         Remove the "properties-changed" signal handling and use the framework from
7698         NMObject.
7699         Implement property setters for properties that change with 
7700         "properties-changed" signal.
7701
7702         * libnm-glib/nm-access-point.c: Ditto.
7703
7704 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7705
7706         Rework the "properties-changed" signal implementation.
7707         In classes that need to use it, just emit "GObject::notify" and the new
7708         framework takes care of the rest to make the signal available on dbus.
7709         The framework queues the notifications and tries to send as many together
7710         in one signal as possible.
7711
7712         * src/nm-properties-changed-signal.c:
7713         * src/nm-properties-changed-signal.h: Implement.
7714
7715         * src/Makefile.am: Add new files to build.
7716
7717         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7718         signal.
7719
7720         * src/nm-device-802-11-wireless.c: Ditto.
7721
7722 2007-10-10  Dan Williams  <dcbw@redhat.com>
7723
7724         * src/nm-manager.c
7725                 - (wait_for_connection_expired): ensure info is valid
7726                 - (connection_added_default_handler): Should only remove pending
7727                         connection info when the manager has the connection that it's
7728                         waiting for.  Fixes segfault in wait_for_connection_info().  
7729
7730 2007-10-10  Dan Williams  <dcbw@redhat.com>
7731
7732         * libnm-util/nm-setting.c
7733           libnm-util/nm-setting.h
7734                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7735                         can use if they choose.  Should be filled in by the settings service
7736                         on-the-fly with the currently logged in user's username
7737
7738 2007-10-10  Dan Williams  <dcbw@redhat.com>
7739
7740         * src/nm-device-802-11-wireless.c
7741                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7742                         as such, because even if the manager fills in the SSID, NM still
7743                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7744                         its SSID
7745
7746 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7747
7748         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7749         code that used NM's own version of dbus signal handling and custom dictionary
7750         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7751         and we get to maintain over 2000 lines less code.
7752
7753         * libnm-util/dbus-dict-helpers.c:
7754         * libnm-util/dbus-dict-helpers.h: Remove.
7755
7756         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7757
7758         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7759
7760         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7761         handlers.
7762
7763         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7764
7765         * configure.in: Remove test/libnm-util/Makefile creation.
7766
7767         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7768
7769         * test/libnm-util/: Remove the whole directory.
7770
7771 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7772
7773         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7774         device_state_changed_idle_id variable or it would contain some random value and the
7775         schedule_change_check calls would not do anything.
7776
7777 2007-10-09  Dan Williams  <dcbw@redhat.com>
7778
7779         * src/nm-device-802-11-wireless.c
7780                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7781                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7782                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7783                         merging of non-SSID-broadcasting APs
7784
7785 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7786
7787         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7788         "guint8 *" since it's usually used with GByteArray->data.
7789         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7790
7791 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7792
7793         * src/NetworkManagerUtils.c
7794         (nm_utils_is_empty_ssid):
7795         (nm_utils_escape_ssid):
7796         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7797         lot of places, so they belong to libnm-utils instead.
7798
7799         Now with 100% less compiler warnings:
7800
7801         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7802         (nm_dbus_unescape_object_path): Ditto.
7803         (nm_utils_ssid_to_utf8): Ditto.
7804         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7805         (nm_utils_escape_ssid): Ditto.
7806         (nm_utils_same_ssid): Ditto.
7807
7808         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7809         (add_one_connection_element): Remove an unused variable.
7810         (impl_manager_get_active_connections): Ditto.
7811
7812         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7813         variable.
7814
7815         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7816         from the previous commit.
7817
7818         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7819         (real_act_stage1_prepare): Ditto.
7820         (activation_success_handler): Ditto.
7821         (get_property): Ditto.
7822
7823         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7824         variable.
7825
7826         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7827         it's always set.
7828
7829         * src/supplicant-manager/nm-supplicant-config.c 
7830         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7831         to expected "char *".
7832         (nm_supplicant_config_add_setting_wireless): Ditto.
7833         (nm_supplicant_config_remove_option): Remove, not used.
7834
7835         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7836         not double.
7837         (test_wireless_enabled): Ifdef out unused function.
7838         (device_deactivate): Ditto.
7839         (device_state_changed): Ditto.
7840         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7841         (nm_utils_escape_ssid): Ditto.
7842
7843         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7844         (nm_utils_is_empty_ssid): Ditto.
7845
7846         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7847         unused variable.
7848
7849         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7850         (setting_vpn_properties_update_secrets): Ditto.
7851         (int_to_gvalue): Ifdef out for now, not used.
7852         (byte_to_gvalue): Ditto.
7853
7854         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7855         Unused, remove.
7856
7857 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7858
7859         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7860         about dbus manager, not named manager.
7861         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7862
7863         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7864         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7865         However, the same signal is emitted when we destroy it and there's 
7866         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7867
7868         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7869         releasing the DBusGConnection, since proxy needs a conneciton.
7870         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7871
7872 2007-10-08  Dan Williams  <dcbw@redhat.com>
7873
7874         * src/NetworkManager.c
7875                 - (main): error on unknown command-line options
7876
7877 2007-10-08  Dan Williams  <dcbw@redhat.com>
7878
7879         Reimplement the invalid connection list.  Don't try to re-activate a
7880         connection that just failed or was canceled.
7881
7882         * src/nm-device.c
7883                 - (connection_secrets_failed_cb): fail device activation, don't just
7884                         deactivate the device.  Listeners have to know about the failure.
7885
7886         * src/NetworkManagerPolicy.c
7887                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7888                         the connection list given to a device's get_best_connection()
7889                         method
7890                 - (device_state_changed): tag failed connections as invalid; clear the
7891                         tag from successful connections
7892
7893 2007-10-08  Dan Williams  <dcbw@redhat.com>
7894
7895         Fix problems with interrupted activation.  Previously, choosing an AP
7896         from the menu, then choosing another one before the first connection was
7897         successful wouldn't deactivate the device before starting the new connection
7898         on that same device.
7899
7900         * src/NetworkManagerPolicy.c
7901                 - (deactivate_old_device, device_state_changed, state_changed,
7902                    nm_policy_new): wrong place to deactivate old devices
7903
7904         * src/nm-manager.c
7905                 - (pending_connection_info_destroy, finalize,
7906                    wait_for_connection_expired): decouple destruction of the pending
7907                         connection info from the manager device
7908                 - (connection_added_default_handler): deactivate any active or
7909                         activating device before starting a new activation
7910                 - (impl_manager_activate_device): deactivate any active or activating
7911                         device before starting a new activation; be sure not to leak
7912                         pending connection info if a new activation request arrives but
7913                         there's already a pending one in-process
7914
7915 2007-10-08  Dan Williams  <dcbw@redhat.com>
7916
7917         * src/NetworkManagerAP.h
7918           src/NetworkManagerAP.c
7919                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7920                         should handle default SSIDs and whether or not to autoconnect
7921                         to them
7922
7923 2007-10-08  Dan Williams  <dcbw@redhat.com>
7924
7925         * src/NetworkManagerPolicy.c
7926                 - (nm_policy_device_change_check): print out connection name where
7927                         possible
7928
7929 2007-10-08  Dan Williams  <dcbw@redhat.com>
7930
7931         * src/nm-device-802-11-wireless.c
7932           src/nm-device-802-11-wireless.h
7933                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7934                         'hidden-ap-found' signal (for internal use only) that allows the
7935                         NMManager to fill in the AP's SSID if a connection has that AP's
7936                         BSSID in its seen-bssids list
7937
7938         * src/nm-manager.c
7939                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7940                         wireless device's hidden-ap-found signal and fill in the APs SSID
7941                         if possible
7942
7943 2007-10-07  Dan Williams  <dcbw@redhat.com>
7944
7945         * src/nm-manager.c
7946           src/nm-manager.h
7947                 - Add a 'connections-added' signal to batch together updates of large
7948                         numbers of connections, like when reading from a settings service
7949                         the first time.  Otherwise, the policy would just activate the first
7950                         suitable connection it saw rather than waiting for the full list
7951                         to arrive.
7952                 - (nm_manager_class_init): register new signal
7953                 - (get_type_for_proxy, connection_get_settings_cb,
7954                    get_connection_for_proxy): centralize places where a proxy's setting
7955                         service is determined
7956                 - (free_get_settings_info): if the call being freed is the last call
7957                         in a pending call group, fire off the connections-added signal
7958                 - (internal_new_connection_cb): add call to a pending call group if
7959                         requested
7960                 - (list_connections_cb): always create a call group here, because this
7961                         call results in a batch of new connections
7962                 - (initial_get_connections): start getting system connections first
7963                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7964                         removed signal when destroying connections
7965
7966         * src/NetworkManagerPolicy.c
7967                 - (nm_policy_new, connections_added): handle connections-added signal
7968                         from the manager
7969
7970 2007-10-06  Dan Williams  <dcbw@redhat.com>
7971
7972         * src/nm-device-802-11-wireless.c
7973                 - (constructor): fix leaked socket
7974
7975 2007-10-06  Dan Williams  <dcbw@redhat.com>
7976
7977         * src/NetworkManagerPolicy.c
7978                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7979                         connection in the list returned by nm_manager_get_connections() is
7980                         reffed, but they weren't getting unreffed before returning
7981
7982 2007-10-06  Dan Williams  <dcbw@redhat.com>
7983
7984         * src/nm-manager.c
7985                 - (connections_to_slist): sort connections first on autoconnect, then
7986                         on timestamp
7987
7988 2007-10-06  Dan Williams  <dcbw@redhat.com>
7989
7990         * libnm-util/nm-connection.c
7991                 - (gvalue_to_string): handle UINT64
7992
7993 2007-10-06  Dan Williams  <dcbw@redhat.com>
7994
7995         * src/NetworkManagerPolicy.c
7996                 - (connection_updated, nm_policy_new): recheck state when a connection
7997                         gets updated
7998
7999 2007-10-06  Dan Williams  <dcbw@redhat.com>
8000
8001         * src/nm-manager.c
8002           src/nm-manager.h
8003                 - (nm_manager_get_connection_dbus_path): make static
8004                 - (nm_manager_update_connections): remove; unused
8005                 - Add a connection-updated signal
8006                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8007                         handle connection object updates
8008
8009 2007-10-06  Dan Williams  <dcbw@redhat.com>
8010
8011         * src/NetworkManagerPolicy.c
8012                 - (connection_removed): deactivate removed connections
8013
8014 2007-10-06  Dan Williams  <dcbw@redhat.com>
8015
8016         * libnm-util/nm-connection.c
8017           libnm-util/nm-connection.h
8018                 - (nm_connection_replace_settings): new function
8019
8020 2007-10-06  Dan Williams  <dcbw@redhat.com>
8021
8022         * libnm-glib/nm-device-802-11-wireless.c
8023                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8024                         on error when getting the active access point over D-Bus from NM
8025
8026 2007-10-05  Dan Williams  <dcbw@redhat.com>
8027
8028         * libnm-util/nm-setting.c
8029                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8030                         to the NMSettingWireless table; it's now a string array not an array
8031                         of byte arrays
8032
8033 2007-10-05  Dan Williams  <dcbw@redhat.com>
8034
8035         * libnm-glib/nm-device-802-11-wireless.c
8036                 - Cache properties and update cached properties on D-Bus signals from NM
8037
8038 2007-10-05  Dan Williams  <dcbw@redhat.com>
8039
8040         * src/nm-device-802-11-wireless.c
8041                 - (set_current_ap): consolidate current_ap handling code into one place
8042                         to ensure that PropertiesChanged signals are emitted in all cases
8043                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8044                    nm_device_802_11_wireless_dispose): use set_current_ap()
8045
8046 2007-10-05  Dan Williams  <dcbw@redhat.com>
8047
8048         * libnm-glib/nm-access-point.c
8049           libnm-glib/nm-access-point.h
8050                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8051                         because the value is cached internally now.  Callers should not
8052                         free the internal value.
8053                 - Make signal name defines private
8054
8055         * test/nm-tool.c
8056           libnm-glib/libnm-glib-test.c
8057                 - Don't free value returned from nm_access_point_get_hw_address()
8058
8059 2007-10-04  Dan Williams  <dcbw@redhat.com>
8060
8061         * introspection/nm-device-802-11-wireless.xml
8062           src/nm-device-802-11-wireless.h
8063           src/nm-device-802-11-wireless.c
8064                 - Add a PropertiesChanged signal for wireless device
8065                 - Store currently associated access point
8066                 - (periodic_update): generalize; update rate here too and emit the
8067                         correct PropertiesChanged signal when stuff changes
8068                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8069                    real_activation_cancel_handler): clear current_ap when device is
8070                         deactivated
8071                 - (link_to_specific_ap, get_ap_blacklisted,
8072                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8073                         code
8074                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8075                         outside this file
8076                 - (real_set_hw_address): emit property changed signal if the card's
8077                         MAC address changes
8078                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8079                         the card is supposed to be connecting to
8080                 - (activation_success_handler): send out property updates on successful
8081                         activation
8082                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8083                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8084                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8085                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8086                         is now boxed; add PropertiesChanged signal
8087
8088 2007-10-04  Dan Williams  <dcbw@redhat.com>
8089
8090         * libnm-util/nm-connection.c
8091           libnm-util/nm-connection.h
8092                 - (nm_connection_verify): new function
8093
8094 2007-10-04  Dan Williams  <dcbw@redhat.com>
8095
8096         * libnm-util/nm-setting.c
8097                 - (nm_settings_verify): use #defines when possible rather than strings
8098                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8099                 - (setting_vpn_verify): tighter validity check on 'service_type'
8100
8101 2007-10-04  Dan Williams  <dcbw@redhat.com>
8102
8103         * libnm-glib/nm-settings.c
8104                 - (nm_connection_settings_class_init): provide correct type for argument
8105                         to the Updated signal so that dbus-glib knows how to marshal it
8106
8107 2007-10-03  Dan Williams  <dcbw@redhat.com>
8108
8109         * src/nm-device-802-3-ethernet.c
8110                 - (real_get_best_connection): don't create automatic connections
8111                         internally; clients should provide a setting that applies to
8112                         the device with 'autoconnect: True'.  Problem was that these
8113                         internally auto-created connections don't have a proxy or service
8114                         name becuase they weren't created by a settings daemon, and therefore
8115                         clients have no idea what to do with them.
8116
8117 2007-10-03  Dan Williams  <dcbw@redhat.com>
8118
8119         * src/nm-device-802-11-wireless.c
8120           src/nm-device-802-11-wireless.h
8121           introspection/nm-device-802-11-wireless.xml
8122                 - GetActiveNetworks -> GetAccessPoints
8123                 - ActiveNetwork -> ActiveAccessPoint
8124                 - NetworkAdded -> AccessPointAdded
8125                 - NetowrkRemoved -> AccessPointRemoved
8126
8127         * libnm-glib/nm-device-802-11-wireless.c
8128           libnm-glib/nm-device-802-11-wireless.h
8129                 - network-added signal -> access-point-added
8130                 - network-removed signal -> access-point-removed
8131                 - nm_device_802_11_wireless_get_active_network() ->
8132                         nm_device_802_11_wireless_get_active_access_point()
8133                 - nm_device_802_11_wireless_get_network_by_path() ->
8134                         nm_device_802_11_wireless_get_access_point_by_path()
8135                 - nm_device_802_11_wireless_get_networks() ->
8136                         nm_device_802_11_wireless_get_access_points()
8137
8138         * libnm-glib/libnm-glib-test.c
8139           test/nm-tool.c
8140           src/NetworkManagerPolicy.c
8141                 - Fixups for Network -> AccessPoint
8142
8143 2007-10-03  Dan Williams  <dcbw@redhat.com>
8144
8145         Add a GetActiveConnections() method on the Manager object.
8146
8147         * src/nm-manager.c
8148           src/nm-manager.h
8149           introspection/nm-manager.xml
8150                 - (connection_get_settings_cb): keep connection type around too
8151                 - (impl_manager_get_active_connections, add_one_connection_element):
8152                         implement; returns all active connections and what devices they
8153                         apply to
8154
8155         * libnm-glib/nm-client.c
8156           libnm-glib/nm-client.h
8157           introspection/nm-manager-client.xml
8158                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8159                         by the caller; free here to avoid memory leak
8160                 - (nm_client_get_active_connections): implement; return the list of
8161                         active connections
8162                 - (nm_client_free_active_connection_element): implement; free an element
8163                         of the GSList returned by nm_client_get_active_connections()
8164
8165 2007-10-03  Dan Williams  <dcbw@redhat.com>
8166
8167         * src/nm-device-802-11-wireless.c
8168                 - (nm_device_802_11_wireless_update_bssid): remove
8169                 - (get_active_ap): new function; find the AP in the scan list which
8170                         matches the current BSSID and SSID of the wireless device
8171                 - (nm_device_802_11_periodic_update): get current AP using
8172                         get_active_ap() and print AP roam messages
8173
8174 2007-10-01  Dan Williams  <dcbw@redhat.com>
8175
8176         * libnm-util/nm-setting.h
8177                 - Add a 'timestamp' option to NMSettingConnection
8178                 - Add a UINT64 type
8179
8180         * libnm-util/nm-setting.c
8181                 - (uint64_to_gvalue): new function
8182                 - (nm_setting_populate_from_hash, nm_setting_hash,
8183                    default_setting_clear_secrets): handle UINT64 type
8184                 - con_table: add 'timestamp' member
8185
8186 2007-10-01  Dan Williams  <dcbw@redhat.com>
8187
8188         * src/nm-manager.c
8189                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8190                         value when the connection can be activated immediately
8191
8192 2007-10-01  Dan Williams  <dcbw@redhat.com>
8193
8194         * libnm-glib/nm-device.c
8195                 - (nm_device_class_init): actually tell glib about the carrier-changed
8196                         signal
8197
8198 2007-10-01  Dan Williams  <dcbw@redhat.com>
8199
8200         * configure.in
8201           src/marshallers/Makefile.am
8202           src/marshallers/nm-marshal.list
8203           src/marshallers/nm-marshal-main.c
8204                 - Consolidate glib marshallers into one place
8205
8206         * src/dhcp-manager/Makefile.am
8207           src/dhcp-manager/nm-dhcp-manager.c
8208           src/supplicant-manager/Makefile.am
8209           src/supplicant-manager/nm-supplicant-manager.c
8210           src/supplicant-manager/nm-supplicant-interface.c
8211           src/ppp-manager/Makefile.am
8212           src/ppp-manager/nm-ppp-manager.c
8213           src/vpn-manager/Makefile.am
8214           src/vpn-manager/nm-vpn-connection.c
8215           src/Makefile.am
8216                 - Use consolidated marshallers
8217
8218         * src/dhcp-manager/nm-dhcp-marshal.list
8219           src/dhcp-manager/nm-dhcp-marshal-main.c
8220           src/supplicant-manager/nm-supplicant-marshal-main.c
8221           src/supplicant-manager/nm-supplicant-marshal.list
8222           src/nm-marshal-main.c
8223           src/nm-marshal.list
8224           src/ppp-manager/nm-ppp-marshal-main.c
8225           src/ppp-manager/nm-ppp-marshal.list
8226           src/vpn-manager/nm-vpn-marshal-main.c
8227           src/vpn-manager/nm-vpn-marshal.list
8228                 - Remove
8229
8230 2007-10-01  Dan Williams  <dcbw@redhat.com>
8231
8232         * include/NetworkManagerVPN.h
8233                 - define VPN connection state change reason codes
8234
8235         * src/vpn-manager/Makefile.am
8236           src/vpn-manager/nm-vpn-marshal.list
8237           src/vpn-manager/nm-vpn-marshal-main.c
8238                 - Add marshallers for StateChanged signal
8239
8240         * introspection/nm-vpn-connection.xml
8241                 - New Banner property
8242                 - StateChanged signal now includes a 'reason' argument
8243
8244         * src/vpn-manager/nm-vpn-connection.c
8245           src/vpn-manager/nm-vpn-connection.h
8246                 - Add a "Banner" property that contains the returned VPN server login
8247                         banner (if any); valid only in the ACTIVATED state
8248                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8249                         a 'reason' argument and emits that reason along with the
8250                         state-changed signal
8251                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8252                 - (nm_vpn_connection_ip4_config_get): save banner for later
8253                 - (nm_vpn_connection_get_banner, get_property,
8254                    nm_vpn_connection_class_init): implement Banner property
8255
8256         * src/vpn-manager/nm-vpn-service.c
8257                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8258                         connection list because elements may get added/removed from it
8259                         while iterating over the list
8260                 - (connection_state_changed): signal now includes the 'reason' argument
8261
8262         * libnm-glib/nm-vpn-connection.c
8263           libnm-glib/nm-vpn-connection.h
8264                 - (nm_vpn_connection_get_banner): new function
8265                 - (state_changed_proxy): handle reason argument
8266
8267 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8268
8269         * src/nm-manager.c:
8270         * src/nm-manager.h:
8271         Implement device activation through NMManager.
8272         Implement "pending device activation" here - If the connection isn't found,
8273         we try to wait for up to 5 seconds for the connection to be provided.
8274         Add NMConnectionType argument to "connection-added" and "connection-removed"
8275         signals.
8276         (nm_manager_get): Remove. Finally.
8277
8278         * src/nm-activation-request.c: 
8279         * src/nm-activation-request.h: 
8280         Remove all the deferred activation code.
8281
8282         * src/nm-device.c: Remove all the deferred activation code. Once the device
8283         activation is started, it's started. Update the activation virtual function
8284         signature.
8285
8286         * src/nm-device-interface.c:
8287         * src/nm-device-interface.h:
8288         Device activation now takes only NMActRequest argument.
8289         Don't expose device activation directly on dbus, it's supposed to go through
8290         NMManager now.
8291
8292         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8293         a bit more compact.
8294         Use the new device activation methods through NMManager.
8295
8296         * introspection/nm-manager-client.xml: 
8297         * introspection/nm-manager.xml: 
8298         * libnm-glib/nm-client.c:
8299         * libnm-glib/nm-client.h:
8300         Add device activation method.
8301         
8302         * libnm-glib/nm-device.c: 
8303         * libnm-glib/nm-device.h: 
8304         * introspection/nm-device.xml: 
8305         Remove device activation method. It's done through NMManager now.
8306
8307         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8308         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8309
8310 2007-09-28  Dan Williams  <dcbw@redhat.com>
8311
8312         * libnm-glib/nm-vpn-connection.c
8313                 - (nm_vpn_connection_get_state): try to update state if the current
8314                         state is UNKNOWN
8315
8316 2007-09-27  Dan Williams  <dcbw@redhat.com>
8317
8318         Patch from Bill Nottingham
8319
8320         * src/supplicant-manager/nm-supplicant-config.c
8321                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8322                         data to the supplicant
8323
8324 2007-09-27  Dan Williams  <dcbw@redhat.com>
8325
8326         * src/NetworkManagerSystem.c
8327                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8328                         and all address manipulation here should be happening on the
8329                         _VPN_ device, not the active device
8330
8331 2007-09-26  Dan Williams  <dcbw@redhat.com>
8332
8333         * src/nm-manager.c
8334           src/nm-manager.h
8335           src/nm-activation-request.c
8336           src/nm-activation-request.h
8337                 - Move the GetSecrets stuff out of the NMManager instance because it
8338                         doesn't really need to be there and complicates things
8339
8340         * src/nm-device.c
8341                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8342                         connection-secrets-failed signal and deactivate the device if
8343                         the GetSecrets call fails
8344
8345         * src/nm-device-802-11-wireless.c
8346                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8347                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8348                         secrets and give correct hints about whether new secrets should be
8349                         asked for by the client or not
8350
8351 2007-09-26  Dan Williams  <dcbw@redhat.com>
8352
8353         * src/vpn-manager/nm-vpn-connection.c
8354                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8355                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8356                         to the secrets-updated signal of the NMConnection since updating
8357                         the secrets is done within the scope of the NMVPNConnection object
8358                         already
8359                 - (get_connection_secrets): fix an uninialized variable usage error
8360
8361 2007-09-26  Dan Williams  <dcbw@redhat.com>
8362
8363         * libnm-util/nm-setting.c
8364                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8365                         actually get updated when the user enters them
8366
8367 2007-09-26  Dan Williams  <dcbw@redhat.com>
8368
8369         * libnm-glib/nm-vpn-plugin.c
8370                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8371
8372 2007-09-26  Dan Williams  <dcbw@redhat.com>
8373
8374         * include/NetworkManagerVPN.h
8375                 - Add a NEED_AUTH state
8376
8377         * src/vpn-manager/nm-vpn-connection.c
8378                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8379                         the connection needs secrets, and if so, then ask the settings
8380                         service to fill in the secrets.  Then start the connection.
8381
8382 2007-09-26  Dan Williams  <dcbw@redhat.com>
8383
8384         * src/vpn-manager/nm-vpn-manager.c
8385                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8386
8387 2007-09-26  Dan Williams  <dcbw@redhat.com>
8388
8389         * introspection/nm-vpn-plugin.xml
8390           libnm-glib/nm-vpn-plugin.c
8391           libnm-glib/nm-vpn-plugin.h
8392                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8393                         the name of the NMSetting in an NMConnection that may require
8394                         secrets specific to that VPN plugin
8395
8396 2007-09-26  Dan Williams  <dcbw@redhat.com>
8397
8398         * src/nm-manager.c
8399           src/nm-manager.h
8400                 - (nm_manager_get_connection_secrets): make static, unused outside
8401                         the file
8402                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8403
8404 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8405
8406         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8407         method.
8408         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8409         unreference the connection.
8410
8411         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8412         passing properties hash and routes string list, pass NMConnection (in hashed form).
8413
8414         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8415         as GSList, no need to copy stuff around anymore.
8416         (nm_vpn_connection_activate): Update the plugin activation method.
8417
8418         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8419         routes argument to GSList.
8420
8421 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8422
8423         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8424         state and try to get the secrets.
8425
8426         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8427         connections from NMManager and let the device to choose the best from the list.
8428         Since the connection list is sorted by system ones first and user ones later,
8429         the devices still prefer system connections like they did before.
8430         (deactivate_old_device): Implement. When a device starts activation, we have a
8431         policy (for now at least) to deactivate any other device that might be either
8432         active or still activating.
8433
8434         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8435         It's set on construction, there will be no other way to access it.
8436
8437         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8438         device events and drive the device, not the other way around.
8439
8440         * src/nm-device-802-3-ethernet.c: Ditto.
8441
8442         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8443         sent along, pass it on to virtual functions.
8444
8445         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8446         for now, but should really be public instead of nm_device_get_iface() since iface
8447         is a property of the DeviceInterface, not Device.
8448         (impl_device_activate): Don't touch NMManager!
8449
8450 2007-09-26  Jürg Billeter  <j@bitron.ch>
8451
8452         * initscript/paldo/NetworkManager.in:
8453         * initscript/paldo/NetworkManagerDispatcher.in:
8454         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8455         (nm_system_flush_loopback_routes): update paldo backend
8456
8457 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8458
8459         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8460         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8461         which means none of the devices get brought down properly, which in turn leaves
8462         DHCP client running.
8463
8464         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8465         (supplicant_connection_timeout_cb): Ditto.
8466
8467 2007-09-25  Dan Williams  <dcbw@redhat.com>
8468
8469         * src/nm-device.c
8470                 - (device_activation_go): small hack to work around race when
8471                         activating deferred connections; should solve this in a better way
8472
8473 2007-09-25  Dan Williams  <dcbw@redhat.com>
8474
8475         * introspection/nm-device.xml
8476           libnm-glib/nm-device.c
8477           libnm-glib/nm-device.h
8478                 - Add 'Carrier' property to exported NMDevice objects
8479
8480         * src/nm-device-interface.h
8481           src/nm-device-interface.c
8482           src/nm-device.c
8483                 - Add a 'carrier' property to internal NMDevice objects
8484
8485 2007-09-25  Dan Williams  <dcbw@redhat.com>
8486
8487         * src/nm-device-802-11-wireless.c
8488                 - (ap_auth_enforced): also return the encryption status of the AP so
8489                         that callers can differentiate easily between unencrypted APs
8490                         and encrypted ones, in addition to whether the AP has an
8491                         authenticator
8492                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8493                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8494                         previously would request secrets from unencrypted APs at times
8495
8496 2007-09-25  Dan Williams  <dcbw@redhat.com>
8497
8498         * src/nm-manager.c
8499                 - (nm_manager_update_state): new function; updates state and emits
8500                         appropriate signals ensuring a state-change signal for the same state
8501                         never gets emitted twice in a row.
8502                 - (manager_device_state_changed): handle more device state to get a
8503                         better picture of the overall NM state
8504
8505 2007-09-25  Dan Williams  <dcbw@redhat.com>
8506
8507         * libnm-glib/nm-settings.c
8508           libnm-glib/nm-settings.h
8509                 - (new_error -> nm_settings_new_error): make public so that subclasses
8510                         can use the same error domain.  Also pass a valid error code to
8511                         g_error_new_literal() so that libdbus doesn't assert when converting
8512                         the GError into a DBusError
8513                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8514                    impl_connection_settings_get_settings,
8515                    impl_connection_settings_get_secrets): use new error creator
8516                         function
8517
8518 2007-09-25  Dan Williams  <dcbw@redhat.com>
8519
8520         * src/NetworkManager.c
8521                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8522
8523 2007-09-25  Dan Williams  <dcbw@redhat.com>
8524
8525         * src/supplicant-manager/nm-supplicant-manager.c
8526                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8527                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8528                    nm_supplicant_manager_startup): when the supplicant isn't running,
8529                         try to start it periodically via system bus activation.  Fixes
8530                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8531                         for the supplicant to come back
8532
8533 2007-09-25  Dan Williams  <dcbw@redhat.com>
8534
8535         Ensure that old activation requests are forgotten about; previously
8536         hitting Cancel in the password dialog would deactivate whatever device
8537         that password was requested for, even if that wasn't the currently
8538         activating connection.
8539
8540         * src/nm-manager.c
8541           src/nm-manager.h
8542                 - (nm_manager_get_connection_secrets): track the pending call
8543                         object so it can be canceled later if needed
8544                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8545                         GetSecrets call for a particular connection
8546
8547         * src/nm-activation-request.c
8548                 - (dispose): cancel any outstanding GetSecrets calls on the
8549                         connection
8550
8551 2007-09-25  Dan Williams  <dcbw@redhat.com>
8552
8553         * src/NetworkManagerPolicy.c
8554                 - (nm_policy_device_change_check): handle devices that have a
8555                         deferred activation.  These devices are not really active _yet_,
8556                         but need to be treated as such here.  Don't interrupt them
8557                         automatically.
8558
8559         * src/nm-device-interface.c
8560                 - (impl_device_activate): handle devices that have a deferred activation
8561                         like activating or active devices.  When multiple active devices
8562                         get committed, the device shouldn't be deactivated until the
8563                         connection details are available to avoid DoS and such.  Currently,
8564                         any active, activating, or deferred activation device is deactivated
8565                         here before starting the new activation request.
8566
8567 2007-09-25  Dan Williams  <dcbw@redhat.com>
8568
8569         Properly re-query secrets from the settings daemon when stuff fails.
8570
8571         * src/nm-device-802-11-wireless.c
8572                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8573                         between Shared Key and Open System auth modes
8574                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8575                    real_act_stage4_ip_config_timeout): clear existing secrets and
8576                         request new ones when something fails due to a suspected wrong key
8577                 - (real_act_stage2_config): fix for new request_new argument to
8578                         nm_manager_get_connection_secrets()
8579
8580         * src/nm-manager.c
8581           src/nm-manager.h
8582                 - (nm_manager_get_connection_secrets): return error status; pass
8583                         new request_new argument on to the settings daemon
8584
8585         * introspection/nm-settings-connection.xml
8586                 - New 'request_new' argument to the GetSecrets call that hints to the
8587                         settings daemon to ask the user for completely new secrets
8588
8589         * libnm-glib/nm-settings.c
8590           libnm-glib/nm-settings.h
8591                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8592                         argument
8593
8594 2007-09-25  Dan Williams  <dcbw@redhat.com>
8595
8596         * libnm-util/nm-connection.c
8597           libnm-util/nm-connection.h
8598                 - (nm_connection_clear_secrets): new function; clear secrets out of
8599                         each NMSetting in an NMConnection
8600
8601         * libnm-util/nm-setting.h
8602           libnm-util/nm-setting.c
8603                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8604                         secrets out of an NMSetting
8605                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8606                    nm_setting_wired_new, nm_setting_wireless_new,
8607                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8608                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8609                         to default handler default_setting_clear_secrets()
8610
8611 2007-09-25  Dan Williams  <dcbw@redhat.com>
8612
8613         * src/nm-activation-request.c
8614           src/nm-activation-request.h
8615                 - (nm_act_request_is_deferred): new function
8616
8617 2007-09-24  Dan Williams  <dcbw@redhat.com>
8618
8619         * src/nm-device-802-11-wireless.c
8620                 - (activation_success_handler): update signal strength immediately
8621                         after activation
8622
8623 2007-09-24  Dan Williams  <dcbw@redhat.com>
8624
8625         * libnm-util/nm-setting.c
8626                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8627
8628 2007-09-24  Dan Williams  <dcbw@redhat.com>
8629
8630         * src/NetworkManagerPolicy.c
8631                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8632                         device by deactivating it because it doesn't have a "best connection".
8633                         Since autoconnect=False connections aren't automatically chosen,
8634                         NM would interrupt activation of such a connection because it
8635                         would never be "best" due to autoconnect=False.
8636
8637 2007-09-24  Dan Williams  <dcbw@redhat.com>
8638
8639         * src/nm-manager.c
8640                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8641                         actually has some time to enter a key before the GetSecrets call
8642                         times out
8643
8644 2007-09-24  Dan Williams  <dcbw@redhat.com>
8645
8646         * introspection/nm-manager.xml
8647           src/nm-manager.c
8648                 - (impl_manager_legacy_state): fix 'state' method call return value
8649
8650 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8651
8652         * test/Makefile.am: Install nm-tool
8653
8654 2007-09-24  Dan Williams  <dcbw@redhat.com>
8655
8656         Patch from Ross Burton <ross@burtonini.com>
8657
8658         * test/nm-tool.c
8659           callouts/nm-dhcp-client-action.c
8660           src/nm-netlink.c
8661           src/vpn-manager/nm-vpn-connection.c
8662           libnm-glib/libnm-glib-test.c
8663                 - warning fixes
8664
8665 2007-09-24  Dan Williams  <dcbw@redhat.com>
8666
8667         * libnm-util/nm-utils.h
8668           libnm-util/nm-utils.c
8669                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8670                         remove, unused
8671
8672 2007-09-23  Dan Williams  <dcbw@redhat.com>
8673
8674         * vpn-daemons/vpnc/properties/nm-vpnc.c
8675                 - Update for new VPN properties API bits; instead of passing around
8676                         a lot of random things, everything goes into the NMConnection
8677                         object.
8678
8679 2007-09-23  Dan Williams  <dcbw@redhat.com>
8680
8681         * libnm-util/nm-setting.c
8682                 - Correctly dispose of settings objects if creating them from a hash
8683                         table fails
8684
8685 2007-09-23  Dan Williams  <dcbw@redhat.com>
8686
8687         * libnm-util/nm-setting.c
8688                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8689                         the hash table in a standard manner.  Clients of libnm-util should
8690                         only call g_hash_table_remove_all(), never destroy the hash table
8691                         and recreate it.
8692
8693 2007-09-22  Dan Williams  <dcbw@redhat.com>
8694
8695         * src/nm-device-802-11-wireless.c
8696                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8697                         real reason to do it so often, and reduces wakeups for clients.
8698
8699 2007-09-21  Dan Williams  <dcbw@redhat.com>
8700
8701         * src/nm-device-802-11-wireless.c
8702                 - (build_supplicant_config): wpa_supplicant requires the option
8703                         key_mgmt=NONE for unencrypted networks
8704                 - (real_act_stage2_config): clarify log message on activation
8705
8706 2007-09-21  Dan Williams  <dcbw@redhat.com>
8707
8708         * test/nm-supplicant-test.c
8709           test/Makefile.am
8710                 - Remove supplicant test binary; no longer applicable
8711
8712 2007-09-21  Dan Williams  <dcbw@redhat.com>
8713
8714         * src/supplicant-manager/nm-supplicant-manager.c
8715                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8716                         activate it on the system bus
8717
8718 2007-09-20  Dan Williams  <dcbw@redhat.com>
8719
8720         * initscript/RedHat/NetworkManager.in
8721                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8722
8723 2007-09-20  Dan Williams  <dcbw@redhat.com>
8724
8725         * src/nm-device.c
8726                 - (nm_device_is_activating): work around a race between auto-activation
8727                         and the user activating the same device that is being auto-activated
8728
8729 2007-09-20  Dan Williams  <dcbw@redhat.com>
8730
8731         * src/nm-device-interface.c
8732                 - (impl_device_activate): until multiple active device support lands,
8733                         ensure only one device can be active at a time
8734
8735 2007-09-20  Dan Williams  <dcbw@redhat.com>
8736
8737         * src/supplicant-manager/nm-supplicant-config.c
8738           src/supplicant-manager/nm-supplicant-config.h
8739                 - (nm_supplicant_config_add_option): hide secrets from system logs
8740
8741 2007-09-20  Dan Williams  <dcbw@redhat.com>
8742
8743         * src/NetworkManagerPolicy.c
8744                 - (nm_policy_device_change_check): re-enable the wireless device change
8745                         checking code; insted of checking for SSIDs, check for the same
8746                         connection instead
8747
8748 2007-09-20  Dan Williams  <dcbw@redhat.com>
8749
8750         * src/nm-device-802-11-wireless.c
8751                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8752                         composite link state when determining when to start the disconnection
8753                         timer; that link state is already based on the supplicant interface's
8754                         status which is exactly what's already being examined, plus the link
8755                         state is a conglomeration of various things that we don't want here
8756
8757 2007-09-20  Dan Williams  <dcbw@redhat.com>
8758
8759         * libnm-glib/nm-access-point.c
8760                 - (handle_property_changed): strength is a UCHAR
8761
8762 2007-09-20  Dan Williams  <dcbw@redhat.com>
8763
8764         * src/supplicant-manager/nm-supplicant-config.c
8765                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8766                         string list keywords too since that's what wpa_supplicant wants
8767
8768 2007-09-20  Dan Williams  <dcbw@redhat.com>
8769
8770         * libnm-util/nm-setting.c
8771                 - (convert_strv_to_slist): dupe the values in the list because since
8772                         the list is a boxed value, it'll get destroyed when it's container
8773                         (like a hash table or whatever) gets destroyed
8774
8775 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8776
8777         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8778         GSList.
8779
8780         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8781
8782         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8783         just use (g_object_set_data_full).
8784
8785         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8786         that NMSettingVPN->routes is a GSList, convert it to char **.
8787         (nm_vpn_connection_ip4_config_get): Free routes when done.
8788         (nm_vpn_connection_activate): Ditto.
8789
8790         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8791         (real_act_stage2_config): Use defined setting names.
8792
8793 2007-09-20  Dan Williams  <dcbw@redhat.com>
8794
8795         * src/nm-device-802-11-wireless.c
8796           src/nm-manager.c
8797           src/nm-manager.h
8798                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8799                         so that the device can be deactivated if secrets are wrong
8800
8801 2007-09-20  Dan Williams  <dcbw@redhat.com>
8802
8803         * introspection/nm-settings-connection.xml
8804           libnm-glib/nm-settings.c
8805           libnm-glib/nm-settings.h
8806                 - Make GetSecrets asynchronous on the server side
8807
8808 2007-09-20  Dan Williams  <dcbw@redhat.com>
8809
8810         * src/nm-manager.h
8811           src/nm-device.c
8812                 - (nm_device_activate): actually check if a given connection
8813                         exists before assuming it doesn't
8814
8815 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8816
8817         * libnm-util/nm-connection.c (register_default_creators): Use defined
8818         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8819
8820         * libnm-util/nm-setting.c: Define property name strings, use them.
8821         Implement NMSettingVPN and NMSettingVPNProperties settings.
8822         Implement NM_S_TYPE_GVALUE_HASH.
8823         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8824         (setting_connection_verify): Rename 'devtype' property to 'type'.
8825
8826         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8827         properties.
8828
8829         * src/vpn-manager/nm-vpn-service.c: Ditto.
8830
8831         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8832
8833         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8834         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8835
8836         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8837         names. NMSettingConnection->devtype got renamed to 'type'.
8838
8839         * src/nm-device-802-3-ethernet.c (find_best_connection):
8840         (real_get_best_connection): Ditto.
8841
8842         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8843
8844         * libnm-glib/nm-vpn-manager.[ch]: Update.
8845
8846 2007-09-19  Dan Williams  <dcbw@redhat.com>
8847
8848         * src/NetworkManagerAP.c
8849           src/NetworkManagerAP.h
8850           introspection/nm-access-point.xml
8851                 - Change strength-changed signal into a properties-changed signal
8852                         for all properties, not just strength.  Export that signal over dbus
8853                         so listeners don't have to poll NM for changes.
8854                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8855                         get exported over D-Bus, so break up the logic and let other bits
8856                         decided when to export the AP
8857                 - (nm_ap_new_from_ap): remove, unused
8858
8859         * src/nm-device-802-11-wireless.c
8860                 - (merge_scanned_ap): only export APs that are actually on the device
8861                         list, not every AP created internally
8862
8863         * libnm-glib/nm-access-point.c
8864           libnm-glib/nm-access-point.h
8865                 - Cache properties internally and only hit DBus when needed.  Get
8866                         property updates from NM signals
8867
8868 2007-09-16  Dan Williams  <dcbw@redhat.com>
8869
8870         * libnm-util/nm-connection.c
8871           libnm-util/nm-connection.h
8872                 - (nm_connection_for_each_setting_value): new function; iterate over
8873                         each setting's value and call a user-provided function with details
8874                         about that value
8875
8876         * libnm-util/nm-setting.c
8877           libnm-util/nm-setting.h
8878                 - (nm_setting_enumerate_values): new function; enumerate the values
8879                         of a specific NMSetting subclass for a user-provided function with
8880                         details about that value
8881                 - Change wep_tx_keyidx to a uint32
8882                 - Create settings value tables for each setting defining their type,
8883                         key name, offset into the NMSetting subclass' structure, and whether
8884                         they are required and/or a secret
8885                 - (nm_setting_populate_from_hash): generic function to populate an
8886                         NMSetting from a GHash table, make all settings use it
8887                 - (nm_setting_hash): generic function to derive a GHashTable from
8888                         an NMSetting object, make all settings use it
8889
8890 2007-09-14  Dan Williams  <dcbw@redhat.com>
8891
8892         Remove unused stuff in libnm-util
8893
8894         * configure.in
8895           libnm-util/Makefile.am
8896           libnm-util/cipher-private.h
8897           libnm-util/cipher-wep-ascii.c
8898           libnm-util/cipher-wep-ascii.h
8899           libnm-util/cipher-wep-hex.c
8900           libnm-util/cipher-wep-hex.h
8901           libnm-util/cipher-wep-passphrase.c
8902           libnm-util/cipher-wep-passphrase.h
8903           libnm-util/cipher-wpa-psk-hex.c
8904           libnm-util/cipher-wpa-psk-hex.h
8905           libnm-util/cipher-wpa-psk-passphrase.c
8906           libnm-util/cipher-wpa-psk-passphrase.h
8907           libnm-util/cipher.c
8908           libnm-util/cipher.h
8909           libnm-util/dbus-helpers.c
8910           libnm-util/dbus-helpers.h
8911           libnm-util/gnome-keyring-md5.c
8912           libnm-util/gnome-keyring-md5.h
8913           libnm-util/sha1.c
8914           libnm-util/sha1.h
8915           src/nm-device-802-11-wireless.c
8916           test/libnm-util/Makefile.am
8917           test/libnm-util/test-ciphers.c
8918           test/libnm-util/test-dbus-helpers.c
8919           test/libnm-util/test-inputs.h
8920                 - Removed
8921
8922 2007-09-14  Dan Williams  <dcbw@redhat.com>
8923
8924         * libnm-util/dbus-method-dispatcher.c
8925           libnm-util/dbus-method-dispatcher.h
8926                 - Remove, unused
8927
8928 2007-09-14  Dan Williams  <dcbw@redhat.com>
8929
8930         Implement deferred activation support in the device class.
8931
8932         * src/nm-device-interface.c
8933           src/nm-device-interface.h
8934                 - (nm_device_interface_activate): take more arguments to support
8935                         deferred activation; callers must pass one of (connection) OR
8936                         (service_name, connection_path)
8937                 - (impl_device_activate): connection validation is punted to the device
8938                         to be able to handle deferred activation.  Yes, this means errors
8939                         don't get returned from the Activate() dbus call, and yes, that
8940                         should be fixed somehow later.
8941
8942         * src/nm-device.c
8943           src/nm-device.h
8944                 - (clear_act_request): clear additional deferred activation stuff too
8945                 - (deferred_activation_timeout_cb): new function; clean up when
8946                         deferred activation times out.
8947                 - (deferred_activation_start_cb): new function; when the connection
8948                         finally becomes available, start device activation
8949                 - (nm_device_activate): attach to the right signals of the activation
8950                         request if we need to defer activation until the connection is valid
8951
8952         * src/NetworkManagerPolicy.c
8953                 - (nm_policy_device_change_check): update for additional arguments
8954                         required for nm_device_interface_activate().  Pass NULL for these
8955                         though because this function already knows exactly which
8956                         NMConnection to use
8957
8958 2007-09-14  Dan Williams  <dcbw@redhat.com>
8959
8960         Implement deferred activation handling in the NMActRequest class.  When a
8961         client wants to activate a device but must create the NMConnection details
8962         on the fly, there likely hasn't been enough time yet for NM to receive the
8963         new connection signal and grab all the connection details.  So the
8964         activation is deferred (and bounded by a timer) for a while, and if the
8965         connection appears within the window, it is activated.
8966
8967         * src/nm-activation-request.c
8968           src/nm-activation-request.h
8969                 - (nm_act_request_class_init): two new signals to support deferred
8970                         activation, to allow the listener to handle both timeout and success
8971                 - (nm_act_request_new_deferred): new function, starts the deferred
8972                         activation timeout handler and listens to the NMManager for
8973                         new-connection signals to notice when the connection comes in
8974
8975 2007-09-14  Dan Williams  <dcbw@redhat.com>
8976
8977         * src/nm-manager.h
8978           src/nm-manager.c
8979                 - (nm_manager_get_connection_service_name,
8980                    nm_manager_get_connection_dbus_path): get details about a connection
8981                         known internally by the NMManager
8982                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8983                         because NMConnection is now a GObject subclass
8984                 - Use constant for the gobject data tag used on NMConnection objects for
8985                         storing the associated DBusGProxy
8986
8987 2007-09-14  Dan Williams  <dcbw@redhat.com>
8988
8989         * utils/Makefile.am
8990           utils/nm-utils.c
8991           utils/nm-utils.h
8992           src/supplicant-manager/Makefile.am
8993           src/dhcp-manager/Makefile.am
8994           src/backends/Makefile.am
8995           src/named-manager/Makefile.am
8996           src/ppp-manager/Makefile.am
8997           src/vpn-manager/Makefile.am
8998           test/libnm-util/Makefile.am
8999           test/test-common/Makefile.am
9000                 - Remove utils/; it was unused
9001
9002 2007-09-13  Dan Williams  <dcbw@redhat.com>
9003
9004         * libnm-glib/nm-vpn-manager.h
9005           libnm-glib/nm-vpn-manager.c
9006                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9007
9008 2007-09-13  Dan Williams  <dcbw@redhat.com>
9009
9010         * src/nm-device-802-3-ethernet.c
9011                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9012                         netlink monitor carrier signals on dispose, not bring down.  The
9013                         carrier signals should be handled over the entire lifetime of the
9014                         device anyway, not created/destroyed on up or down.
9015
9016 2007-09-13  Dan Williams  <dcbw@redhat.com>
9017
9018         * libnm-glib/nm-device.c
9019           libnm-glib/nm-device.h
9020                 - (nm_device_activate): take a connection object path rather than an
9021                         NMConnection because NMConnection isn't exported over D-Bus and
9022                         therefore it dbus-glib can't automatically get an object path from it
9023
9024 2007-09-13  Dan Williams  <dcbw@redhat.com>
9025
9026         * libnm-util/nm-setting.c
9027                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9028
9029 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9030
9031         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9032
9033 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9034
9035         * src/vpn-manager/nm-vpn-connection.[ch]: 
9036         * src/vpn-manager/nm-vpn-manager.[ch]:
9037         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9038         dbus-glib, GObjects, signals etc.
9039
9040         * libnm-glib/nm-vpn-manager.[ch]: 
9041         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9042         so much, rewrite these too.
9043
9044         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9045         the new introspection files.
9046
9047         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9048
9049         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9050         the header with the same name from libnm-utils.
9051
9052         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9053
9054         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9055
9056         * introspection/nm-vpn-plugin.xml: Implement.
9057
9058         * introspection/nm-vpn-connection.xml: Implement.
9059
9060         * introspection/nm-vpn-manager.xml: Implement.
9061
9062         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9063         the named manager argument, it can just as easily get it as the caller.
9064         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9065
9066         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9067
9068         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9069
9070         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9071         libnm-utils.
9072
9073         * libnm-util/nm-connection.c: Ditto.
9074
9075         * src/NetworkManagerMain.h: Remove, it's finally empty.
9076
9077         * configure.in: Remove utils/ from build.
9078
9079         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9080         of hard-coded strings.
9081
9082         * utils/: Move it over to libnm-util.
9083
9084         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9085
9086         * dispatcher-daemon/Makefile.am: Ditto.
9087
9088         * src/Makefile.am: Ditto.
9089
9090 2007-09-12  Dan Williams  <dcbw@redhat.com>
9091
9092         Wireless connections can be made with config data from the applet now.
9093         
9094         Yay.
9095
9096         * src/supplicant-manager/nm-supplicant-config.h
9097           src/supplicant-manager/nm-supplicant-config.c
9098                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9099                 - (nm_supplicant_config_add_setting_wireless,
9100                    nm_supplicant_config_add_setting_wireless_security): new functions;
9101                         add key/value pairs from the settings objects to the supplicant
9102                         config
9103
9104         * src/nm-device-802-11-wireless.c
9105                 - (cull_scan_list): fix check to not prune currently associated AP
9106                 - (build_supplicant_config, real_act_stage2_config): call the functions
9107                         of the NMSupplicantConfig that parse settings objects rather than
9108                         doing it manually here
9109
9110 2007-09-12  Dan Williams  <dcbw@redhat.com>
9111
9112         * src/supplicant-manager/nm-supplicant-interface.c
9113           src/supplicant-manager/nm-supplicant-marshal.list
9114                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9115                         "connection-error" signal arguments should be STRING not CHAR
9116
9117 2007-09-12  Dan Williams  <dcbw@redhat.com>
9118
9119         * src/NetworkManagerUtils.c
9120           src/NetworkManagerUtils.h
9121                 - (nm_utils_hexstr2bin): new function
9122
9123 2007-09-11  Dan Williams  <dcbw@redhat.com>
9124
9125         * src/nm-manager.c
9126                 - (connection_get_settings_cb): emit connection-added signal
9127                 - (connection_removed_cb): uncomment bits for system settings service,
9128                         send connection-removed when appropriate
9129                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9130                         the stack by trying to g_object_set_data() on something that's
9131                         not a GObject; handle case where settings service returns
9132                         empty settings hash table
9133
9134 2007-09-11  Dan Williams  <dcbw@redhat.com>
9135
9136         * src/NetworkManagerPolicy.c
9137                 - (connection_added, connection_removed): trigger device change checks
9138                         on connection changes
9139
9140 2007-09-11  Dan Williams  <dcbw@redhat.com>
9141
9142         * src/nm-activation-request.c
9143                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9144
9145 2007-09-11  Dan Williams  <dcbw@redhat.com>
9146
9147         * src/nm-device-802-11-wireless.c
9148                 - (real_connection_secrets_updated): fix erroneous check
9149
9150 2007-09-11  Dan Williams  <dcbw@redhat.com>
9151
9152         * introspection/nm-device.xml
9153           libnm-glib/nm-device.c
9154           libnm-glib/nm-device.c
9155                 - Fix Activate call argument borkage; Activate takes 3 arguments
9156
9157 2007-09-11  Dan Williams  <dcbw@redhat.com>
9158
9159         * libnm-glib/nm-access-point.c
9160           libnm-glib/nm-access-point.c
9161                 - (nm_access_point_get_frequency): now returns guint32 to match
9162                         property change on 2007-09-10
9163
9164 2007-09-11  Dan Williams  <dcbw@redhat.com>
9165
9166         * src/nm-device-802-11-wireless.c
9167                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9168                         somewhere defines 'index' and I missed this one when I fixed the
9169                         shadow declaration errors earlier
9170
9171 2007-09-11  Dan Williams  <dcbw@redhat.com>
9172
9173         * libnm-util/nm-connection.c
9174                 - (nm_connection_update_secrets, need_secrets_check): move
9175                         802-11-wireless-security need_secrets checks to the setting object
9176                         itself, where it belongs
9177
9178         * libnm-util/nm-setting.c
9179           libnm-util/nm-setting.h
9180                 - (nm_setting_need_secrets): new function
9181                 - (setting_wireless_security_verify,
9182                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9183                 - (setting_wireless_security_need_secrets): mostly copy code over
9184                         from nm-connection.c
9185
9186 2007-09-11  Dan Williams  <dcbw@redhat.com>
9187
9188         * libnm-util/nm-setting.c
9189           libnm-util/nm-setting.h
9190                 - (nm_setting_update_secrets): new function; add a virtual function that
9191                         subclasses can implement to update their secrets
9192                 - (setting_wireless_security_update_secrets): implement that function
9193                         for the 802-11-wireless-security subclass
9194
9195         * libnm-util/nm-connection.c
9196           libnm-util/nm-connection.h
9197                 - (nm_connection_update_secrets): update secrets for a Setting and
9198                         emit a signal on success
9199
9200         * src/nm-manager.c
9201           src/nm-manager.h
9202           src/nm-marshal.list
9203                 - (connection_get_settings_cb): enable system settings bits
9204                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9205                         to request secrets from the settings dbus service and to
9206                         push those secrets to the NMConnection itself
9207
9208         * src/nm-activation-request.c
9209           src/nm-activation-request.h
9210                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9211                         currently being activated, and proxy that signal to other listeners.
9212                         Goes through the activation request because the activation request
9213                         is the thing that manages the lifetime of the NMConnection that's
9214                         being activated.
9215
9216         * src/nm-device-802-11-wireless.c
9217                 - (real_connection_secrets_updated): implement the connection secrets
9218                         updated notification and restart activation when secrets are
9219                         received
9220                 - (real_act_stage2_config): request secrets from the settings dbus
9221                         service if secrets are needed
9222
9223         * src/nm-device.c
9224           src/nm-device.h
9225                 - (clear_act_request, nm_device_activation_cancel,
9226                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9227                         where the activation request is cleared
9228                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9229                         updated secrets signal of activation request and add a function
9230                         that subclasses can override to handle it easily
9231
9232 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9233
9234         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9235         removal of NetworkManagerAPList.
9236
9237 2007-09-10  Dan Williams  <dcbw@redhat.com>
9238
9239         * src/NetworkManagerAP.c
9240           src/NetworkManagerAP.h
9241           introspection/nm-access-point.xml
9242                 - Change 'freq' property to a guint32 instead of a double since we
9243                         weren't using the floating point bits anyway
9244
9245 2007-09-10  Dan Williams  <dcbw@redhat.com>
9246
9247         * NetworkManagerAP.c
9248           NetworkManagerAP.h
9249           NetworkManagerPolicy.c
9250           NetworkManagerSystem.c
9251           NetworkManagerUtils.c
9252           NetworkManagerUtils.h
9253           nm-device-802-11-wireless.c
9254           nm-device-802-3-ethernet.c
9255           nm-hal-manager.c
9256           nm-manager.c
9257           vpn-manager/nm-dbus-vpn.c
9258                 - Warning fixes; casts and removal of unused variables
9259
9260 2007-09-10  Dan Williams  <dcbw@redhat.com>
9261
9262         * include/NetworkManager.h
9263                 - Kill NMNetworkType; AP types don't matter any more
9264
9265         * src/NetworkManagerAPList.c
9266           src/NetworkManagerAPList.h
9267           src/Makefile.am
9268                 - Kill; NMAccessPointList has outlived it's usefulness
9269
9270         * src/NetworkManagerAP.c
9271           src/NetworkManagerAP.h
9272                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9273                         functions; check if an NMConnection object is compatible with the
9274                         settings of this AP
9275                 - (freq_to_channel, channel_to_freq): utility functions for
9276                         channel <-> frequency conversion
9277
9278         * src/nm-device.c
9279           src/nm-device.h
9280                 - (nm_device_get_best_connection): pass the specific object around
9281                          (which might be the object path of a specific AP to connect to).
9282                          The get_best_connection() call should populate this on return
9283                          if needed (wireless does).
9284
9285         * src/nm-device-802-3-ethernet.c
9286                 - (real_get_best_connection): handle specific_object argument
9287
9288         * src/NetworkManager.c
9289           src/NetworkManagerMain.h
9290                 - Remove unused includes
9291
9292         * src/nm-device-802-11-wireless.c
9293           src/nm-device-802-11-wireless.h
9294                 - Convert the ap_list into a GSList from an NMAccessPointList
9295                 - No need for caching the 'activation_ap' since this is now determined
9296                         from the specific_object of the activation request, which is
9297                         populated from the get_best_connection() call or from a user request
9298                 - (nm_device_802_11_wireless_update_bssid): fix warning
9299                 - (get_wireless_capabilities): fix error message format arguments
9300                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9301                 - (find_best_connection, real_get_best_connection): implement
9302                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9303                         move here from NetworkManagerAPList
9304                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9305                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9306                         already verified earlier
9307                 - (real_act_stage2_config): use nm_connection_need_secrets()
9308
9309         * src/NetworkManagerPolicy.c
9310                 - (nm_policy_auto_get_best_device): handle specific objects
9311                 - (create_connection): remove; automatic connection creation functionality
9312                         is handled by the Connection objects
9313                 - (nm_policy_device_change_check): handle specific_object
9314
9315         * libnm-util/nm-connection.c
9316                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9317
9318 2007-09-10  Dan Williams  <dcbw@redhat.com>
9319
9320         * src/nm-manager.c
9321                 - (query_connections): fix uninitialized variable problem that caused
9322                         segfault
9323                 - (nm_manager_add_device): take devices down on startup so that we can
9324                         be assured that nm_device_is_up() won't short-circuit the init
9325                         process.  Hack until the is_up check gets split into two pieces
9326                         that aren't behaviorally confusing.
9327
9328 2007-09-09  Dan Williams  <dcbw@redhat.com>
9329
9330         * introspection/nm-device.xml
9331                 - The 'Activate' method now takes 3 arguments, a service name for the
9332                 settings service (user or system), the object path of the connection
9333                 to activate, and the specific object to activate, if any
9334
9335         * src/nm-device-interface.c
9336                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9337                 Add error bits
9338                 - (impl_device_activate): adapt to new Activate arguments; validate
9339                 the service name and get the Connection object from the NMManager
9340                 before starting to activate the device with the specified connection
9341
9342         * src/nm-device-802-3-ethernet.c
9343                 - (real_get_best_connection): find the best connection, or create a
9344                 default one if no existing connections can be used
9345
9346         * src/NetworkManagerPolicy.c
9347                 - (nm_policy_auto_get_best_device): Get the device's best connection
9348                 and only pick the device if it has one
9349                 - (nm_policy_device_change_check): disable wireless bits for now until
9350                 wireless get_best_connection() can be implemented (replacing "best_ap");
9351                 don't create a default connection here as the device subclass will do
9352                 that if needed
9353
9354         * src/nm-manager.h
9355           src/nm-manager.c
9356                 - (nm_manager_get): make NMManager a singleton and expose the getter
9357                 internally
9358                 - Rework internal NMManager connection handling to use the same
9359                 routines for both the system and user settings services.  Most calls
9360                 take a new NMConnectionType argument specifying either system or user
9361                 connections
9362                 - (nm_manager_get_connection_by_object_path): new function; get a
9363                 connection keyed on its object path
9364
9365         * src/NetworkManager.c
9366                 - (main): use nm_manager_get()
9367
9368 2007-09-09  Dan Williams  <dcbw@redhat.com>
9369
9370         * src/nm-device.h
9371           src/nm-device.c
9372                 - (nm_device_get_best_connection): new function; get best connection
9373                         for the device at that time
9374
9375 2007-09-09  Dan Williams  <dcbw@redhat.com>
9376
9377         * src/nm-device-interface.h
9378                 - Add NMDeviceInterfaceError with an UnknownConnection error
9379
9380 2007-09-09  Dan Williams  <dcbw@redhat.com>
9381
9382         Stupid mistake on my part; object path and interface for settings service
9383         and connection objects can be the same, only the service name must be
9384         different for the system and user settings services.
9385
9386         * include/NetworkManager.h
9387           src/nm-manager.c
9388           introspection/nm-settings-connection.xml
9389           introspection/nm-settings.xml
9390           libnm-glib/nm-settings.c
9391                 - (nm_connection_settings_init, query_user_connections,
9392                    new_connection_cb): Unify NetworkManagerSettings and Connection
9393                    interface name and object path
9394
9395 2007-09-06  Dan Williams  <dcbw@redhat.com>
9396
9397         * libnm-glib/nm-object.c
9398                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9399                    nm_object_get_int_property, nm_object_get_uint_property,
9400                    nm_object_get_boolean_property, nm_object_get_byte_property,
9401                    nm_object_get_double_property, nm_object_get_byte_array_property):
9402                         clear GValues after copying their contents, fixes memory leaks
9403                         after every property access because dbus-glib copies the values
9404                         from the DBusMessage into the GValue already.
9405
9406 2007-09-06  Dan Williams  <dcbw@redhat.com>
9407
9408         * introspection/nm-access-point.xml
9409                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9410                         them to be.  There's some magic property name parsing going on in
9411                         dbus-glib that breaks up property names based on studly-caps and
9412                         puts - between words.
9413
9414         * libnm-glib/nm-access-point.c
9415                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9416                         Fix property names
9417
9418 2007-09-06  Dan Williams  <dcbw@redhat.com>
9419
9420         * src/nm-manager.c
9421                 - (nm_manager_user_connections_destroy): clear the user connections hash
9422                         table, don't destroy it
9423                 - (finalize): only destroy the hash table on NMManager finalization
9424
9425 2007-09-02  Dan Williams  <dcbw@redhat.com>
9426
9427         * include/NetworkManager.h
9428           libnm-glib/nm-settings.c
9429                 - defines for the user settings daemon D-Bus bits
9430
9431         * src/NetworkManager.c
9432                 - Remove stuff that referred to the old NetworkManagerInfo service
9433
9434         * src/vpn-manager/nm-dbus-vpn.h
9435                 - Move old NMI defines to the only place they are used still
9436
9437         * libnm-util/nm-connection.c
9438           libnm-util/nm-connection.h
9439           src/nm-activation-request.c
9440                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9441
9442         * src/nm-manager.c
9443           src/nm-manager.h
9444                 - Get connections and their settings from the user settings daemon
9445                         at the appropriate times
9446
9447 2007-09-02  Dan Williams  <dcbw@redhat.com>
9448
9449         * libnm-util/nm-setting.c
9450                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9451                 - (setting_wireless_hash): set the right value on the item
9452
9453 2007-09-02  Dan Williams  <dcbw@redhat.com>
9454
9455         * test/Makefile.am
9456           test/nminfotest.c
9457                 - Remove, no longer useful
9458
9459 2007-08-30  Dan Williams  <dcbw@redhat.com>
9460
9461         * src/Makefile.am
9462           src/NetworkManagerDbus.c
9463           src/NetworkManagerDbus.h
9464           src/vpn-manager/nm-dbus-vpn.c
9465                 - Remove, no longer necessary.  Move last bits to the only place its
9466                 used, in nm-dbus-vpn.c
9467
9468         * src/NetworkManagerAPList.c
9469           src/nm-device.c
9470           src/NetworkManager.c
9471           src/nm-device-802-11-wireless.c
9472           src/vpn-manager/nm-vpn-manager.c
9473           src/vpn-manager/nm-vpn-service.c
9474           src/NetworkManagerPolicy.c
9475           src/nm-manager.c
9476                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9477                 that was message_is_error()
9478
9479 2007-08-30  Dan Williams  <dcbw@redhat.com>
9480
9481         * libnm-util/sha1.c
9482                 - Include config.h to get defines for endiannes (gnome.org #420216)
9483
9484 2007-08-30  Dan Williams  <dcbw@redhat.com>
9485
9486         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9487
9488         * src/ppp-manager/Makefile.am
9489                 - use -fPIC (gnome.org #471825)
9490
9491 2007-08-29  Dan Williams  <dcbw@redhat.com>
9492
9493         * include/NetworkManager.h
9494                 - Keep NMConnection object path in sync
9495
9496         * libnm-glib/nm-settings.c
9497           libnm-glib/nm-settings.h
9498                 - Break D-Bus object registration out of the init function, because
9499                 every object that's exported over D-Bus needs to use the _same_
9500                 DBusConnection.  Otherwise, each object would get a different object
9501                 path tree and wouldn't be callable.
9502
9503 2007-08-29  Dan Williams  <dcbw@redhat.com>
9504
9505         * libnm-util/nm-setting.h
9506           libnm-util/nm-setting.c
9507           libnm-util/nm-connection.c
9508           src/NetworkManagerPolicy.c
9509                 - 'info' settings object should be 'connection' says the spec
9510                 at NetworkManagerConfigurationSpecification
9511
9512 2007-08-29  Dan Williams  <dcbw@redhat.com>
9513
9514         * libnm-glib/nm-settings.c
9515           libnm-glib/nm-settings.h
9516                 - make the dbus path a property of the object, and autogenerate it.
9517                 It can't be composed of the 'id' field becuase that's not available
9518                 yet during the GObject creation in nm_connection_settings_init()
9519
9520 2007-08-29  Dan Williams  <dcbw@redhat.com>
9521
9522         * introspection/nm-settings-connection.xml
9523           introspection/nm-settings.xml
9524                 - Service name -> NetworkManagerUserSettings because two services
9525                 can't share part of the same path.  I'm not really sure how we'll use
9526                 the same code with the system-settings daemon...
9527
9528 2007-08-28  Dan Williams  <dcbw@redhat.com>
9529
9530         * src/nm-device-interface.c
9531           src/nm-device-interface.h
9532                 - Kill one more bit of NMData
9533
9534 2007-08-28  Dan Williams  <dcbw@redhat.com>
9535
9536         * src/NetworkManagerSystem.h
9537           src/nm-device.c
9538           src/nm-device.h
9539           src/nm-hal-manager.c
9540           src/NetworkManager.c
9541           src/nm-device-802-11-wireless.c
9542           src/nm-hal-manager.h
9543           src/nm-device-802-3-ethernet.c
9544           src/vpn-manager/nm-vpn-service.h
9545           src/vpn-manager/nm-vpn-manager.c
9546           src/vpn-manager/nm-vpn-manager.h
9547           src/vpn-manager/nm-vpn-service.c
9548           src/nm-device-802-11-wireless.h
9549           src/NetworkManagerMain.h
9550           src/nm-device-802-3-ethernet.h
9551           src/backends/NetworkManagerGentoo.c
9552           src/backends/NetworkManagerPaldo.c
9553           src/backends/NetworkManagerFrugalware.c
9554           src/backends/NetworkManagerRedHat.c
9555           src/backends/NetworkManagerSlackware.c
9556           src/backends/NetworkManagerGeneric.c
9557           src/backends/NetworkManagerArch.c
9558           src/backends/NetworkManagerSuSE.c
9559           src/backends/NetworkManagerGeneric.h
9560           src/backends/NetworkManagerDebian.c
9561                 - Kill NMData
9562
9563 2007-08-28  Dan Williams  <dcbw@redhat.com>
9564
9565         * src/NetworkManagerMain.h
9566           src/nm-device-802-11-wireless.c
9567           src/NetworkManager.c
9568                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9569                 for now we should set the 'invalid' property on individual APs, and when
9570                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9571                 that ESS
9572
9573 2007-08-28  Dan Williams  <dcbw@redhat.com>
9574
9575         * src/NetworkManagerAP.c
9576           src/NetworkManagerAP.h
9577                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9578                         'autoconnect' property instead
9579
9580         * src/NetworkManager.c
9581           src/NetworkManagerMain.h
9582           src/NetworkManagerPolicy.c
9583           src/NetworkManagerPolicy.h
9584                 - Remove the 'allowed_ap_list', which should be replaced by 
9585                         NMConnection/NMSettings instead, since _those_ are the allowed
9586                         things that NM can connect to
9587
9588         * src/nm-device-802-11-wireless.c
9589                 - Remove both allowed_ap_list usage and 'fallback' checking
9590
9591 2007-08-28  Dan Williams  <dcbw@redhat.com>
9592
9593         * src/nm-device.c
9594           src/named-manager/nm-named-manager.c
9595           src/named-manager/nm-named-manager.h
9596           src/NetworkManager.c
9597           src/vpn-manager/nm-vpn-manager.c
9598           src/NetworkManagerMain.h
9599           src/NetworkManagerSystem.c
9600                 - Remove the named-manager object from NMData structure in preparation
9601                 for NMData's timely death.  Make the NMNamedManager the singleton that
9602                 it really is
9603
9604 2007-08-28  Dan Williams  <dcbw@redhat.com>
9605
9606         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9607         each AP's capabilities, and by NMConnection/NMSettings objects for user
9608         defined connections.
9609
9610         * include/NetworkManager.h
9611                 - Redefine 802.11 security properties.  There are now device capabilities
9612                         and AP flags and AP security flags.  It was way to unclear before.
9613
9614         * src/Makefile.am
9615           src/nm-ap-security-leap.h
9616           src/nm-ap-security-leap.c
9617           src/nm-ap-security-wpa-eap.c
9618           src/nm-ap-security-wpa-eap.h
9619           src/nm-ap-security-private.h
9620           src/nm-ap-security-wpa-psk.c
9621           src/nm-ap-security-wpa-psk.h
9622           src/nm-ap-security-wep.c
9623           src/nm-ap-security-wep.h
9624           src/nm-ap-security.c
9625           src/nm-ap-security.h
9626                 - Removed, to be replaced with NMConnection/NMSettings objects
9627
9628         * src/nm-dbus-nmi.c
9629           src/nm-dbus-nmi.h
9630                 - Removed, to be replaced by code that talks to the new info daemon
9631                         interface and gets NMConnection/NMSettings objects
9632
9633         * src/backends/NetworkManagerSuSE.c
9634                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9635                         info-daemon that does the same thing but talks the new info-daemon
9636                         D-Bus interface
9637
9638         * src/NetworkManagerAP.h
9639           src/NetworkManagerAP.c
9640           src/NetworkManagerAPList.c
9641           libnm-glib/libnm-glib-test.c
9642                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9643                         WPA/RSN
9644
9645         * libnm-glib/nm-access-point.c
9646           libnm-glib/nm-access-point.h
9647           introspection/nm-access-point.xml
9648           test/nm-tool.c
9649                 - Adjust to new flags for AP security
9650
9651         * utils/nm-utils.c
9652           utils/nm-utils.h
9653           src/vpn-manager/nm-dbus-vpn.c
9654                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9655                         stuff which is the only place it's used
9656
9657         * src/nm-device-interface.c
9658           src/nm-device-interface.h
9659           introspection/nm-device.xml
9660           src/nm-activation-request.c
9661           src/nm-activation-request.h
9662           src/nm-device.c
9663                 - Add a new 'specific_object' argument that hints to NM what actual
9664                         AP or other device-specific thing the connection should apply to.
9665                         NMConnection objects can apply to more than one actual device/AP.
9666
9667         * libnm-util/nm-connection.c
9668         * libnm-util/nm-connection.h
9669                 - Add 'have_secrets" call stubs
9670
9671         * libnm-util/cipher.h
9672                 - Move NM_AUTH_TYPE_* defines here for now
9673
9674         * src/nm-device-802-11-wireless.c
9675                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9676                         NMSettings objects
9677
9678         * src/NetworkManagerDbus.c
9679         * src/NetworkManagerPolicy.c
9680                 - Remove usage of update_allowed_networks, should be pushing data in
9681                         a different manner
9682
9683 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9684
9685         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9686         dbus-glib frees it when the call is done.
9687
9688 2007-08-26  Dan Williams  <dcbw@redhat.com>
9689
9690         * introspection/nm-device.xml
9691                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9692
9693 2007-08-26  Dan Williams  <dcbw@redhat.com>
9694
9695         * src/nm-device-802-3-ethernet.c
9696                 - (constructor): move connection of interface-connected/disconnected
9697                         signals here from real_bring_up().  Should be listening to netlink
9698                         for carrier events no matter what the initial state of the device
9699                         is.
9700
9701 2007-08-26  Dan Williams  <dcbw@redhat.com>
9702
9703         * src/nm-netlink-monitor.c
9704                 - (nm_netlink_monitor_class_init): fix marshalling types for
9705                         interface-connected/interface-disconnected
9706                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9707                         check
9708
9709 2007-08-26  Dan Williams  <dcbw@redhat.com>
9710
9711         Convert to using interface indexes as the primary method of identifying
9712         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9713         be renamed at any time.  Device object paths now refer to the device
9714         index rather than the name, and you can map those two manually if you like
9715         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9716         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9717         to use interface indexes rather than names.
9718
9719 2007-08-26  Dan Williams  <dcbw@redhat.com>
9720
9721         * src/nm-netlink-monitor.h
9722                 - Remove one last bit of wireless-event signal
9723
9724 2007-08-26  Dan Williams  <dcbw@redhat.com>
9725
9726         * src/nm-netlink-monitor.c
9727                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9728                         don't need the 'wireless-event' signal anymore since that's all
9729                         handled by wpa_supplicant
9730
9731 2007-08-25  Dan Williams  <dcbw@redhat.com>
9732
9733         It's 2007. Remove support for drivers that don't support wireless scanning.
9734
9735         * test/nm-tool.c
9736           include/NetworkManager.h
9737           src/NetworkManagerUtils.c
9738           src/NetworkManagerPolicy.c
9739           src/nm-device-802-11-wireless.c
9740                 - Remove special handling for non-scanning devices and mark them
9741                         as unsupported/unhandled
9742
9743 2007-08-20  Dan Williams  <dcbw@redhat.com>
9744
9745         * src/nm-device-802-11-wireless.c
9746           src/nm-device-802-3-ethernet.c
9747                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9748                         because when the card is pulled or the module removed, the device
9749                         is already !IFF_UP and then device-specific cleanup (removing
9750                         the supplicant interface, periodic checks, etc) never gets done
9751
9752 2007-08-20  Dan Williams  <dcbw@redhat.com>
9753
9754         * src/nm-manager.c
9755                 - (nm_manager_remove_device): bring device down before disconnecting
9756                         signal handlers, so that the 'state' signal will get broadcast when
9757                         the device enters the DOWN state
9758                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9759                         of states that cause the NMManager to recheck its state
9760
9761 2007-08-20  Dan Williams  <dcbw@redhat.com>
9762
9763         * src/supplicant-manager/nm-supplicant-interface.c
9764                 - (interface_disconnect_done): don't try to dispose of the net proxy
9765                         when it may already have been disposed of
9766
9767 2007-08-20  Dan Williams  <dcbw@redhat.com>
9768
9769         * src/nm-device-802-11-wireless.c
9770                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9771                         the SSID isn't available; this can happen when the card is pulled
9772                         or the module unloaded, during the post-removal deactivation
9773                         paths, when the ioctl returns ENODEV
9774
9775 2007-08-20  Dan Williams  <dcbw@redhat.com>
9776
9777         * src/nm-device-802-11-wireless.c
9778                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9779                         frequency, and mode match.  Applets are now responsible for grouping
9780                         access points
9781
9782 2007-08-20  Dan Williams  <dcbw@redhat.com>
9783
9784         * src/NetworkManagerAP.c
9785         * src/NetworkManagerAP.h
9786                 - (nm_ap_print_self): new function
9787
9788         * src/NetworkManagerAPList.c
9789                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9790                         to do it all here
9791         
9792 2007-08-17  Dan Williams  <dcbw@redhat.com>
9793
9794         * src/nm-device-802-3-ethernet.c
9795                 - (real_bring_down): don't try to dispose of stuff that might not
9796                         exist
9797
9798 2007-08-17  Dan Williams  <dcbw@redhat.com>
9799
9800         * src/NetworkManagerAP.c
9801                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9802                         applet.  This ensures that the case between the seen-bssids and
9803                         the bssids reported by the driver match.
9804
9805 2007-08-17  Dan Williams  <dcbw@redhat.com>
9806
9807         * src/nm-device-802-11-wireless.c
9808                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9809                         we dispose of the interface proxy in NM
9810
9811 2007-08-16  Dan Williams  <dcbw@redhat.com>
9812
9813         * libnm-glib/nm-client.c
9814                 - (nm_client_init): create VPN connections hash table with key free
9815                         function
9816                 - (proxy_vpn_connection_added): VPN connections hash table key should
9817                         be a duplicated value, not the same memory address as the VPN
9818                         connection name.  This is because the VPN connection name could
9819                         potentially be freed and set to something else during the lifetime
9820                         of the NMVPNConnection object.
9821
9822 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9823
9824         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9825         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9826         with the file descriptors. Send a child setup function to change the pppd
9827         progress group.
9828
9829 2007-08-15  Dan Williams  <dcbw@redhat.com>
9830
9831         * src/supplicant-manager/nm-supplicant-interface.c
9832                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9833                         an interface
9834                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9835                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9836                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9837                         the interface internally
9838
9839 2007-08-15  Dan Williams  <dcbw@redhat.com>
9840
9841         * src/nm-device-802-11-wireless.c
9842                 - (real_bring_down): move most of this function into device_cleanup()
9843                         so that it can be called from elsewhere
9844                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9845                         and stuff on dispose.  These would normally get cleaned up when
9846                         the device is marked down and deactivated, but when the device is
9847                         hot-unplugged, it's already down and real_down() never gets run
9848
9849 2007-08-15  Dan Williams  <dcbw@redhat.com>
9850
9851         * src/nm-dbus-nmi.c
9852                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9853                         caused a reference leak on device for which NM requested a key
9854
9855 2007-08-15  Dan Williams  <dcbw@redhat.com>
9856
9857         * libnm-glib/nm-client.c
9858                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9859
9860 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9861
9862         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9863         nothing is using it at the moment, but it'll be all useful and stuff later on.
9864
9865         * libnm-util/nm-setting.h: Define NMSettingPPP.
9866
9867         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9868
9869         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9870
9871         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9872
9873         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9874
9875         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9876
9877 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9878
9879         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9880
9881         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9882         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9883         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9884         name and different arguments and it won't compile anymore. To fix this, we now have
9885         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9886         that is new API + compatibility API and used by the daemon. The other, 
9887         nm-manager-client.xml is only the new API without compatibility bits and is used
9888         by libnm-glib to make it compile.
9889
9890         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9891
9892         * src/nm-manager.c (impl_manager_legacy_sleep)
9893         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9894         interface functions for 0.6 branch.
9895
9896 2007-08-14  Dan Williams  <dcbw@redhat.com>
9897
9898         * src/NetworkManagerAP.c
9899                 - (nm_ap_new_from_properties): fix mistaken check of return value
9900                         from memcmp (should expect 0)
9901
9902 2007-08-14  Dan Williams  <dcbw@redhat.com>
9903
9904         (force-commit to fix wrong comment and partial commit of r2685; this
9905          commit actually applies to r2685)
9906
9907         * src/NetworkManagerUtils.c
9908                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9909                         ignores trailing nulls in the SSID to work around mismatches in
9910                         expectations between WEXT and what the info-daemon passes back.  The
9911                         info-daemon would pass back the correct length, but due to the
9912                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9913                         the device would always have an SSID + 1 depending on what versions
9914                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9915                         visible by just quitting the applet and relaunching, which caused
9916                         NM to reassociated to the same network over again when reloading
9917                         the save networks.
9918
9919         * src/NetworkManagerPolicy.c
9920           src/NetworkManagerUtils.h
9921           src/nm-device-802-11-wireless.c
9922                 - Update for new parameter to nm_utils_same_ssid()
9923
9924 2007-08-14  Dan Williams  <dcbw@redhat.com>
9925
9926         * src/NetworkManagerAP.c
9927                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9928                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9929                         setting the BSSID to all 0s.  That confused the heck out of NM,
9930                         plus it's useless and probably out-of-spec.
9931
9932 2007-08-14  Dan Williams  <dcbw@redhat.com>
9933
9934         * callouts/Makefile.am
9935           src/dhcp-manager/nm-dhcp-manager.c
9936           src/dhcp-manager/nm-dhcp-manager.h
9937           src/dhcp-manager/Makefile.am
9938                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9939
9940 2007-08-14  Dan Williams  <dcbw@redhat.com>
9941
9942         * src/dhcp-manager/nm-dhcp-manager.c
9943                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9944                         it's really needed, get rid of unused xtra_args parameter
9945
9946 2007-08-14  Dan Williams  <dcbw@redhat.com>
9947
9948         * include/NetworkManagerVPN.h
9949           src/vpn-manager/nm-dbus-vpn.c
9950           src/vpn-manager/nm-dbus-vpn.h
9951           src/vpn-manager/nm-vpn-act-request.c
9952           src/vpn-manager/nm-vpn-act-request.h
9953           src/vpn-manager/nm-vpn-service.c
9954           src/vpn-manager/nm-vpn-service.h
9955           libnm-glib/nm-vpn-connection.c
9956           libnm-glib/nm-vpn-connection.h
9957           libnm-glib/nm-client.h
9958                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9959                         NMVPNServiceState to clarify what they apply to
9960                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9961                         NMVPNActStage -> NMVPNConnectionState for the same reason
9962
9963         * libnm-glib/nm-client.c
9964                 - Constant + type renames from above
9965                 - Properly handle NameOwnerChanged/manager_running signals
9966                         for NM service; only emit when state really changes
9967                 - Use hash tables correctly so that the key (which was previously owned
9968                         by the D-Bus message) now has the same lifetime as the value, since
9969                         the key is now taken from the the NMVPNConnection itself.  This
9970                         really fixes the double-VPN names in the applet
9971
9972 2007-08-13  Dan Williams  <dcbw@redhat.com>
9973
9974         Patch from Michael Biebl <biebl@debian.org>
9975
9976         * po/POTFILES.in
9977           po/POTFILES.skip
9978                 - Update for vpn-properties move
9979
9980 2007-08-13  Dan Williams  <dcbw@redhat.com>
9981
9982         * libnm-glib/nm-client.c
9983                 - Convert internal VPN connection tracking from a list to a hash table
9984                         to easily avoid duplicates
9985                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9986                         must be freed by the caller, like nm_client_get_devices()
9987                 - (nm_client_remove_vpn_connection): don't let the removal signal
9988                         leak through for NMVPNConnection objects that aren't actually
9989                         tracked.
9990                 - (manager_running): throw away VPN connection list when NM goes away,
9991                         like with the device list
9992
9993 2007-08-13  Dan Williams  <dcbw@redhat.com>
9994
9995         * src/dhcp-manager/nm-dhcp-manager.c
9996                 - Stop any dhclient instance that might be already running for a
9997                         particular interface before starting an NM spawned dhclient.  Fixes
9998                         dhclient processes left over if NM crashes, stuff like that.
9999
10000 2007-08-13  Dan Williams  <dcbw@redhat.com>
10001
10002         * src/NetworkManagerAP.c
10003                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10004                         when the AP wasn't broadcasting it's SSID
10005
10006 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10007
10008         * include/NetworkManager.h: added DBus path for connection settings.
10009
10010         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10011         nm_connection_settings_signal_updated,
10012         nm_connection_settings_signal_removed): new functions to wrap the
10013         objects' signals.
10014         (nm_connection_settings_init): register GObject with DBus.
10015         (nm_connection_settings_get_dbus_object_path): new function.
10016
10017         * libnm-glib/Makefile.am: added libnmutil to link flags.
10018
10019 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10020
10021         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10022
10023         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10024         libnm_glib directory got merged with libnm-glib/.
10025
10026         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10027
10028         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10029         Rename the library from libnm-glib to libnm_glib to maintain the library API
10030         compatibility with 0.6 branch.
10031
10032         * Makefile.am: Remove gnome/ SUBDIR.
10033
10034         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10035
10036         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10037
10038         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10039
10040         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10041         anymore.
10042         Remove checks for wpa_supplicant binary, it's used over dbus.
10043         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10044
10045         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10046         Link the binaries with libnm_glib.la.
10047
10048 2007-08-12  Dan Williams  <dcbw@redhat.com>
10049
10050         * src/NetworkManagerPolicy.c
10051                 - (nm_policy_device_change_check): fix policy to deactivate old device
10052                         before activating new one, at least until the multiple active
10053                         device support lands
10054
10055 2007-08-12  Dan Williams  <dcbw@redhat.com>
10056
10057         * src/NetworkManagerPolicy.c
10058                 - (nm_policy_new): hook up to connection-added / connection-removed
10059                         signals instead of connections-changed
10060
10061 2007-08-12  Dan Williams  <dcbw@redhat.com>
10062
10063         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10064         Robert Frank <rfrank@redhat.com>
10065
10066         * src/dhcp-manager/nm-dhcp-manager.c
10067           src/dhcp-manager/nm-dhcp-manager.c
10068           src/nm-device.c
10069                 - Spawn and communicate with dhclient directly, through means of a
10070                 custom dhclient callout script.  Process callout D-Bus signals
10071                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10072                 sent via gobject signals rather than being driven by the dhcp manager
10073                 directly.
10074
10075 2007-08-12  Dan Williams  <dcbw@redhat.com>
10076
10077         * callouts/nm-dhcp-client-action.c
10078                 - (build_message): ignore non-DHCP-related environment variables
10079
10080 2007-08-12  Dan Williams  <dcbw@redhat.com>
10081
10082         * Makefile.am
10083           configure.in
10084           callouts/Makefile.am
10085           callouts/nm-dhcp-client-action.c
10086           callouts/nm-dhcp-client.conf
10087                 - Add dhclient-executed callout that takes the place of dhclient-script
10088                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10089                 NM then listens for
10090
10091 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10092
10093         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10094
10095         * libnm-glib/nm-client.h:
10096         * libnm-glib/nm-object.h:
10097         * libnm-glib/nm-vpn-connection.h:
10098         * libnm-glib/nm-settings.h:
10099         * libnm-glib/nm-device.h:
10100         * libnm-glib/nm-ip4-config.h:
10101         * libnm-glib/nm-access-point.h:
10102         * libnm-glib/nm-device-802-3-ethernet.h:
10103         * libnm-util/nm-setting.h: 
10104         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10105
10106         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10107
10108         * libnm-glib/nm-access-point.c: Strength has type char.
10109
10110         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10111         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10112
10113         * introspection/nm-access-point.xml: Strength property is char, not int.
10114
10115         * src/NetworkManagerAP.c (set_property): Set strength from char.
10116         (get_property): Handle hidden APs (with empty SSID).
10117         Get strength value from char.
10118         (nm_ap_class_init): Strength property has char type.
10119
10120 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10121
10122         * introspection/Makefile.am:
10123         * introspection/nm-settings.xml:
10124         * introspection/nm-settings-connection.xml: added Settings interfaces.
10125
10126         * libnm-glib/nm-settings.[ch]:
10127         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10128         containing the DBus implementation.
10129
10130 2007-07-26  Dan Williams  <dcbw@redhat.com>
10131
10132         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10133
10134         * src/NetworkManagerSystem.c
10135                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10136                         same subnet (#437396)
10137
10138 2007-07-26  Dan Williams  <dcbw@redhat.com>
10139
10140         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10141
10142         * gnome/vpn-properties/nm-vpn-properties.c
10143                 - Fix translatable strings (#445865)
10144
10145 2007-07-26  Dan Williams  <dcbw@redhat.com>
10146
10147         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10148
10149         * configure.in
10150                 - Remove useless junk (#412530)
10151
10152 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10153
10154         Patch from Robert Buchholz <rbu@gentoo.org>:
10155
10156         * configure.in:
10157         * Makefile.am:
10158         * introspection/Makefile.am:
10159         Make make distcheck work again.
10160
10161 2007-06-27  Dan Williams  <dcbw@redhat.com>
10162
10163         * Make SSIDs GByteArrays everywhere
10164         * Rename "essid" -> "ssid" everywhere that's appropriate
10165         * Refcount activation_ap member of the 802.11 wireless device class
10166
10167 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10168
10169         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10170
10171 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10172
10173         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10174         that we got a new AP when we just update existing AP properties.
10175
10176 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10177
10178         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10179
10180         * nm-utils.[ch]: Remove.
10181
10182         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10183         objects for easy property access and dbus connection handling.
10184
10185         * libnm-glib/nm-client.c: Derive from NMObject.
10186
10187         * libnm-glib/nm-device.c: Ditto.
10188
10189         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10190
10191         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10192
10193         * libnm-glib/nm-ip4-config.c: Ditto.
10194
10195         * libnm-glib/nm-access-point.c: Ditto.
10196
10197         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10198         comparision. Currently used by the device activation code to determine if the new
10199         activation is the same as the old one.
10200
10201         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10202         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10203         able to ask password for the AP.
10204
10205         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10206         up if the device is already connected, tear down it's connection (if it isn't the
10207         same as new one) and start the activation.
10208
10209         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10210
10211         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10212         the issue where all APs are always listed as encrypted.
10213
10214         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10215         their own registered paths.
10216
10217         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10218         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10219
10220 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10221
10222         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10223         (0 & 0 == 0, doh)
10224
10225         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10226         because the handling code will cause the next state change and signal listeners
10227         get the signals in wrong order.
10228
10229         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10230         correctly in case of pending activation.
10231
10232         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10233         Convert the essid byte array to string correctly, including the terminating NULL.
10234
10235         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10236         mode with correct types.
10237
10238         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10239         constructed info to dbus call instead of the activation request.
10240
10241 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10242
10243         Patch from Christian Persch <chpe@gnome.org>
10244
10245         * libnm-glib/Makefile.am:
10246         * dispatcher-daemon/Makefile.am:
10247         Use the correct variables, the correct paths, and correct ordering. (446315)
10248
10249 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10250
10251         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10252         argument. The activation request is easy to retrieve.
10253
10254         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10255         just to be a convenient location for devices to store random stuff.
10256
10257 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10258
10259         Patch from Alex Smith <alex@alex-smith.me.uk>
10260
10261         * src/backends/NetworkManagerFrugalware.c:
10262         Update the FrugalWare backend to fix a few segfaults. (#392642)
10263
10264 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10265
10266         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10267
10268         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10269         setting.
10270         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10271
10272 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10273
10274         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10275         automagically.
10276         Implement NMSettingIP4Config.
10277         Finish NMSettingWired by adding all known members.
10278         (setting_wired_verify): Implement.
10279         Finish NMSettingWireless by adding all known members.
10280         (setting_wireless_verify): Implement.
10281
10282         * libnm-util/nm-connection.c: Register "ipv4" setting.
10283         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10284         dump function, we can introspect the GHashTable which is used for sending connections
10285         over dbus.
10286
10287         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10288         Take GByteArray for essid, it's really not a string.
10289
10290         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10291         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10292         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10293         means overriding the values we got from DHCP.
10294         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10295         (nm_device_deactivate_quickly): Ditto.
10296
10297         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10298         for debugging.
10299
10300 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10301
10302         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10303         NMConnection.
10304
10305         * libnm-glib/nm-device-802-11-wireless.c:
10306         (nm_device_802_3_ethernet_activate): Remove.
10307
10308         * libnm-glib/nm-device-802-3-ethernet.c
10309         (nm_device_802_3_ethernet_activate): Remove.
10310
10311         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10312
10313         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10314         NMConnection.
10315
10316         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10317         activation has started.
10318         Implement the new activation using NMConnection.
10319
10320         * src/nm-activation-request.c: Store a generic connection object instead
10321         of a wireless-specific AP.
10322
10323         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10324         on device type, create a device specific connection object suitable for
10325         device activation.
10326
10327         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10328         specific check to validate the connection and on success start the
10329         activation.
10330
10331         * src/nm-device-interface.h: Add a activate virtual function to the
10332         interface definition.
10333
10334         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10335         (impl_device_activate): Implement.
10336
10337         * introspection/nm-device.xml: Add a generic device activation interface
10338         that accepts an abstract NMConnection structure that has device-specific
10339         information in it.
10340
10341         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10342         activation interface.
10343
10344         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10345         activation interface.
10346
10347         * libnm-util/nm-connection.c: 
10348         * libnm-util/nm-connection.h: 
10349         * libnm-util/nm-setting.c:
10350         * libnm-util/nm-setting.h: Add.
10351
10352         * libnm-util/Makefile.am: Build the added files.
10353
10354         * src/nm-dbus-manager.c
10355         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10356         DbusConnection argument from 'name-owner-changed' signal. The manager
10357         is already passed as a first argument to the signal and the connection
10358         is easy enough to get from it.
10359
10360         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10361         Update the signature of the function.
10362
10363         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10364         Ditto.
10365
10366         * src/NetworkManager.c: Ditto.
10367
10368         * src/named-manager/nm-named-manager.c
10369         (nm_named_manager_name_owner_changed): Ditto.
10370
10371         * src/supplicant-manager/nm-supplicant-manager.c
10372         (nm_supplicant_manager_name_owner_changed): Ditto.
10373
10374         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10375
10376         * src/dhcp-manager/nm-dhcp-manager.c
10377         (nm_dhcp_manager_name_owner_changed): Ditto.
10378
10379         * src/nm-hal-manager.c: Add a list of device detectors and creators
10380         to make it easier to add new devices. Each device type has it's own
10381         entry in the table so adding new device types is only a matter of
10382         implementing a couple of functions, one for device detection and the
10383         other for device creation.
10384
10385 2007-04-25  Dan Williams  <dcbw@redhat.com>
10386
10387         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10388                 (gnome.org #432401)
10389
10390 2007-03-30  Dan Williams  <dcbw@redhat.com>
10391
10392         * src/NetworkManagerSystem.c
10393                 - (nm_system_device_set_ip4_route): clean up and fix argument
10394                         to nm_dev_sock_open()
10395
10396 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10397
10398         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10399         data to correct types instead of always using string.
10400
10401         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10402         _not_ have NM_802_11_CAP_PROTO_NONE.
10403         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10404         is not set.
10405
10406 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10407
10408         * libnm-glib/Makefile.am: Fix the build issue.
10409
10410 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10411
10412         * libnm-glib/nm-vpn-connection.h: 
10413         * libnm-glib/nm-vpn-connection.c: Implement.
10414
10415         * libnm-glib/nm-client.c: Add VPN support.
10416
10417         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10418         handler for VPN.
10419
10420         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10421         on DBUS again.
10422
10423 2007-03-26  Dan Williams  <dcbw@redhat.com>
10424
10425         * src/NetworkManagerAPList.c
10426         * src/nm-device-802-11-wireless.c
10427         * src/NetworkManagerAP.c:
10428                 - Store last seen as glong instead of GTimeVal.
10429                 - Fix the upper bound of capabilities, it's a bitfield.
10430
10431 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10432
10433         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10434
10435         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10436         "manager-running" signal that notifies the appearance/disappearance of NM.
10437         (nm_client_sleep): Implement.
10438
10439         * libnm-glib/nm-device.c:
10440         * libnm-glib/nm-device-802-11-wireless.c: 
10441         * libnm-glib/nm-device-802-3-ethernet.c: 
10442
10443         Don't inherit from DBusGProxy, add a proxy to private
10444         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10445         for anything but their own dbus interface. DBusGProxy objects support only one
10446         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10447         interface. The nice side effect of this change is that we do not create a new
10448         DBusGProxy object for each property access.
10449
10450 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10451
10452         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10453         with zeroes before passing them to functions - the functions never do that and
10454         reading the values back may produce wrong values.
10455         (real_bring_up): Store the signal handler id ...
10456         (real_bring_down): ... So that it can be removed here.
10457         Disconnect the supplicant interface here as well.
10458         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10459         from the access point instead of old $device/Networks/$essid.
10460
10461         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10462         device state is connected (instead of just having link/carrier).
10463
10464         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10465         already easily accessible through the device.
10466
10467         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10468         store it within the object.
10469         (nm_ap_get_dbus_path): Export it to public as well.
10470
10471         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10472         of the singleton.
10473
10474 2007-03-12  Dan Williams  <dcbw@redhat.com>
10475
10476         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10477         for non-carrier-detect capable devices, and useless for carrier-detect
10478         devices since we get notifications from netlink about carrier status anyway.
10479
10480         * src/nm-device-802-3-ethernet.c
10481                 - remove 'link_source_id' member from private data
10482                 - (probe_link): remove and collapse into real_update_link()
10483                 - (nm_device_802_3_periodic_update): remove
10484                 - (real_is_up): check for sup_iface rather than link_source_id
10485                 - (real_bring_up): return gboolean for success/fail; require that
10486                         sup_iface be valid for device bringup to succeed
10487                 - (real_bring_down): zero out link signal ids
10488
10489         * src/nm-device.c
10490                 - (nm_device_activate_stage2_device_config): fail activation if device
10491                         bringup fails
10492                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10493                         fails
10494                 - (nm_device_bring_up): return success/fail
10495
10496         * src/nm-device.h
10497                 - bring_up now returns success/fail
10498
10499         * src/nm-device-802-11-wireless.c
10500                 - (real_bring_up): return success from bringup
10501
10502 2007-03-07  Dan Williams  <dcbw@redhat.com>
10503
10504         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10505         * src/nm-ap-security-wpa-psk.c
10506                 - (real_write_supplicant_config): work with PSKs that may contain
10507                         zeros in the binary format rather than treating it as a string
10508
10509 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10510
10511         * libnm-glib/nm-device-802-11-wireless.c
10512         (nm_device_802_11_wireless_get_capabilities): Implement.
10513
10514         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10515
10516         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10517
10518         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10519         reply only if it's not NULL. Not sure why this started happening right now.
10520
10521         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10522         code paths for when devices get removed on shutdown or when a device is just
10523         removed.
10524         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10525         gets freed so any signal from a device (disconnected for instance) would invoke
10526         NMState update which would crash.
10527         (nm_manager_remove_device): Bring the device down when it gets removed.
10528
10529         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10530         the unused dev_type.
10531
10532         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10533         reference to the added device, NMManager will own it (if it wants).
10534
10535         * test/nm-tool.c: Rewrite using libnm-glib.
10536
10537         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10538         We get signalled when it changes.
10539
10540         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10541         when it changes.
10542
10543         * libnm-glib/nm-device.c: Cache the device state property.
10544
10545         * libnm-glib/nm-access-point.c: Cache the strength property.
10546
10547         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10548         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10549         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10550         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10551         the device is down, activating, or activated (in case of A/B/G cards).
10552         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10553         it's all done through supplicant now.
10554
10555         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10556         counting issues with pending calls which caused leaks and crashes when
10557         interface was removed (now that the interface actually gets removed).
10558
10559         * src/nm-call-store.c: Make a copy of data before running a foreach
10560         with user callback on it - The most common usage pattern is to cancel
10561         (and thus remove) all pending calls with foreach which would modify
10562         the hash table we're iterating over.
10563
10564         * src/nm-manager.c: When a device is added, make sure it is "up". When
10565         it's removed or disabled due to disabling wireless or networking, bring
10566         it down.
10567
10568         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10569
10570         * src/nm-device-802-11-wireless.c: 
10571         * src/nm-device-802-3-ethernet.c: 
10572         * src/nm-device.c:
10573                 - Remove "init" virtual function, all gobjects have a place for that
10574                   already (constructor).
10575                 - Replace "start" virtual function with "bring_up", devices can be
10576                   brought up and down more than just on startup now.
10577                 - Add "is_up" virtual function.
10578                 - Implement one way to bring a device down instead of previous 4 different
10579                   ways, each of witch did something different.
10580
10581         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10582         all it needs is the device interface.
10583
10584         Get rid of NMData.dev_list (3 members to go).
10585         Get rif of NMData in a lot of places.
10586
10587         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10588
10589 2007-02-23  Dan Williams  <dcbw@redhat.com>
10590
10591         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10592
10593         * src/NetworkManagerAP.c
10594                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10595                         OR-ing rather than AND-ing
10596
10597 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10598
10599         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10600         "network-removed" signals.
10601
10602         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10603
10604         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10605         when receiving the signal from dbus.
10606
10607         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10608         property.
10609
10610         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10611         deactivation of the previously activated device working again.
10612
10613         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10614         and setter.
10615
10616         * src/nm-device.c (nm_device_is_activated): Remove.
10617         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10618
10619         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10620         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10621         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10622         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10623         Remove NMNetworkStatus and NMActStage enums.
10624
10625 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10626
10627         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10628         Handle device state changes and disconnect VPN if it's device deactivates.
10629
10630         * src/nm-dbus-nm.c: 
10631         * src/nm-dbus-nm.h: 
10632         * src/nm-dbus-device.c: 
10633         * src/nm-dbus-device.c: 
10634         * src/nm-dbus-net.c: 
10635         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10636
10637         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10638
10639         * src/nm-device.c (nm_device_get_by_udi):
10640         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10641         implemented in the correct location (NMManager).
10642         Rip out all the test_device stuff.
10643
10644         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10645         failure handlers, it's all done by NMDevice already.
10646
10647         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10648         Remove the iochannel hack to route the unix signals to the main thread since
10649         we're not threaded anymore.
10650
10651         * src/NetworkManagerAP.c: Implement HWAddress property.
10652
10653         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10654         automatically with dbus-glib.
10655
10656         * src/nm-netlink-monitor.c: 
10657         * src/nm-netlink-monitor.h:
10658                 - Move it low in the class hierarchy, don't reference any NM types.
10659                 - Remove private data from the header.
10660                 - Use type safe checks in public API methods.
10661                 - Make it a singleton so we don't have to pass the single reference around.
10662
10663 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10664
10665         * introspection/nm-ip4-config.xml: Implement.
10666
10667         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10668
10669         * libnm-glib/nm-ip4-config.c:
10670         * libnm-glib/nm-ip4-config.c: Implement.
10671
10672         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10673         securities. APs reference security.
10674
10675         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10676         be exported over DBUS.
10677
10678         * src/nm-device-802-3-ethernet.c: Ditto.
10679
10680         * src/NetworkManagerAP.c:
10681         * src/NetworkManagerAP.h:
10682                 - Convert to GObject, export over DBUS.
10683
10684         * src/nm-ip4-config.h:
10685         * src/nm-ip4-config.h:
10686                 - Convert to GObject, export over DBUS.
10687
10688 2007-02-12  Dan Williams  <dcbw@redhat.com>
10689
10690         Patch from Helmut Schaa <hschaa@suse.de>
10691
10692         * vpn-daemons/pptp/configure.in
10693           vpn-daemons/pptp/Makefile.am
10694           vpn-daemons/openvpn/configure.in
10695           vpn-daemons/openvpn/Makefile.am
10696           vpn-daemons/vpnc/configure.in
10697           vpn-daemons/vpnc/Makefile.am
10698                 - Add --without-gnome switch which disables building gnome bits
10699
10700 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10701
10702         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10703
10704         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10705
10706         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10707         'HwAddress'.
10708
10709         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10710
10711         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10712
10713         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10714
10715         * src/:
10716                 - Remove old low-level dbus interface implementations and replace them
10717                   with dbus-glib one.
10718
10719         * configure.in:
10720                 - Require dbus-glib >= 0.72.
10721                 - Plug in new sources to build.
10722
10723         * libnm-glib/:
10724                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10725                   to make it more convenient to use from GObject based programs.
10726
10727         * introspection/:
10728                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10729
10730 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10731
10732         * src/nm-device-802-11-wireless.c:
10733                 - Add "network-added" and "network-removed" signals.
10734                 - Use gobject boilerplate macros to define the GObject.
10735                 - Implement wireless device activation.
10736                 - Remove activation_failure_handler and activation_success_handler
10737                   and instead listen on state-changed signals and run the same code
10738                   from there.
10739
10740         * src/nm-device.c:
10741                 - Implment NMDeviceInterface::deactivate.
10742                 - Remove activation_failure_handler and activation_success_handler
10743                   virtual methods. Each device which is interested in these events
10744                   can just listen on it's state changed signals.
10745
10746         * src/NetworkManagerPolicy.c:
10747                 - Move a bit more NMData usage to NMManager.
10748                 - Remove activation scheduling bits.
10749                 - Add listeners for wireless device's "network-added" and
10750                   "network-removed" signals.
10751                 - Listen device changed signals and deactivate currently activated
10752                   device when another device start activating (for now).
10753                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10754                   for calling this, the policy code knows exactly when this should happen,
10755                   by listening on events from NMManager and NMDevices.
10756
10757         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10758         Implement.
10759
10760         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10761         method on the specific device instead of going to through policy code
10762         and determining the device type by passed in AP's existance.
10763
10764         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10765         abstract NMDevice deactivation.
10766
10767 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10768
10769         * src/NetworkManager.c:
10770                 - Set up all the shiny new managers.
10771
10772         * src/NetworkManagerPolicy.c:
10773                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10774                   classes to call into policy code, make the policy code kind of like
10775                   a supervisor that monitors what's going on and drives the whole NM.
10776
10777         * src/nm-hal-manager.c: 
10778         * src/nm-hal-manager.h:
10779                 - Collect all libhal code scattered around NM to this one class.
10780                 - Listen libhal and NMManager events and add/remove devices to
10781                   NMManager.
10782
10783         * src/nm-manager.c:
10784         * src/nm-manager.h:
10785                 - Implment a replacement for NMData. NMData is now officially
10786                 deprecated.
10787
10788 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10789
10790         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10791         * src/supplicant-manager/nm-supplicant-interface.h
10792         * src/supplicant-manager/nm-supplicant-interface.c
10793         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10794         argument to boolean from enum.
10795
10796         Make NMDevice abstract class, remove almost all references to it's
10797         subclasses (the last place gets removed with new policy manager). Add
10798         NMDeviceInterface (which NMDevice implements) so that when we have
10799         NMDevice exported over DBUS, there's a common NMDevice interface which
10800         all instances have, plus there's a device specific interface for each
10801         specific type.
10802         Remove functions (nm_device_is_802_3_ethernet) and
10803         (nm_device_is_802_11_wireless). There are already standard GObject macros
10804         for type safe checks.
10805         Use the updated supplican manager API.
10806
10807         * src/nm-device-interface.h: 
10808         * src/nm-device-interface.c: 
10809         * src/nm-call-store.h: 
10810         * src/nm-call-store.c: Implement.
10811
10812         * src/supplicant-manager/nm-supplicant-interface.c:
10813         * src/supplicant-manager/nm-supplicant-interface.h:
10814         * src/supplicant-manager/nm-supplicant-manager.c:
10815         * src/supplicant-manager/nm-supplicant-manager.h:
10816                 - Remove all private data type references from public header files.
10817                 - Remove all references to other NM classes, this class is just a
10818                   proxy between wpa_supplicant and NM so it doesn't have to know
10819                   any internals.
10820                 - Convert to dbus-glib bindings.
10821                 - Type safe checks for public methods' arguments.
10822                 - Store pending DBUS call ids to NMCallStore.
10823
10824         * src/supplicant-manager/nm-supplicant-config.c:
10825                 - Store config values in a GHashTable instead of GSList.
10826
10827         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10828
10829         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10830         singleton now.
10831
10832         * src/nm-device.c: Use the new DHCP manager API.
10833
10834         * src/nm-activation-request.c:
10835         * src/nm-activation-request.h:
10836                 - Remove all dhcp related properties and methods.
10837
10838         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10839
10840         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10841
10842         * src/dhcp-manager/nm-dhcp-manager.c:
10843         * src/dhcp-manager/nm-dhcp-manager.h:
10844                 - Convert it to GObject since we need to signal state changes.
10845                 - Remove all references to other NM classes, this class is one
10846                   of the lowest classes in our hierarchy.
10847                 - One less class to use NMActRequest.
10848                 - Make it singleton, one less user of NMData.
10849                 - Remove a couple of sleep() calls.
10850                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10851                   One less class to use the NM's custom tailored signal handlig.
10852
10853         * Makefile.am: Generate marshallers, add them to build.
10854
10855 2007-02-02  Dan Williams  <dcbw@redhat.com>
10856
10857         * configure.in
10858           gnome/Makefile.am
10859           nm-applet.desktop
10860           Makefile.am
10861                 - Remove last bits referencing gnome applet
10862
10863 2007-02-02  Dan Williams  <dcbw@redhat.com>
10864
10865         * src/vpn-manager/nm-vpn-service.c
10866                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10867                         and NBNS server addresses
10868
10869 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10870
10871         * src/nm-dbus-manager.c:
10872         * src/nm-dbus-manager.h:
10873                 - Convert all internal DBUS code to use dbus-glib bindings.
10874                 - Remove GObject properties, we don't need them here.
10875                 - Don't explicitly set things to NULL after freeing, glib is
10876                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10877                 - Make public API argument checks type safe.
10878                 - Remove unnecessary (and wrong) cast to GObject for the first
10879                   argument to g_signal_* calls - The first argument is a gpointer.
10880                 - Export DBusGConnection to other cool classes that (are going to)
10881                   use dbus-glib.
10882
10883 2007-01-26  Dan Williams  <dcbw@redhat.com>
10884
10885         * libnm-util/dbus-dict-helpers.c
10886           libnm-util/dbus-dict-helpers.h
10887                 - Coordinate style with wpa_supplicant version to minimize diff
10888                 - Add uint32 array support
10889                 - (nmu_dbus_dict_append_uint32_array): new function
10890                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10891                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10892                         version; allow adding string array elements individually
10893
10894         * test/libnm-util/test-dbus-dict-helpers.c
10895                 - Test uint32 arrays
10896
10897 2007-01-27  Jürg Billeter  <j@bitron.ch>
10898
10899         * src/backends/NetworkManagerPaldo.c
10900                 - (nm_system_update_dns): clear nscd hosts cache
10901
10902 2007-01-04  Dan Williams  <dcbw@redhat.com>
10903
10904         Threading removal related cleanups:
10905
10906         - Use the glib default main context.  Remove the device main context
10907                 member from NMDevice, and the main_context member from NMData.  Change
10908                 all the idle and timeout scheduler functions to use plain
10909                 g_idle_add() and g_timeout_add().
10910
10911         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10912                 takes an argument; fix that up too.
10913
10914         - Remove all locking, which is useless since we no longer use threads.  For
10915                 example, nm_get_device_by_iface_locked() has been removed.  The global
10916                 device list lock, the AP List lock, and all static locks in
10917                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10918                 in NetworkManagerUtils.c have also been removed.
10919
10920         - Other cleanups in spacing and code style
10921
10922 2007-01-01  Dan Williams  <dcbw@redhat.com>
10923
10924         Found by Bill Moss:
10925
10926         * src/supplicant-manager/nm-supplicant-interface.c
10927                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10928                         the supplicant interface wasn't already disconnected.  Always
10929                         call removeNetwork and disconnect unless the supplicant interface
10930                         is in the DISCONNECTED or INACTIVE state.
10931
10932 2006-12-28  Dan Williams  <dcbw@redhat.com>
10933
10934         Use a single thread for everything.  With the move to wpa_supplicant
10935         and communication over D-Bus, there's no reason for multiple threads.
10936         Almost all of the blocking code has been removed, with one exception in
10937         the DHCP manager and a few in the VPN manager.  This commit removes the
10938         per-device worker thread and fixes activation cancellation in the absence
10939         of threads.  Further removal of thread-related code would be removing
10940         any locking code (like the device list lock) and simplification of logic
10941         around areas of code or data structures that are currently locked.
10942
10943         * autoip.c
10944           dhcp-manager/nm-dhcp-manager.c 
10945           nm-device-802-11-wireless.c
10946           nm-device-802-3-ethernet.c
10947           nm-device.c
10948           nm-device.h
10949                 - Remove usage of multiple threads
10950
10951 2006-12-19  Dan Williams  <dcbw@redhat.com>
10952
10953         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10954         plus a few other patches from wpa_supplicant bugzilla.
10955
10956         * src/Makefile.am
10957           src/NetworkManagerPolicy.c
10958           src/NetworkManagerUtils.c
10959           src/NetworkManagerUtils.h
10960           src/nm-ap-security-leap.c
10961           src/nm-ap-security-wep.c
10962           src/nm-ap-security-wpa-eap.c
10963           src/nm-ap-security-wpa-psk.c
10964           src/nm-ap-security.c
10965           src/nm-ap-security.h
10966           src/nm-device-802-11-wireless.c
10967           src/nm-device-802-11-wireless.h
10968           src/supplicant-manager/nm-supplicant-config.c
10969           src/supplicant-manager/nm-supplicant-config.h
10970           src/supplicant-manager/nm-supplicant-interface.c
10971           src/supplicant-manager/nm-supplicant-interface.h
10972           src/supplicant-manager/nm-supplicant-marshal.list
10973           src/supplicant-manager/nm-supplicant-settings-verify.c
10974           src/supplicant-manager/nm-supplicant-settings-verify.h
10975                 - Move all connection management and association handling to
10976                         wpa_supplicant over dbus, rather than spawning a private copy
10977
10978 2006-12-19  Dan Williams  <dcbw@redhat.com>
10979
10980         * src/NetworkManagerPolicy.c
10981                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10982                         better locking of the device change check handler ID.  Incorrect
10983                         locking was causing lost device change requests
10984
10985 2006-12-18  Dan Williams  <dcbw@redhat.com>
10986
10987         * libnm-util/dbus-dict-helpers.c
10988                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10989                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10990                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10991
10992 2006-12-18  Dan Williams  <dcbw@redhat.com>
10993
10994         * gnome/libnm_glib/libnm_glib.c
10995                 - Change dbus_connection_close() -> dbus_connection_unref()
10996
10997 2006-12-11  Dan Williams  <dcbw@redhat.com>
10998
10999         * src/supplicant-manager/nm-supplicant-interface.c
11000                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11001                         wpa_supplicant interface state
11002                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11003                         state before transitioning to READY state
11004
11005 2006-12-04  Dan Williams  <dcbw@redhat.com>
11006
11007         * src/nm-device-802-11-wireless.c
11008                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11009                         odd length of ESSID returned from ieee80211 stack-based drivers
11010
11011 2006-12-04  Dan Williams  <dcbw@redhat.com>
11012
11013         * src/nm-device-802-11-wireless.c
11014                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11015                         IE handling blocks that cause mis-parsing of the IE
11016
11017 2006-12-04  Dan Williams  <dcbw@redhat.com>
11018
11019         * src/nm-device-802-11-wireless.c
11020                 - (init_supplicant_interface): new function; pull supplicant interface
11021                         setup code out into standalone function since it must be called from
11022                         two different places
11023                 - (real_init): sup_mgr is now in private object data; get and track
11024                         the supplicant manager object over the NMDevice subclass' lifetime
11025                         and register a signal handler for its state signals; only try to
11026                         initialize the supplicant interface if the supplicant manager is in
11027                         the IDLE state (and therefore is ready for requests)
11028                 - (request_wireless_scan): reschedule the scan request if (a) there is
11029                         no supplicant interface yet (meaning wpa_supplicant isn't running
11030                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11031                         for requests yet
11032                 - (supplicant_iface_connection_state_cb): new function; stub for
11033                         handling supplicant interface connection state signals
11034                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11035                         comes and goes
11036                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11037                         supplicant manager object that's being tracked starting with this
11038                         commit
11039
11040 2006-12-04  Dan Williams  <dcbw@redhat.com>
11041
11042         * src/supplicant-manager/nm-supplicant-interface.c
11043                 - (nm_supplicant_interface_set_property): track signal handler ID
11044                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11045
11046 2006-12-04  Dan Williams  <dcbw@redhat.com>
11047
11048         * src/supplicant-manager/nm-supplicant-interface.[ch]
11049                 - (nm_supplicant_interface_get_state): new function
11050
11051 2006-12-04  Dan Williams  <dcbw@redhat.com>
11052
11053         * src/supplicant-manager/nm-supplicant-interface.c
11054                 - (bssid_properties_cb): don't treat DBus errors as valid
11055                         scanned AP messages
11056
11057 2006-12-04  Dan Williams  <dcbw@redhat.com>
11058
11059         * src/supplicant-manager/nm-supplicant-interface.[ch]
11060                 - (nm_supplicant_interface_get_connection_state): new function
11061                 - define new supplicant connection states
11062                 - send a signal when the supplicant connection state changes
11063
11064 2006-12-03  Dan Williams  <dcbw@redhat.com>
11065
11066         * src/supplicant-manager/Makefile.am
11067           src/supplicant-manager/nm-supplicant-connection.h
11068           src/supplicant-manager/nm-supplicant-connection.c
11069           src/supplicant-manager/nm-supplicant-config.h
11070           src/supplicant-manager/nm-supplicant-config.c
11071           src/supplicant-manager/nm-supplicant-types.h
11072           src/supplicant-manager/nm-supplicant-interface.h
11073           src/supplicant-manager/nm-supplicant-interface.c
11074                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11075
11076 2006-12-03  Dan Williams  <dcbw@redhat.com>
11077
11078         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11079
11080         * po/POTFILES.in
11081           po/POTFILES.skip
11082                 - Move VPN-related translatables to .skip
11083
11084         * vpn-daemons/pptp/po/POTFILES.in
11085                 - Update with new translatables
11086
11087 2006-12-02  Dan Williams  <dcbw@redhat.com>
11088
11089         Patch from Christian Persch <chpe@gnome.org>
11090
11091         * gnome/applet/Makefile.am
11092           gnome/applet/applet-dbus-devices.c
11093           gnome/applet/applet-notifications.c
11094           gnome/applet/applet.c
11095           gnome/applet/applet.h
11096           gnome/applet/main.c
11097                 - Be a GtkStatusIcon on GTK+ >= 2.10
11098
11099 2006-12-02  Dan Williams  <dcbw@redhat.com>
11100
11101         * gnome/applet/applet.c
11102                 - (nma_update_info): fix two unecessary allocations
11103
11104 2006-12-02  Dan Williams  <dcbw@redhat.com>
11105
11106         Patch from Michael Biebl <biebl@teco.edu>
11107         * configure.in
11108           man/NetworkManager.1.in
11109           man/NetworkManagerDispatcher.1.in
11110           man/NetworkManager.8.in
11111           man/NetworkManagerDispatcher.8.in
11112                 - Add .SH NAME stanzas
11113                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11114
11115 2006-12-02  Dan Williams  <dcbw@redhat.com>
11116
11117         Patch from Christian Persch <chpe@gnome.org>
11118
11119         * configure.in
11120                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11121
11122 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11123
11124         Patch by Timo Hoenig <thoenig@suse.de>:
11125         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11126         DBUS-1.0.
11127
11128         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11129         we can't use the one from the main source directory.
11130
11131 2006-11-27  Dan Williams  <dcbw@redhat.com>
11132
11133         Patch from Christian Persch <chpe@gnome.org>
11134
11135         * gnome/applet/applet-dbus-devices.c
11136                 - (hal_info_product_cb): fix memleak; free duped string.
11137                         Gnome.org #379908
11138
11139 2006-11-27  Dan Williams  <dcbw@redhat.com>
11140
11141         Patch from Christian Persch <chpe@gnome.org>
11142
11143         * gnome/applet/menu-items.c
11144                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11145                         as gtk_progress_set_percentage is deprecated.  Should
11146                         work as far back as GTK+ 2.4.  Gnome.org #379780
11147
11148 2006-11-26  Dan Williams  <dcbw@redhat.com>
11149
11150         Scan using wpa_supplicant over DBus.
11151
11152         * src/nm-device-802-11-wireless.c
11153                 - remove wireless extensions netlink event handler bits
11154                         (wireless_event_helper, nm_device_802_11_wireless_event)
11155                 - remove wireless extensions scan event handler bits
11156                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11157                         hex2byte, hex2num, request_and_convert_scan_results,
11158                         free_process_scan_cb_data, scan_results_timeout,
11159                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11160                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11161                         and request scans from the supplicant interface rather than directly
11162                 - Move functionality of convert_scan_results() to cull_scan_list() and
11163                         supplicant_iface_scanned_ap_cb()
11164                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11165                         at the scan interval when the current scan has finished
11166                 - (supplicant_iface_state_cb): start scanning when the supplicant
11167                         interface enters the READY state, and stop scanning when it
11168                         enters the DOWN state
11169                 - (cull_scan_list): weed out old access points from the scan list
11170                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11171                         point into an NMAccessPoint and merge it into the device's scan list
11172
11173         * src/supplicant-manager/nm-supplicant-interface.c
11174           src/supplicant-manager/nm-supplicant-interface.h
11175                 - Add a new signal "scan-result" which is issued when the supplicant
11176                         notifies NM that a scan has completed
11177                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11178                         point found in the scan.  Called once for each access point that
11179                         the supplicant interface object receives from the supplicant as a
11180                         result of the "scanResults" method call
11181                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11182                         for the initial scan results
11183                 - (scan_request_cb): new function; send listeners the result
11184                         (success, error) of a wireless scan request
11185                 - (nm_supplicant_interface_request_scan): new function; ask the
11186                         supplicant to perform an immediate wireless scan
11187
11188 2006-11-25  Dan Williams  <dcbw@redhat.com>
11189
11190         * src/supplicant-manager/Makefile.am
11191                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11192                         add HAL cflags/includes and named-manager includes directory
11193
11194         * src/supplicant-manager/nm-supplicant-interface.h
11195                 - New state STARTING to handle transition from INIT to READY where
11196                         the addInterface pending call is still outstanding
11197
11198         * src/supplicant-manager/nm-supplicant-interface.c
11199                 - track pending calls differently since we may have more than one
11200                         going on at any given time
11201                 - request scan results from wpa_supplicant; but don't do it more often
11202                         than every 4 seconds.  Drivers that do background scanning
11203                         (like the 'ipw' drivers) send a continuous stream of scan completion
11204                         notifications, so we don't want to hammer the supplicant or dbus
11205                         with requests for all scan results every time we get a completion
11206                         notification.
11207
11208 2006-11-25  Dan Williams  <dcbw@redhat.com>
11209
11210         * src/supplicant-manager/nm-supplicant-types.h
11211                 - new file; move all supplicant manager object typedefs here for
11212                         #include sanity
11213
11214         * src/supplicant-manager/nm-supplicant-interface.c
11215           src/supplicant-manager/nm-supplicant-interface.h
11216                 - new file; an object that interfaces an NMDevice object to the
11217                         supplicant and handles signals from the supplicant.  This object
11218                         does all necessary DBus communication with wpa_supplicant.
11219
11220         * src/supplicant-manager/nm-supplicant-manager.c
11221           src/supplicant-manager/nm-supplicant-manager.h
11222                 - Actually do something.  Track the state of the wpa_supplicant service
11223                         and deal with its comings & goings.  Handle life events of
11224                         supplicant interfaces too.
11225                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11226
11227         * src/supplicant-manager/nm-supplicant-connection.h
11228                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11229
11230         * src/supplicant-manager/Makefile.am
11231                 - Add new files to build, and add libnm-util to includes
11232
11233         * src/nm-marshal.list
11234                 - New marshaler type: VOID:UINT,UINT
11235
11236         * src/nm-device-802-3-ethernet.c
11237                 - (real_init): grab a supplicant interface
11238                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11239                 - (supplicant_iface_state_cb): new function, stub for handling
11240                         supplicant interface state changes
11241
11242         * src/nm-device-802-11-wireless.c
11243                 - (real_init): grab a supplicant interface
11244                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11245                 - (supplicant_iface_state_cb): new function, stub for handling
11246                         supplicant interface state changes
11247
11248         * src/NetworkManager.c
11249                 - (main): create and keep the supplicant manager around for the lifetime
11250                         of NetworkManager
11251
11252         * src/Makefile.am
11253                 - Link to the supplicant manager sub-library and use the supplicant
11254                         manager includes
11255
11256 2006-11-25  Dan Williams  <dcbw@redhat.com>
11257
11258         Rework DBus manager signal handling to be more flexible.  Previously,
11259         only one signal handler could be registered for a particular interface.
11260         The DBus manager now reference counts DBus bus matches and allows multiple
11261         clients to register signal handlers for the same interface and sender.
11262
11263         * src/NetworkManager.c
11264                 - (main): track NMI signal handler ID and remove it when we quit
11265
11266         * src/NetworkManagerMain.h
11267                 - Keep track of NMI signal handler ID
11268
11269         * src/nm-dbus-manager.c
11270           src/nm-dbus-manager.h
11271                 - rework signal handling; each signal handler references one signal
11272                         match, but a signal match may be referenced by one or more
11273                         signal handlers.  Matches are refcounted and are destroyed when the
11274                         last signal handler that references the match is removed.  This is
11275                         necessary because two signal handlers may end up requiring the same
11276                         dbus bus match, so the match must live until the last signal handler
11277                         is destroyed (for example, with the wpa_supplicant network interface
11278                         dbus interface).
11279
11280         * src/dhcp-manager/nm-dhcp-manager.c
11281                 - (nm_dhcp_manager_new): track DHCP signal handler id
11282                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11283
11284         * src/vpn-manager/nm-vpn-service.c
11285                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11286                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11287
11288 2006-11-25  Dan Williams  <dcbw@redhat.com>
11289
11290         Suggested by Helmut Schaa <hschaa@suse.de>
11291
11292         * src/vpn-daemons/nm-vpn-service.c
11293                 - (supplicant_child_setup): new function
11294                 - (supplicant_exec): make child process use a new process group id
11295
11296         * src/nm-device-802-11-wireless.c
11297                 - (nm_vpn_service_child_setup): new function
11298                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11299                         process group id
11300
11301 2006-11-19  Dan Williams  <dcbw@redhat.com>
11302
11303         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11304         * gnome/vpn-properties/nm-vpn-properties.c
11305                 - clean up after renamed VPN connection
11306
11307 2006-11-19  Dan Williams  <dcbw@redhat.com>
11308
11309         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11310         * gnome/applet/applet-dbus-vpn.c
11311                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11312
11313         * gnome/vpn-properties/nm-vpn-properties.c
11314                 - (init_app): sort VPN connections
11315
11316 2006-11-09  Dan Williams  <dcbw@redhat.com>
11317
11318         * src/NetworkManagerAPList.c
11319                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11320                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11321                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11322                 broke hidden SSID matching.  Found by Bill Moss.
11323
11324 2006-10-25  Dan Williams  <dcbw@redhat.com>
11325
11326         * src/nm-dbus-nm.c
11327                 - (nm_dbus_nm_set_active_device): return an empty success message on
11328                         success, rather than falling through to the error case.
11329
11330 2006-10-25  Dan Williams  <dcbw@redhat.com>
11331
11332         * src/NetworkManagerUtils.c
11333                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11334                         "SCAN" command
11335
11336 2006-10-24  Dan Williams  <dcbw@redhat.com>
11337
11338         Reduce the number of times the Gnome applet wakes up, especially when
11339         it's doing absolutely nothing and is hidden.  Initial patch by
11340         Chris Aillon.
11341
11342         * gnome/applet/applet-dbus.c
11343                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11344                         kill the redraw timeout.  When NM starts up, start the redraw
11345                         timeout.  Also, if we get kicked off the bus for some reason,
11346                         start the reconnection timeout if one's not already running.
11347                 - (nma_dbus_init): better handling of error conditions, don't leak
11348                         a half-initialized dbus connection
11349                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11350                         the applet's data, just call nm_dbus_init_helper()
11351                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11352                         timeout that calls nma_dbus_connection_watcher()
11353                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11354                         reconnection timeout, and don't start the reconnection timeout
11355                         unconditionally anymore
11356
11357         * gnome/applet/applet-dbus.h
11358                 - Expose nma_start_dbus_connection_watch()
11359
11360         * gnome/applet/applet.c
11361                 - (nma_update_state): no longer static, called from applet-dbus.c for
11362                         immediate UI updates on certain events
11363                 - (nma_set_running): new function; take over setting applet->running,
11364                         when not running (ie, NM is not active), don't activate the redraw
11365                         timeout because we're not showing the applet anyway.  When we are
11366                         running (ie, NM is active), and only when we're running, start the
11367                         redraw timeout.
11368                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11369                         kill any reconnection timeout
11370                 - (nma_get_instance): move one-off dbus initialization code here since
11371                         nm_dbus_init_helper() gets called more than once, possibly by the
11372                         reconnection timeout function too.  And, when we start up, if we
11373                         can't get a connection to the bus, start the reconnection timeout.
11374                         But don't start the redraw timeout yet, only do that when we get
11375                         NM's state and find out if it's running or not.
11376
11377         * gnome/applet/applet.h
11378                 - Add the reconnection GSource ID
11379                 - Add prototypes for nma_set_running() and the no-longer-static
11380                         nma_update_state()
11381
11382 2006-10-24  Dan Williams  <dcbw@redhat.com>
11383
11384         * src/vpn-daemons/nm-dbus-vpnc.c
11385                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11386                         pending call tracker
11387                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11388                         pending call tracker; register one-vpn-connection update pending
11389                         call in pending call tracker
11390                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11391                         update pending call in pending call tracker
11392                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11393                         update pending call in pending call tracker; don't block waiting
11394                         for call to return
11395
11396 2006-10-19  Robert Love  <rml@novell.com>
11397
11398         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11399           refresh the cache.
11400
11401 2006-10-14  Dan Williams  <dcbw@redhat.com>
11402
11403         * src/dhcp-manager/nm-dhcp-manager.c
11404                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11405                 the dbus connection and the device object path rather than
11406                 constructing it inside both functions.  Saves a bit of memory
11407                 and clarifies a failure path.
11408                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11409                 and allocate device path here rather than each of the two
11410                 functions above.
11411
11412 2006-10-13  Dan Williams  <dcbw@redhat.com>
11413
11414         * src/NetworkManager.c
11415                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11416                 this somehow droppout in the refactor
11417
11418 2006-10-13  Dan Williams  <dcbw@redhat.com>
11419
11420         * Huge DBus refactor:
11421                 - Create a "DBus Manager" object which manages the connection and
11422                 sends signals on NameOwnerChanged and connection/disconnection events,
11423                 handles reconnection to the bus if NM gets kicked off, and abstracts
11424                 signal handling
11425                 - Remove DBusConnection members from places where they are no
11426                 longer needed due to the refactor, like the dbus-connection
11427                 property of the named manager, and from NMData
11428                 - Reformats a bunch of the code to gnome style
11429                 (8-space tabs, braces on same line as statement, 80-col width).
11430                 Consider it open season to reformat any bits to gnome style.
11431                 style that aren't already.
11432
11433 2006-10-13  Dan Williams  <dcbw@redhat.com>
11434
11435         * src/supplicant-manager/Makefile.am
11436                 - Add new files
11437
11438         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11439                 - Make it a minimal GObject
11440
11441         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11442                 - Verify settings destined for wpa_supplicant
11443
11444         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11445                 - Minimal GObject to track wpa_supplicant controlled device
11446                 connections
11447
11448 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11449
11450         * gnome/applet/applet.c: (nma_update_info),
11451         (nma_act_stage_to_pixbuf), (nma_update_state):
11452         Mark missing strings for translation. Fixes bug #343306.
11453
11454 2006-10-01  Dan Williams  <dcbw@redhat.com>
11455
11456         * src/vpn-manager/nm-vpn-manager.c
11457                 - (nm_vpn_manager_load_services): split and clean up
11458                 for readability and correctness.  Restrict VPN service
11459                 files to ending in ".name", as was meant from the
11460                 beginning (but not coded in).  Better error reporting.
11461
11462 2006-10-01  Dan Williams  <dcbw@redhat.com>
11463
11464         * utils/nm-utils.h
11465                 - Clean up formatting of debug/info/warning log messages
11466
11467 2006-09-27  Robert Love  <rml@novell.com>
11468
11469         Patch by Tambet Ingo <tambet@ximian.com>:
11470         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11471           actually work.
11472
11473 2006-09-07  Dan Williams <dcbw@redhat.com>
11474
11475         * test/Makefile.am
11476           test/libnm-util/Makefile.am
11477           test/nm-supplicant-test.c
11478                 - Add test program emulating the way NM drives wpa_supplicant
11479                 to help debug supplicant issues
11480
11481 2006-08-24  Dan Williams <dcbw@redhat.com>
11482
11483         * configure.in
11484           src/Makefile.am
11485           src/supplicant-manager/Makefile.am
11486           src/supplicant-manager/nm-supplicant-manager.c
11487           src/supplicant-manager/nm-supplicant-manager.h
11488                 - Add skeleton bits of the wpa_supplicant manager
11489
11490 2006-08-24  Dan Williams <dcbw@redhat.com>
11491
11492         Patch from Ed Catmur:
11493         * src/NetworkManagerUtils.c
11494                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11495                 if netmask is 0 (Gnome #352634)
11496
11497 2006-08-17  Robert Love  <rml@novell.com>
11498
11499         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11500           package is now DBUS-enabled and listens for the NM signals.
11501
11502 2006-08-14  Dan Williams  <dcbw@redhat.com>
11503
11504         * Patch from Christian Persch <chpe gnome org>
11505         * configure.in
11506           po/LINGUAS
11507           vpn-daemons/openvpn/po/LINGUAS
11508           vpn-daemons/openvpn/configure.in
11509           vpn-daemons/pptp/po/LINGUAS
11510           vpn-daemons/pptp/configure.in
11511           vpn-daemons/vpnc/po/LINGUAS
11512           vpn-daemons/vpnc/configure.in
11513                 - Convert to LINGUAS method so translators don't have to modify
11514                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11515                 0.35 or higher
11516
11517 2006-08-14  Dan Williams  <dcbw@redhat.com>
11518
11519         Patch from Alex Smith <alex.extreme2@gmail.com>
11520         * configure.in
11521           src/backends/Makefile.am
11522           src/backends/NetworkManagerFrugalware.c
11523                 - Add support for Frugalware
11524
11525 2006-08-13  Dan Williams  <dcbw@redhat.com>
11526
11527         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11528         * src/nm-device-802-11-wireless.c
11529                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11530                 Gnome #346875
11531
11532 2006-08-13  Dan Williams  <dcbw@redhat.com>
11533
11534         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11535         * src/nm-ap-security.c
11536           src/nm-ap-security.h
11537                 - Add authentication_required bits for subclasses to specify whether
11538                 or not real authentication is required for connections, i.e. whether
11539                 the AP rejects us when an encryption key is wrong or not.
11540
11541         * src/nm-ap-security-wep.c
11542           src/nm-ap-security-wpa-eap.c
11543           src/nm-ap-security-wpa-psk.c
11544           src/nm-ap-security-leap.c
11545                 - Implement authentication_required appropriately for each method
11546
11547         * src/nm-device-802-11-wireless.c
11548                 - Be smarter about when to request a key; for example, using a wrong key
11549                 in WEP shared key mode previously just timed out and did not request
11550                 a new key
11551
11552 2006-08-13  Dan Williams  <dcbw@redhat.com>
11553
11554         * gnome/libnm_glib/libnm_glib.c
11555                 - dbus_connection_disconnect() -> dbus_connection_close() for
11556                 dbus >= 0.90
11557
11558 2006-08-07  Dan Williams  <dcbw@redhat.com>
11559
11560         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11561         * src/NetworkManagerSystem.c
11562                 - Respect specified MTU.  Gnome #344967
11563
11564 2006-08-07  Dan Williams  <dcbw@redhat.com>
11565
11566         * src/vpn-manager/nm-vpn-service.c
11567                 - Simplify print_vpn_config() arguments
11568
11569         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11570         * src/vpn-manager/Makefile.am
11571           src/vpn-manager/nm-vpn-service.c
11572                 - Add new API for passing VPN config options as a dict. Gnome #344967
11573
11574 2006-08-06  Dan Williams  <dcbw@redhat.com>
11575
11576         * gnome/applet/applet-dbus-devices.c
11577           gnome/applet/applet-dbus-vpn.c
11578           gnome/applet/applet-dbus.c
11579           gnome/applet/applet-dbus.h
11580           src/nm-dbus-nmi.c
11581           utils/nm-utils.c
11582           utils/nm-utils.h
11583                 - Make pending call tracking code generic,
11584                 so we can use it in NM as well as the applet
11585
11586 2006-08-06  Dan Williams  <dcbw@redhat.com>
11587
11588         * src/nm-activation-request.c
11589                 - Refcount pending call objects
11590
11591 2006-08-06  Dan Williams  <dcbw@redhat.com>
11592
11593         Patch from Christan Chiesa <christanc@gmail.com>
11594         * configure.in
11595                 - Tell sha1.c to use bigendian mode on PPC
11596
11597 2006-08-04  Robert Love  <rml@novell.com>
11598
11599         Glib Memory Slices!
11600         * configure.in: Require glib 2.10 or later.
11601         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11602           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11603           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11604           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11605           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11606           Memory Slices are the greatest thing since bread slices.
11607         * src/NetworkManagerAP.c: Also, fix memory leak.
11608
11609 2006-08-01  Robert Love  <rml@novell.com>
11610
11611         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11612
11613 2006-07-31  Robert Love  <rml@novell.com>
11614
11615         * src/backends/interface_parser.c: Declarations must begin the block.
11616
11617 2006-07-24  Dan Williams  <dcbw@redhat.com>
11618
11619         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11620         * src/backends/Makefile.am
11621           src/backends/NetworkManagerArch.c
11622           src/backends/NetworkManagerDebian.c
11623           src/backends/NetworkManagerGeneric.c
11624           src/backends/NetworkManagerGeneric.h
11625           src/backends/NetworkManagerGentoo.c
11626           src/backends/NetworkManagerPaldo.c
11627           src/backends/NetworkManagerRedHat.c
11628           src/backends/NetworkManagerSlackware.c
11629           src/backends/NetworkManagerSuSE.c
11630                 - Genericize common backend functions
11631
11632 2006-07-18  Robert Love  <rml@novell.com>
11633
11634         * configure.in: Add "--with-notify" option to allow disabling of
11635           libnotify support.
11636
11637 2006-07-13  Dan Williams  <dcbw@redhat.com>
11638
11639         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11640         * gnome/applet/applet.glade
11641           gnome/applet/Makefile.am
11642           gnome/applet/nm-gconf-wso.c
11643           gnome/applet/nm-gconf-wso-leap.c
11644           gnome/applet/nm-gconf-wso-leap.h
11645           gnome/applet/wireless-security-manager.c
11646           gnome/applet/wso-leap.c
11647           gnome/applet/wso-leap.h
11648           include/NetworkManager.h
11649           libnm-util/dbus-helpers.c
11650           libnm-util/dbus-helpers.h
11651           src/Makefile.am
11652           src/NetworkManagerAP.c
11653           src/nm-ap-security.c
11654           src/nm-ap-security-leap.c
11655           src/nm-ap-security-leap.h
11656                 - Add LEAP authentication support
11657
11658 2006-07-13  Dan Williams  <dcbw@redhat.com>
11659
11660         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11661         * configure.in
11662           src/backends/NetworkManagerArch.c
11663           src/backends/NetworkManagerDebian.c
11664           src/backends/NetworkManagerGentoo.c
11665           src/backends/NetworkManagerPaldo.c
11666           src/backends/NetworkManagerRedHat.c
11667           src/backends/NetworkManagerSlackware.c
11668           src/backends/NetworkManagerSuSE.c
11669                 - Convert hardcoding of 'ip' path to configure-time
11670                         detected one
11671
11672 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11673
11674         * configure.in: added ru to ALL_LINGUAS
11675
11676 2006-07-10  Dan Williams  <dcbw@redhat.com>
11677
11678         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11679         * src/nm-device.c
11680                 - (real_act_stage3_ip_config_start): don't infinite loop when
11681                         dhcdbd isn't running (Gnome #346845)
11682
11683 2006-07-09  Dan Williams  <dcbw@redhat.com>
11684
11685         * gnome/applet/applet.c
11686                 - (nma_destroy): don't pass NULL to notify_notification_close
11687                         (RH #197917)
11688
11689 2006-07-09  Dan Williams  <dcbw@redhat.com>
11690
11691         * gnome/applet/applet.c
11692                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11693
11694 2006-07-04  Tor Krill  <tor@krill.nu>
11695
11696         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11697         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11698         (nm_system_restart_mdns_responder), (ArchReadConfig),
11699         (nm_system_device_get_system_config):
11700                 - Explicitly check for DHCP configuration
11701                 - Check if daemons are running before starting them
11702
11703 2006-06-25  Dan Williams  <dcbw@redhat.com>
11704
11705         * libnm-util/dbus-dict-helpers.[ch]
11706           test/libnm-util/test-dbus-dict-helpers.c
11707                 - Add string array support
11708
11709 2006-06-24  Dan Williams  <dcbw@redhat.com>
11710
11711         * src/dhcp-manager/nm-dhcp-manager.c
11712                 - (nm_dhcp_manager_process_signal): clean up spacing
11713
11714 2006-06-21  Dan Williams  <dcbw@redhat.com>
11715
11716         * src/nm-dbus-device.c
11717                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11718                         through dbus
11719
11720 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11721
11722         * configure.in: Added 'lv' to ALL_LINGUAS
11723
11724 2006-06-19  Dan Williams  <dcbw@redhat.com>
11725
11726         * src/NetworkManagerAP.c
11727                 - Clarify usage of user_created
11728
11729         * src/nm-ap-security-wep.c
11730           src/nm-ap-security-wpa-eap.c
11731           src/nm-ap-security-wpa-psk.c
11732           src/nm-ap-security.c
11733           src/nm-ap-security.h
11734                 - s/user_created/adhoc, because we really do mean adhoc
11735
11736         Patch from Bernard Blackham <bernard@blackham.com.au>
11737         * src/nm-device-802-11-wireless.c         
11738                 - (supplicant_send_network_config): instead of user_created,
11739                         use adhoc, and do AP_SCAN 2 for adhoc networks
11740
11741 2006-06-18  Robert Love  <rml@novell.com>
11742
11743         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11744           we have a value to set.  Gconf generates a warning if `val' is NULL.
11745         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11746           unless we actually received a valid private key file passphrase or
11747           password.  Otherwise, we don't know to later ask the applet to pull
11748           the key from the keyring.
11749
11750 2006-06-17  Dan Williams  <dcbw@redhat.com>
11751
11752         * libnm-util/dbus-dict-helpers.[ch]
11753           test/libnm-util/test-dbus-dict-helpers.c
11754                 - Fixes for zero-length byte arrays
11755                 - Replace return values of 0 with FALSE for clarity
11756                 - Test zero-length byte arrays
11757
11758 2006-06-17  Dan Williams  <dcbw@redhat.com>
11759
11760         * libnm-util/dbus-dict-helpers.[ch]
11761           test/libnm-util/test-dbus-dict-helpers.c
11762                 - Add helpers for byte arrays
11763                 - Rework bits of the testcase
11764
11765 2006-06-16  Dan Williams  <dcbw@redhat.com>
11766
11767         * libnm-util/Makefile.am
11768         * libnm-util/dbus-dict-helpers.[ch]
11769                 - Add some helpers to take the pain out of using dict types in
11770                         dbus.
11771
11772         * test/libnm-util/Makefile.am
11773         * test/libnm-util/test-dbus-dict-helpers.c
11774                 - Test cases for the dict helper functions
11775
11776 2006-06-15  Robert Love  <rml@novell.com>
11777
11778         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11779           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11780           if there is no key to pass.
11781         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11782           receiving a non-NULL key.
11783
11784 2006-06-14  Robert Love  <rml@novell.com>
11785
11786         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11787           copy the strings.
11788
11789
11790 2006-06-14  Dan Williams  <dcbw@redhat.com>
11791
11792         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11793         * src/nm-device-802-11-wireless.c
11794                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11795                         or ones where the driver is unknown
11796                 - (supplicant_exec): don't wait for supplicant startup here
11797                 - (supplicant_interface_init): finer grained polling for supplicant
11798                         startup
11799
11800 2006-06-13  Robert Love  <rml@novell.com>
11801
11802         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11803           if it is currently set to TRUE.  Otherwise, we will reset the value
11804           when we connect normally.
11805         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11806           the old BSSID is valid, too.  The recently added ESSID check may not be
11807           sufficient (we can remove it?).  What we really want to catch is the
11808           case of going from all-zeros to the BSSID of some other network, which
11809           happens on failure.
11810
11811 2006-06-09  Dan Williams  <dcbw@redhat.com>
11812
11813         * src/NetworkManagerSystem.[ch]
11814                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11815                         it was unused and pointless
11816                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11817                         fix for set_up_down_with_iface change
11818
11819         * src/vpn-manager/nm-vpn-connection.c
11820                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11821
11822         * src/backends/NetworkManagerPaldo.c
11823           src/backends/NetworkManagerRedHat.c
11824           src/backends/NetworkManagerSuSE.c
11825           src/backends/NetworkManagerArch.c
11826           src/backends/NetworkManagerDebian.c
11827           src/backends/NetworkManagerGentoo.c
11828                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11829                         appropriate
11830                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11831                         where appropriate
11832
11833 2006-06-09  Dan Williams  <dcbw@redhat.com>
11834
11835         Patch from Peter Jones:
11836         * src/nm-device-802-11-wireless.c
11837                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11838                         SSID hasn't changed from what we expect before automatically
11839                         updating the saved BSSID from a new AP
11840
11841 2006-06-08  Robert Love  <rml@novell.com>
11842
11843         Add 'fallback' support.  NetworkManager will attempt to brute-force
11844         connect to networks marked as fallback if there are no better wireless
11845         connections available.  This is useful as a method of last resort, to
11846         work around driver problems, and for use with hidden networks.
11847         * gnome/applet/applet-dbus-devices.c,
11848           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11849         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11850           pass it on via DBUS.
11851         * gnome/applet/applet.c: No fallback by default.
11852         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11853           Update other-network-dialog to add UI checkbox toggling fallback.
11854         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11855           propery from AP object.  Add "fallback" property to AP object.
11856         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11857         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11858         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11859           separate function.  Add get_best_fallback_ap() for returning an AP
11860           on which to attempt fallback.
11861         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11862         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11863
11864 2006-06-07  Robert Love  <rml@novell.com>
11865
11866         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11867           checked that the return type was GCONF_VALUE_STRING, not the correct
11868           GCONF_VALUE_BOOL, and thus it never worked.
11869         * src/NetworkManagerAPList.c: Before concluding that two networks are
11870           identical based on their BSSID, make sure that the BSSID in question
11871           is actually valid.  Specifically, an empty or all zero BSSID does not
11872           cut it.
11873         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11874           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11875           similar invariant clean up.
11876
11877 2006-06-02  Robert Love  <rml@novell.com>
11878
11879         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11880
11881 2006-05-28  Dan Williams  <dcbw@redhat.com>
11882
11883         * gnome/applet/applet.glade
11884           gnome/vpn-properties/nm-vpn-properties.glade
11885                 - Set window icons on dialogs  (Gnome.org #333420)
11886
11887 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11888
11889         * gnome/vpn-properties/nm-vpn-properties.glade:
11890         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11891         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11892         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11893                 - Make the VPN properties pages prettier and more HIG
11894                   compliant. Gnome Bug #336913.
11895
11896 2006-05-28  Dan Williams  <dcbw@redhat.com>
11897
11898         Patch from Christian Persch <chpe@gnome.org>
11899         * gnome/vpn-properties/nm-vpn-properties.c
11900         * gnome/vpn-properties/nm-vpn-properties.glade
11901                 - HIG-ification love  (Gnome.org #336846)
11902
11903 2006-05-28  Dan Williams  <dcbw@redhat.com>
11904
11905         Patch from Christian Persch <chpe@gnome.org>
11906         * configure.in
11907           gnome/vpn-properties/nm-vpn-properties.c
11908                 - (main): Fix option parsing.  Gnome.org #336847
11909
11910 2006-05-28  Dan Williams  <dcbw@redhat.com>
11911
11912         * gnome/vpn-properties/nm-vpn-properties.c
11913                 - (find_vpn_ui_by_service_name): protect against NULL service names
11914                 - (update_edit_del_sensitivity): protect against NULL service names
11915                         Gnome.org #341306
11916
11917 2006-05-28  Dan Williams  <dcbw@redhat.com>
11918
11919         Patch from Chris Fuller <crf@grandecom.net>:
11920         * src/nm-device-802-11-wireless.c
11921                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11922                         don't dispose of wireless-specific stuff unless it is actually
11923                         initialized.  Gnome.org #341263
11924
11925 2006-05-28  Dan Williams  <dcbw@redhat.com>
11926
11927         * src/NetworkManagerPolicy.c
11928                 - (nm_policy_device_change_check): don't switch devices if the "best"
11929                         AP is essentially the same as the current activation request, but
11930                         the current activation request isn't done activating yet.  Fixes
11931                         multiple requests for keyring password on startup for Gnome applet.
11932                         Gnome.org #341297
11933
11934 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11935
11936         * src/NetworkManager.c: use GOptions instead of getopt
11937         * configure.in: bump glib required version to >= 2.6 for GOption
11938           support
11939
11940 2006-05-25  Robert Love  <rml@novell.com>
11941
11942         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11943           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11944           instead of dumping ifdef's throughout the code.
11945         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11946           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11947           use nm_ioctl_info() in lieu.
11948
11949 2006-05-25  Robert Love  <rml@novell.com>
11950
11951         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11952         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11953           not using gcrypt.  Otherwise, we get a linker error.
11954
11955 2006-05-25  Robert Love  <rml@novell.com>
11956
11957         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11958         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11959           configure flag to disable building of the GNOME-based applet.
11960
11961 2006-05-25  Robert Love  <rml@novell.com>
11962
11963         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11964           parameter from link, because it shadows a global variable with some
11965           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11966           should never have exported to the entire system a common four letter
11967           word.  But we here at NetworkManager are team players.  Fixes
11968           GNOME bug #336532.
11969
11970 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11971
11972         * configure.in: Added mk.po, Macedonian translation.
11973
11974 2006-05-24  Robert Love  <rml@novell.com>
11975
11976         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11977           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11978           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11979
11980 2006-05-24  Robert Love  <rml@novell.com>
11981
11982         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11983           libnm-util/Makefile.am, src/Makefile.am,
11984           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11985           vpn-daemons/openvpn/properties/Makefile.am,
11986           vpn-daemons/pptp/auth-dialog/Makefile.am,
11987           vpn-daemons/pptp/properties/Makefile.am,
11988           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11989           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11990           user passed for --datadir, if anything, when setting the GNOME locale
11991           directory.  It should be a function of the specified datadir and not
11992           the prefix.
11993
11994 2006-05-24  Robert Love  <rml@novell.com>
11995
11996         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11997           src/NetworkManager.c: Take care to call bindtextdomain with the
11998           location of msgid files.
11999         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12000           files.
12001
12002 2006-05-22  Robert Love  <rml@novell.com>
12003
12004         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12005           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12006           99% of the time there is a real problem with wireless, and a
12007           seemingly successful connection via Zeroconf just confuses the user.
12008           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12009
12010 2006-05-22  Robert Love  <rml@novell.com>
12011
12012         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12013           autofs on interface up if NIS is configured.  On interface down, do
12014           nothing.
12015
12016 2006-05-22  Robert Love  <rml@novell.com>
12017
12018         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12019           to avoid calling g_object_unref() on stale pointers on error in
12020           nma_icons_free().  This happens because we short-circuit loaded the
12021           icons on the first failure but then free all icons.  Normally we have
12022           no issue because the icons were zero'ed out malloc, but we have stale
12023           pointer data after nma_icon_theme_changed().
12024         * gnome/applet/main.c: Return error code if nma_new() failed.
12025
12026 2060-05-21  Dan Williams  <dcbw@redhat.com>
12027
12028         * initscript/NetworkManager.in
12029                 - Ensure both dhcdbd and named are started before NM
12030
12031 2006-05-21  Dan Williams  <dcbw@redhat.com>
12032
12033         * configure.in
12034                 - Bump version to 0.7 to signify we are in 0.7 development
12035
12036 2006-05-21  Dan Williams  <dcbw@redhat.com>
12037
12038         Patch from Adam Schreiber <sadam@clemson.edu>
12039         * gnome/vpn-properties/nm-vpn-properties.c
12040                 - (main): correct Gnome program name  (gnome.org #342498)
12041
12042 2006-05-21  Dan Williams  <dcbw@redhat.com>
12043
12044         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12045
12046         * src/NetworkManagerDbus.[ch]
12047                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12048                         clarify that function's argument should be an escaped dbus object
12049                         path, and look for path segment end before returning a match
12050         * src/nm-dbus-nm.c:
12051                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12052
12053 2006-05-17  Robert Love  <rml@novell.com>
12054
12055         Functionality to differentiate Ad-Hoc networks from infrastructure
12056         networks in the applet, by displaying a special icon:
12057         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12058         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12059         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12060           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12061           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12062           networks, encrypted or not.
12063         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12064           accessor functions to get and set the mode of a given network,
12065           wireless_network_get_mode() and wireless_network_set_mode().
12066
12067 2006-05-17  Robert Love  <rml@novell.com>
12068
12069         Functionality to automatically add BSSIDs to the allowed-MAC list as
12070         one roams from access point to access point on a given network:
12071         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12072           helper function to compare two ether_addr structures and return TRUE
12073           if they contain the same MAC address.
12074         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12075           prototype.
12076         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12077           stored with the current AP.  If the BSSID has indeed changed, we
12078           send it out to the applet, allowing the allowed-MAC list to grow
12079           automatically in response to roaming.
12080
12081 2006-05-16  Robert Love  <rml@novell.com>
12082
12083         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12084           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12085
12086 2006-05-13  Dan Williams  <dcbw@redhat.com>
12087
12088         * src/nm-device-802-3-ethernet.c
12089                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12090                         carrier detect (Debian bug #366373)
12091
12092 2006-05-11  Dan Williams  <dcbw@redhat.com>
12093
12094         Patch from Michael Biebl <biebl@teco.edu>
12095         * src/backends/NetworkManagerDebian.c
12096                 - Debian backend fixups
12097
12098 2006-05-10  Robert Love  <rml@novell.com>
12099
12100         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12101
12102 2006-05-09  Robert Love  <rml@novell.com>
12103
12104         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12105           private certificate passphrase, if any, in the GNOME Keyring.
12106         * libnm-utils/dbus-helpers.c: Update.
12107
12108 2006-05-05  Dan Williams  <dcbw@redhat.com>
12109
12110         * src/nm-device-802-11-wireless.c
12111                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12112                         nm_device_802_11_wireless_disable_encryption() since that's all
12113                         we use it for anymore; we don't ever set WEP keys ourselves.
12114                 - (real_deactivate_quickly): reset SSID and encryption keys
12115                 - (real_deactivate): move SSID and encryption key reset to
12116                         real_deactivate_quickly(), which gets run before us anyway
12117
12118 2006-05-05  Robert Love  <rml@novell.com>
12119
12120         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12121           root has a wacky default of its own (or, more common, a user has a
12122           bad umask and uses su/sudo to restart NetworkManager).  Anything
12123           other than 0022 does not do what we want with, for example,
12124           resolv.conf.  This problem is amplified by our judicious use of
12125           fopen(), which uses mode 0666 -- implying that the only way to get
12126           the permissions we want is with a umask of 0022.
12127
12128 2006-05-05  Dan Williams  <dcbw@redhat.com>
12129
12130         * gnome/libnm_glib/libnm_glib.c
12131                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12132                         to reconnect; instead wait a bit more with each reconnect attempt
12133                         up to a max of one minute.
12134
12135 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12136
12137         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12138           the WirelessNetwork structure using the proper function instead of
12139           just casting it directly to (const char *) (gnome.org #336991)
12140
12141 2006-05-03  Robert Love  <rml@novell.com>
12142
12143         * src/backends/NetworkManagerSuSE.c: Respect the variable
12144           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12145           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12146           to dynamically update /etc/resolv.conf.
12147
12148 2006-05-02  Peter Jones  <pjones@redhat.com>
12149
12150         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12151
12152 2006-05-02  Robert Love  <rml@novell.com>
12153
12154         Patch by Timo Hoenig;
12155         * tests/nm-online.c: Print pretty status indicator as timeout winds
12156           down.  Also fix possible race between DBUS startup and failure
12157           return.
12158
12159 2006-05-01  Robert Love  <rml@novell.com>
12160
12161         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12162           empty, too.
12163
12164 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12165
12166         * src/nm-device.c (discover_device_type): Actually use the hal
12167         device type instead of ioctl poking
12168
12169 2006-04-26  Robert Love  <rml@novell.com>
12170
12171         * tests/nm-online.c: New file.  Simple utility that returns exit status
12172           noting whether the connection is offline or online.  If offline on
12173           start, it waits 30 seconds (or a command-line given value) for an
12174           online signal.  If it times out, it again returns offline.  This is
12175           useful for scripts that want to wait for network connections.
12176
12177 2006-04-25  Robert Love  <rml@novell.com>
12178
12179         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12180           key mode (the authentication algorithm), e.g. open or shared, when we
12181           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12182           only shared was broken.  If the user specified a shared key, set it
12183           explicitly, otherwise let wpa_supplicant go with the default.
12184
12185 2006-04-24  Dan Williams  <dcbw@redhat.com>
12186
12187         * src/nm-device-802-11-wireless.c
12188                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12189
12190 2006-04-24  Dan Williams  <dcbw@redhat.com>
12191
12192         Commit the async scanning patch
12193
12194         * src/nm-device-802-11-wireless.c
12195                 - get rid of scan_mutex
12196                 - (wireless_event_helper): act on wireless scan events
12197                 - (real_start): schedule a pending scan
12198                 - (link_to_specific_ap): fake the link to the AP during a scan
12199                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12200                         strength during scans
12201                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12202                         nm_device_set_bitrate): unused with new scanning code, disable
12203                 - (nm_device_wireless_schedule_scan): removed
12204                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12205                 - (request_and_convert_scan_results): new function; retrieve scan
12206                         results from the driver and schedule the processing function
12207                 - (scan_results_timeout): timeout triggered when card doesn't send
12208                         a scan results wireless event during a certain interval
12209                 - (schedule_scan_results_timeout): new function; schedule the scan
12210                         results timeout
12211                 - (cancel_scan_results_timeout): new function; cancel the scan
12212                         results timeout
12213                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12214                         to do the scanning.  Otherwise, just request a scan but don't
12215                         grab results here; instead schedule a timeout for scan results and
12216                         let netlink notify us of scan completion events
12217                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12218                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12219                 - (supplicant_status_cb): ignore disconnect events while scanning
12220                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12221                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12222                         timeouts
12223                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12224
12225 2006-04-24  Dan Williams  <dcbw@redhat.com>
12226
12227         * gnome/applet/applet-dbus.c
12228                 - Disable the pending call debug stuff, seems under control now
12229
12230 2006-04-20  Robert Love  <rml@novell.com>
12231
12232         Fix bug where hidden ESSID's would not show up in the applet, even
12233         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12234         because nm_policy_device_list_update_from_allowed_list() would merge
12235         the data, putting a name to the hidden networks, but never notify NMI
12236         of the changes.  Simple fix is to invoke the function
12237         nm_dbus_signal_wireless_network_change() if we make a mapping.
12238         * src/NetworkManagerAPList.c: Call the function
12239           nm_dbus_signal_wireless_network_change() if we made a successful
12240           BSSID to ESSID mapping, notifying the applet of the "new" network.
12241         * src/NetworkManagerAPList.h: Update the prototypes for both
12242           nm_ap_list_copy_essids_by_address() and
12243           nm_ap_list_copy_one_essid_by_address().
12244
12245 2006-04-20  Robert Love  <rml@novell.com>
12246
12247         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12248           not set.  Just return zero.
12249
12250 2006-04-20  Robert Love  <rml@novell.com>
12251
12252         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12253           only one copy of nm-vpn-properties is running at a time via the 'ol
12254           X selection trick.  This prevents the user from opening two "VPN
12255           Connections" windows from within the applet, which leads to mass
12256           hysteria.
12257         * clipboard.c: New file, implementing simple X selection logic.
12258         * clipboard.h: New file.
12259         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12260
12261 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12262
12263         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12264         * configure.in
12265           initscript/Gentoo/Makefile.am
12266           initscript/Gentoo/NetworkManagerDispatcher.in
12267                 - New script
12268         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12269           Gentopia
12270
12271 2006-04-16  Dan Williams  <dcbw@redhat.com>
12272
12273         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12274         * configure.in
12275           initscript/Slackware/Makefile.am
12276           initscript/Slackware/rc.networkmanager-dispatcher.in
12277           initscript/Slackware/rc.networkmanager.in
12278                 - Update slackware initscripts
12279
12280 2006-04-10  Robert Love  <rml@novell.com>
12281
12282         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12283           the "delete_event" signal on the druid's parent window and handle it
12284           our way, lest using the WM to close the druid results in a series of
12285           bloody and ultimately lethal errors.
12286
12287 2006-04-10  Robert Love  <rml@novell.com>
12288
12289         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12290           'Back' too or else the 'Forward' option is initially disabled despite
12291           valid input.
12292
12293 2006-04-06  Robert Love  <rml@novell.com>
12294
12295         Fix bad but simple bug where an active modem connection did not update
12296         NM's connection state, breaking any app that did online/offline:
12297         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12298           represented whether a dial up connection is active, or not.
12299         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12300           to modem activation and deactivation.
12301         * src/NetworkManagerDbus.c: When asked our state, do not return
12302           disconnected if the modem is active.
12303
12304 2006-04-04  Robert Love  <rml@novell.com>
12305
12306         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12307           applet.  It just confuses the crap out of people and does not make a
12308           lot of sense, as the daemon still runs.
12309
12310 2006-04-02  Tor Krill  <tor@krill.nu>
12311
12312         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12313           in start of service.
12314         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12315           get Archlinux backend up to date.
12316
12317 2006-03-29  Robert Love  <rml@novell.com>
12318
12319         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12320         to add support for per-route MSS and improve support for per-interface
12321         MTU:
12322         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12323           optionally take an MSS parameter and set it for the given route.
12324           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12325           NMIP4Config's stored MSS, if any.
12326         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12327           the interface's MTU and the route's MSS, respectively.  Add functions
12328           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12329           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12330           MSS.
12331         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12332           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12333           nm_ip4_config_set_mss.
12334         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12335           VPN daemon.
12336         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12337           Change the retval of nm_system_get_mtu to guint32.
12338         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12339           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12340           servers can specify MTU's, we should set it here if the MTU was not
12341           provided.
12342
12343 2006-03-27  Jürg Billeter  <j@bitron.ch>
12344
12345         * configure.in:
12346         * initscript/Makefile.am:
12347         * initscript/paldo/Makefile.am:
12348         * initscript/paldo/NetworkManager.in:
12349         * initscript/paldo/NetworkManagerDispatcher.in:
12350         * src/backends/Makefile.am:
12351         * src/backends/NetworkManagerPaldo.c:
12352                 - Add paldo support
12353
12354 2006-03-27  Dan Williams  <dcbw@redhat.com>
12355
12356         Patch from Christian Persch <chpe@gnome.org>
12357         * gnome/applet/applet.glade
12358                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12359
12360 2006-03-27  Dan Williams  <dcbw@redhat.com>
12361
12362         Patch from Diffe <diffie@blazebox.homeip.net>
12363         * src/backends/NetworkManagerSlackware.c
12364                 - Don't restart howl, since it's been replaced by Avahi
12365                         in most distributions
12366
12367 2006-03-27  Dan Williams  <dcbw@redhat.com>
12368
12369         Patch from Tor Krill <bugzilla@krill.nu>
12370         * configure.in
12371           initscript/Makefile.am
12372           src/backends/Makefile.am
12373           src/backends/NetworkManagerArch.c
12374           initscript/Arch/Makefile.am
12375           initscript/Arch/networkmanager-dispatcher.in
12376           initscript/Arch/networkmanager.in
12377                 - Add Arch Linux support, fixes gnome.org #335147
12378
12379 2006-03-27  Dan Williams  <dcbw@redhat.com>
12380
12381         Patch from Diffe <diffie@blazebox.homeip.net>
12382      * initscript/Slackware/rc.networkmanager
12383         - update, fixed gnome.org #333368
12384
12385 2006-03-27  Robert Love  <rml@novell.com>
12386
12387         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12388           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12389
12390 2006-03-27  Robert Love  <rml@novell.com>
12391
12392         Patch by Jürg Billeter <j@bitron.ch>:
12393         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12394           systems.
12395         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12396           as we prefer glibc over kernel headers, if possible.
12397
12398 2006-03-27  Robert Love  <rml@novell.com>
12399
12400         Patch by Jon Escombe <list@dresco.co.uk>:
12401         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12402         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12403           fail, don't bail out.  We don't expect all of the various WPA-EAP
12404           values to be present.
12405         * src/nm-ap-security.c: We need to match all capabilities for each
12406           encryption type, not any one of them.
12407
12408 2006-03-27  Robert Love  <rml@novell.com>
12409
12410         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12411           restart, not reload, ypbind.  Unfortunately there is no superior
12412           solution.
12413
12414 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12415
12416         * gnome/applet/applet-notifications.c:
12417         When displaying a notification, make sure to get rid of the
12418         previous notification so as to not have competing bubbles,
12419         and stop leaking the old one.
12420
12421         * gnome/applet/applet.c:
12422         * gnome/applet/applet.h:
12423         Add a new 'notification' member to the applet, and zero it out
12424         and free it appropriately.
12425
12426 2006-03-23  Robert Love  <rml@novell.com>
12427
12428         Patch by j <j@bootlab.org>:
12429         * gnome/applet/applet.glade: Don't set the invisible_char property,
12430           which simply overrides the GTK default.  By and by, this behavior
12431           ought to be fixed in Glade.
12432
12433 2006-03-22  Robert Love  <rml@novell.com>
12434
12435         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12436
12437 2006-03-22  Robert Love  <rml@novell.com>
12438
12439         Bug fix by Timo Hoenig <thoenig@suse.de>:
12440         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12441           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12442           and the applet going AWOL.
12443
12444 2006-03-22  Robert Love  <rml@novell.com>
12445
12446         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12447           preprocessor define and use it instead of open-coded the DHCP
12448           timeout, which is currently 25 seconds, everywhere.
12449
12450 2006-03-22  Robert Love  <rml@novell.com>
12451
12452         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12453         key exchange via WPA, ostensibly providing good security without
12454         requiring hardware that supports full WPA.  Also, add UI elements to
12455         allow the user to select the pairwise & group cipher for WPA Enterprise
12456         networks, too:
12457         * gnome/applet/applet.glade: Update glade file.
12458         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12459           key type, too, to and from gconf.
12460         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12461           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12462           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12463           the capabilities match.
12464         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12465           prototype.
12466         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12467           serialize from UI to DBUS.
12468         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12469           one element.
12470         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12471           nmu_security_serialize_wpa_eap_with_cipher(), and
12472           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12473           serialize/deserialize the key type via DBUS as the new third DBUS
12474           parameter.
12475         * libnm-util/dbus-helpers.h: Update prototypes.
12476         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12477           too.  If the key type is WEP104, do Dynamic WEP, which means
12478           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12479           pairwise and group ciphers (fixes a FIXME).
12480
12481 2006-03-21  Robert Love  <rml@novell.com>
12482
12483         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12484           nm_system_get_mtu(), which returns a user-provided or system-mandated
12485           MTU value for a given device, if any, or zero if no such value
12486           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12487           if we have a provided value.
12488         * src/nm-device.c: Set the MTU of devices.
12489         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12490         * src/backends/NetworkManagerDebian.c,
12491           src/backends/NetworkManagerGentoo.c,
12492           src/backends/NetworkManagerRedHat.c,
12493           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12494
12495 2006-03-21  Robert Love  <rml@novell.com>
12496
12497         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12498           configuration file.
12499
12500 2006-03-17  Robert Love  <rml@novell.com>
12501
12502         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12503           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12504           it, in case it is not running in the first place.  We just want its
12505           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12506
12507 2006-03-15  Robert Love  <rml@novell.com>
12508
12509         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12510           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12511           label "WEP 40/128-bit" is inconsistent because the physical key size
12512           is 40 or 104-bits, to which a 24-bit initialisation vector is
12513           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12514           to read "40/104" or "64/128".  I do not care much which, but most
12515           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12516           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12517           WEP passphrase support only handles 128-bit keys, and any future
12518           64-bit passphrase support will require a new option (no way to auto-
12519           detect the target key size), explicitly label our passphrase support
12520           "WEP 128-bit Passphrase".
12521
12522 2006-03-15  Robert Love  <rml@novell.com>
12523
12524         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12525           the system init scripts (or some other mechanism) starting it (or a
12526           compatible DBUS service) before NetworkManager runs.  This means that
12527           distributions might need to update their init scripts.  This fixes
12528           possible races and is quite a bit cleaner.
12529         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12530           starting the NetworkManager daemon.
12531
12532
12533 2006-03-14  Robert Love  <rml@novell.com>
12534
12535         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12536           before adding anything.
12537
12538 2006-03-13  Robert Love  <rml@novell.com>
12539
12540         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12541           widgets, too, if they exist, in case the user hit the back button.
12542           Fixes a bug where the details page contains the widgets of multiple
12543           VPN modules (Novell bug #157048).
12544
12545 2006-03-13  Robert Love  <rml@novell.com>
12546
12547         Patch by Timo Hoenig <thoenig@suse.de>:
12548         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12549           daemon survive DBUS restarts, too.
12550
12551 2006-03-10  Robert Love  <rml@novell.com>
12552
12553         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12554           passphrase or key.
12555         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12556           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12557           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12558           in response to "toggled" signal on new toggle.
12559
12560 2006-03-10  Robert Love  <rml@novell.com>
12561
12562         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12563           serialization if strings are NULL, lest DBUS get angry.
12564
12565 2006-03-10  Robert Love  <rml@novell.com>
12566
12567         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12568
12569 2006-03-09  Robert Love  <rml@novell.com>
12570
12571         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12572           configurations.
12573
12574 2006-03-09  Dan Williams  <dcbw@redhat.com>
12575
12576         Track pending call requests in the applet, and report how many are
12577         outstanding, and how long each completed one takes.
12578         
12579         * gnome/applet/applet-dbus-devices.c
12580           gnome/applet/applet-dbus-vpn.c
12581                 - Track pending calls
12582
12583         * gnome/applet/applet-dbus.[ch]
12584                 - Remove some unused enums
12585                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12586                         new functions to track dbus pending calls and spit out some
12587                         statistics about them
12588
12589 2006-03-09  Robert Love  <rml@novell.com>
12590
12591         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12592           nm_ap_set_timestamp() take the second and micro-second parameters as
12593           direct arguments, which avoids both a dynamic memory allocation and a
12594           structure-to-structure copy!  Add a new interface, the aptly named
12595           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12596           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12597           the return from nm_ap_get_timestamp().  New users should use the new
12598           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12599           the extreme benefit to performance.
12600         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12601           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12602
12603 2006-03-08  Robert Love  <rml@novell.com>
12604
12605         * gnome/applet/applet.glade: Hide the password entry text with
12606           asterisks.
12607
12608 2006-03-08  Robert Love  <rml@novell.com>
12609
12610         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12611           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12612           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12613           a second argument, NMData.
12614         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12615         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12616           config files as trusted.
12617
12618 2006-03-06  Robert Love  <rml@novell.com>
12619
12620         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12621         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12622           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12623           Rivera, detect if the applet was auto-started.  If so, ask the user
12624           if he or she would like to stop automatically running the applet on
12625           login.  If so, disable autostart.
12626
12627 2006-03-06  Robert Love  <rml@novell.com>
12628
12629         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12630           directory in CFLAGS so developers can actually use NetworkManager.h.
12631
12632 2006-03-06  Robert Love  <rml@novell.com>
12633
12634         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12635           open-coded integer constants.  Add state_to_string() to map a given
12636           state to a textual description, and provide that when notifying of
12637           state change.
12638         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12639           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12640           this header directly, but it is currently not installed on most
12641           systems.
12642
12643 2006-03-05  Dan Williams  <dcbw@redhat.com>
12644
12645         Process netlink messages in device subclasses rather than in
12646         NetworkManager.c.  Also add support for recognizing Wireless Events.
12647         
12648         * configure.in
12649                 - Find GLIB_GENMARSHAL
12650
12651         * src/Makefile.am
12652                 - Since we're marshalling custom types for wireless event signals,
12653                         we get to create our own marshallers using GLIB_GENMARSHAL
12654
12655         * src/NetworkManager.c
12656                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12657                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12658                         cut down somewhat.  We no longer process signals here.
12659                 - (nm_data_new): create the netlink monitor here, and remove a
12660                         useless call to nm_policy_schedule_device_change_check()
12661                 - (nm_data_free): get rid of the netlink monitor here
12662                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12663                 - (main): don't create the netlink monitor here, let nm_data_new
12664                         do that.  Call nm_policy_schedule_device_change_check() right
12665                         before we jump to the mainloop to figure out which device
12666                         to use first
12667
12668         * src/NetworkManagerSystem.[ch]
12669                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12670                         convert back and forth from interface names to interface
12671                         indexes
12672
12673         * src/nm-device-802-11-wireless.c
12674                 - (real_init): connect to wireless-event signals from the netlink
12675                         monitor object
12676                 - (nm_device_802_11_wireless_event): new function, schedule handler
12677                         for wireless event signals from the netlink monitor object.  We
12678                         want the handler to run in the device's context
12679                 - (wireless_event_helper): handle wireless-event signals from netlink
12680                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12681                         signal handler
12682
12683         * src/nm-device-802-11-wireless.h
12684                 - remove unused prototype for nm_device_802_11_wireless_new
12685
12686         * src/nm-device-802-3-ethernet.c
12687                 - (real_init): new function; set up signal handlers for link events
12688                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12689                         handler for netlink link activated events on device's main loop
12690                 - (link_activated_helper): when we get a link activated event, set
12691                         the device's link to be active
12692                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12693                         handler for netlink link deactivated events on device's main loop
12694                 - (link_deactivated_helper): when we get a link deactivated event, set
12695                         the device's link to be inactive
12696                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12697                         dispose
12698
12699         * src/nm-device-802-3-ethernet.h
12700                 - remove unused prototype for nm_device_802_3_ethernet_new
12701
12702         * src/nm-device.[ch]
12703                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12704                         but locks the device list
12705                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12706
12707         * src/nm-netlink-monitor.[ch]
12708                 - (nm_netlink_monitor_class_install_signals): New signal
12709                         "wireless-event"
12710                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12711                         at the device list
12712                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12713
12714         * src/nm-marshal-main.c
12715                 - Include generated nm-marshal.c and nm-marshal.h
12716
12717         * src/nm-marshal.list
12718                 - List of custom marshal functions
12719
12720 2006-03-05  Dan Williams  <dcbw@redhat.com>
12721
12722         * gnome/applet/applet-notifications.h
12723                 - Protect prototype of nma_send_event_notification() because it
12724                         includes libnotify-specific types
12725                 - Include libnotify/libnotify.h too, since we technically need it
12726
12727         * gnome/applet/applet.c
12728                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12729                 - (nma_show_vpn_login_banner_dialog): add some error checking
12730
12731 2006-03-04  Dan Williams  <dcbw@redhat.com>
12732
12733         Clean up activation cancellation.  Should be a lot faster now.  Observed
12734         an issue with wireless devices between stage 2 and 3 of activation, where
12735         activation would be cancelled, but the device thread wouldn't notice until
12736         the supplicant association timed out.  Reorganize activation such that
12737         a cancellation handler gets immediately scheduled in the device's thread,
12738         and devices have a chance to perform any custom cleanup too.
12739
12740         * src/nm-device.[ch]
12741                 - (activation_cancel_handler): new device-type-specific function
12742                         for cleaning up device-type-specific stuff on cancellation
12743                 - (cancel_activation): removed
12744                 - (nm_device_activation_cancel): subsume functionality of
12745                         real_cancel_activation, but instead of doing anything, punt
12746                         operation to a handler that's run in device-thread context
12747                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12748                         a warning message
12749                 - (activation_handle_cancel_helper): cancellation handler run in
12750                         device-thread context, calls device-type-specific cancelation,
12751                         then tears down the activation request
12752                 - (real_activation_cancel_handler): generic cancellation handler,
12753                         deals with cancelling any in-process DHCP request
12754                 - (nm_device_activate_stage1_device_prepare,
12755                    nm_device_activate_stage2_device_config,
12756                    nm_device_activate_stage3_ip_config_start,
12757                    nm_device_activate_stage4_ip_config_get,
12758                    nm_device_activate_stage4_ip_config_timeout,
12759                    nm_device_activate_stage5_ip_commit): don't call
12760                         nm_device_schedule_activation_handle_cancel() any more, since
12761                         cancellation will have been already scheduled for us by
12762                         nm_device_activation_cancel().  Just exit the function and
12763                         assume that the cancel handler will be called next.
12764
12765         * src/nm-device-802-3-ethernet.c
12766                 - (real_act_stage2_config): remove; didn't do anything anyway
12767
12768         * src/nm-device-802-11-wireless.c
12769                 - (supplicant_status_cb): ensure we don't do anything if the activation
12770                         got cancelled
12771                 - (real_activation_cancel_handler): implement; cancel user key request
12772                         on activation cancellation
12773
12774 2006-03-04  Dan Williams  <dcbw@redhat.com>
12775
12776         * src/nm-device-802-11-wireless.c
12777                 - (supplicant_send_network_config): assume that drivers that don't
12778                         support WPA pretty much suck, and can't handle NM scanning
12779                         along with wpa_supplicant.
12780
12781 2006-03-03  Robert Love  <rml@novell.com>
12782
12783         * configure.in: Bump version to 0.6.0.
12784         * NEWS: Update.
12785
12786 2006-03-03  Robert Love  <rml@novell.com>
12787
12788         * configure.in: Require DBUS 0.60 or later.
12789
12790 2006-03-03  Dan Williams  <dcbw@redhat.com>
12791
12792         Fix a crash if an "Other wireless network" was chosen, failed, then
12793         chosen again from the applet's menu.  If the other network wasn't
12794         noticed in a scan, it wouldn't have any capabilities, but would still
12795         be listed because the user forced the network.  To fix this, we set
12796         sensible capabilities on the forced network, which will get overwritten
12797         with the correct ones if the network shows up later in a scan.
12798         
12799         * src/nm-ap-security.h
12800                 - Add a new "get_default_capabilities_func" member to the
12801                         NMAPSecurity class
12802
12803         * src/nm-ap-security.c
12804                 - (nm_ap_security_get_default_capabilities): new function
12805
12806         * src/nm-ap-security.c
12807           src/nm-ap-security-wep.c
12808           src/nm-ap-security-wpa-psk.c
12809           src/nm-ap-security-wpa-eap.c
12810                 - Implement get_default_capabilities_func() for all, which
12811                         uses the information contained in a specific NMAPSecurity
12812                         object to determine default AP capabilites necessary
12813                         to support that object
12814
12815         As a secondary measure, we now prune artificial access points that fail
12816         to be activated right away.  The thing failed, and we have no scan data for
12817         it, so it's pretty much useless since security information is only saved
12818         in the applets when a connection is successful.
12819
12820         * src/NetworkManagerAPList.c
12821                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12822                         not artificial.  If we see it, it's no longer a figment of the
12823                         user's imagination :)
12824
12825         * src/NetworkManagerPolicy.c
12826                 - (nm_policy_activation_failed): send along the failed AP if we
12827                         have it
12828
12829         * src/nm-device-802-11-wireless.c
12830                 - (real_activation_failure_handler): remove artificial APs from
12831                         the device list, because activation failed
12832
12833 2006-03-02  Robert Love  <rml@novell.com>
12834
12835         Add support for retrieving both the per-device speed and the
12836         per-network maximum supported rate.  Then change the getProperties
12837         DBUS API for both networks and devices to report this informaiton.
12838         Finally, display the information via both nm-applet and nm-tool:
12839         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12840           and set it.
12841         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12842           Information' dialog.
12843         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12844         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12845           network_device_get_speed() and network_device_set_speed() for
12846           retrieving and setting, respectively, a network device's current
12847           speed.
12848         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12849         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12850           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12851           not matter (yet) what the units are, because we only feed it its own
12852           output.  Implement SIOCGIRATE and set the per-network maximum
12853           supported rate during scanning.
12854         * src/nm-device-802-11-wireless.h: Export the function
12855           nm_device_802_11_wireless_get_bitrate().
12856         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12857           function nm_device_802_3_ethernet_get_speed() for returning an
12858           802.3's current speed, in Mb/s.
12859         * test/nm-tool.c: Display the per-device current speed, if available,
12860           and the per-network maximum rate.
12861
12862 2006-03-02  Dan Williams  <dcbw@redhat.com>
12863
12864         * src/nm-device-802-11-wireless.c
12865                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12866                         card when it gets initialized.  Since devices don't get added to
12867                         the scan list until they are initialized, this function wasn't
12868                         setting the intitial scan interval correctly, and was leaving
12869                         it at 0.  This caused cards to get many scan requests in a short
12870                         amount of time when they were initialized
12871
12872 2006-03-02  Robert Love  <rml@novell.com>
12873
12874         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12875           active device.  But do not do what we used to do and override the
12876           state, which caused the dreaded icon race of '05.
12877
12878 2006-03-02  Robert Love  <rml@novell.com>
12879
12880         Commit Dan's update of my previous commit:
12881         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12882           set_mode() function itself does the check.  But do only set the
12883           frequency if in Ad-Hoc mode.
12884
12885 2006-03-02  Robert Love  <rml@novell.com>
12886
12887         Patch by Brian Magnuson <magnuson@rcn.com>:
12888         * src/nm-device-802-11-wireless.c: During scanning, only set the
12889           wireless mode to infrastructure if it is not currently in
12890           infrastructure mode.  For some driver, setting the mode is a costly
12891           operation, apparently.
12892
12893 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12894
12895         * Makefile.am: use the correct dir for autostart mechanism.
12896
12897 2006-02-28  Dan Williams  <dcbw@redhat.com>
12898
12899         Patch from Brian Magnuson <magnuson@rcn.com>
12900         * gnome/applet/applet.c
12901                 - (nma_show_vpn_failure_dialog): fix errors left over from
12902                         libnotify support changes
12903
12904 2006-02-28  Dan Williams  <dcbw@redhat.com>
12905
12906         * src/vpn-manager/nm-vpn-act-request.[ch]
12907                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12908                         just one value
12909                 - (nm_vpn_act_request_is_failed): new function; return whether or
12910                         not the vpn activation request has failed
12911
12912         * src/vpn-manager/nm-vpn-manager.c 
12913                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12914                         daemon to kill the connection when the activation request fails.
12915                         Fixes issue where NM would get confused if the VPN activation
12916                         request timed out, and would not allow further VPN connections
12917                         on that service.
12918
12919 2006-02-28  Dan Williams  <dcbw@redhat.com>
12920
12921         * gnome/applet/applet.c
12922                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12923                         overlapping connection requests, disable all VPN menu items
12924                         but the active VPN connection
12925
12926 2006-02-28  Dan Williams  <dcbw@redhat.com>
12927
12928         * src/vpn-manager/nm-vpn-connection.c
12929                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12930                         called g_object_unref() on the connection's parent device
12931                         when it should have been ref-ed instead.  Fixes crash with
12932                         repeated vpn connect requests
12933
12934 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12935
12936         * gnome/applet/applet.glade:
12937         Mark a few strings non-translatable, since they shouldn't be.
12938
12939 2006-02-28  Dan Williams  <dcbw@redhat.com>
12940
12941         * src/vpn-manager/nm-vpn-service.c
12942                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12943                         already running, don't blindly ask it to connect, but wait until
12944                         it's in the STOPPED state first.  Fixes an assertion when user
12945                         starts a second vpn connection without stopping the first.
12946                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12947                         dbus service exists before continuing with the connection
12948                         process, and reduce latency while waiting for it to become
12949                         available
12950                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12951                         waiting for the vpn service daemon to become available
12952                 - General log message cleanups; show progress via "Stage x of 4"
12953                         rather than not telling anyone how many stages there are
12954
12955 2006-02-28  Robert Love  <rml@novell.com>
12956
12957         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12958         * src/backends/NetworkManagerSuSE.c: Implement the interface
12959           nm_system_should_modify_resolv_conf() for SUSE.
12960         * src/backends/NetworkManagerDebian.c,
12961           src/backends/NetworkManagerGentoo.c,
12962           src/backends/NetworkManagerRedHat.c,
12963           src/backends/NetworkManagerSlackware.c: Add stub.
12964         * src/named-manager/Makefile.am: Grab includes from src.
12965         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12966           automatic updating of resolv.conf.  This is useful for testing,
12967           broken static configurations, and administrator lock-down.
12968
12969 2006-02-28  Dan Williams  <dcbw@redhat.com>
12970
12971         * src/nm-device-802-11-wireless.c
12972                 - Move all the wpa_supplicant-related management stuff into its
12973                         own struct, just for oranization's sake
12974                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12975                         to a GIOChannel/GSource
12976                 - (supplicant_log_stdout): new function; grab output from the
12977                         wpa_supplicant stdout pipe and write it to our logs.
12978
12979 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12980
12981         * src/nm-device-802-11-wireless.c:
12982         Err, fix thinko in my previous commit.
12983
12984 2006-02-28  Robert Love  <rml@novell.com>
12985
12986         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12987
12988 2006-02-28  Robert Love  <rml@novell.com>
12989
12990         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12991           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12992           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12993           deserializers are responsible for freeing the returned DBUS strings.
12994
12995 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12996
12997         * src/nm-device-802-11-wireless.c:
12998         The scan list is being pruned prematurely.  We should prune after
12999         the device has gone MIA for three scans, not one.  Split out the
13000         interval to realtime seconds function to better serve this.
13001
13002 2006-02-27  Robert Love  <rml@novell.com>
13003
13004         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13005           Open the pid file O_TRUNC, so if it already exists we truncate it to
13006           zero length.  Also, be more verbose about warnings generated during
13007           writing out the pid file.  Finally, always write out the pid file if
13008           in daemon mode.  Use "--pid-file" to override the default.
13009
13010 2006-02-27  Robert Love  <rml@novell.com>
13011
13012         Patch by R. Vinay <rvinay@novell.com>:
13013         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13014           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13015           Novell bug #153628).
13016           
13017 2006-02-27  Robert Love  <rml@novell.com>
13018
13019         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13020           entry so user can hit <ENTER> after entering passphrase (Novell bug
13021           #153738).
13022
13023 2006-02-27  Dan Williams  <dcbw@redhat.com>
13024
13025         * gnome/applet/*
13026                 - Mass search/replace of:
13027                         nmwa -> nma
13028                         NMWirelessApplet -> NMApplet
13029                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13030                    (it ain't just for wireless anymore, ma!)
13031                 - Fix duplicate function name printing when using nm_warning
13032                 - wireless-applet.glade -> applet.glade
13033
13034 2006-02-27  Dan Williams  <dcbw@redhat.com>
13035
13036         * dispatcher-daemon/NetworkManagerDispatcher.c
13037                 - Accept --pid-file with a path to a pidfile, write it out on
13038                         startup, and delete it on shutdown
13039
13040         * src/NetworkManager.c
13041                 - Accept --pid-file with a path to a pidfile, write it out on
13042                         startup, and delete it on shutdown
13043                 - Move nm_print_usage() lower
13044
13045         * initscripts/RedHat/NetworkManager.in
13046                 - Use new --pid-file option
13047                 - Fix service stopping to wait a bit for NM to quit
13048
13049         * initscripts/RedHat/NetworkManagerDispatcher.in
13050                 - Use new --pid-file option
13051
13052 2006-02-26  Dan Williams  <dcbw@redhat.com>
13053
13054         * src/Makefile.am
13055                 - make and install nm-crash-logger
13056
13057         * src/nm-logging.[ch]
13058                 - New files; consolidate logging and crash handling
13059
13060         * src/nm-crash-logger.c
13061           src/gdb-cmd
13062                 - Standalong crashlogger for NM, grab a backtrace
13063                         using GDB
13064
13065         * src/NetworkManager.[ch]
13066                 - Remove signal handling and put it into nm-logging.c
13067
13068 2006-02-26  Dan Williams  <dcbw@redhat.com>
13069
13070         * configure.in
13071           gnome/applet/Makefile.am
13072                 - Conditionalize all the notify stuff
13073
13074         Merge most of Chris Aillon's notification patch:
13075         
13076         * gnome/applet/applet-notifications.[ch]
13077                 - New files; show a notification
13078         
13079         * gnome/applet/applet-dbus-devices.[ch]
13080                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13081                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13082                         new functions, do the right thing when a device change occurs
13083
13084         * gnome/applet/applet-dbus.c
13085                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13086                         signals, so we can handle them specially
13087
13088         * gnome/applet/applet.[ch]
13089                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13090                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13091                 - (nmwa_notify_state): remove
13092                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13093                         notification work is now done when the appropriate dbus signals
13094                         are received.
13095                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13096                         defer execution of the notification/dialog stuff.  That was an
13097                         artifact of the previous multi-threaded nature of the applet
13098                         and is now pointless.
13099                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13100                         no longer needed.  Function folded into applet-notifications.c
13101
13102         * src/NetworkManagerPolicy.c
13103                 - (nm_policy_activation_finish): send the AP along with the device
13104                         status change signal, if the connection is wireless.  Should
13105                         fix the race where applet would show a connection to "unknown"
13106
13107 2006-02-25  Robert Love  <rml@novell.com>
13108
13109         Add WPA Enterprise support:
13110         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13111           nm-gconf-wso-wpa-eap.h.
13112         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13113           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13114           serialization and deserialization.
13115         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13116           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13117           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13118         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13119           settings related to WPA Enterprise.
13120         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13121           instantiate WPA Enterprise wireless-security-option.
13122         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13123           Implement WPA Enterprise wireless-security-option object.
13124         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13125           defines.  Cleanup.
13126         * libnm-util/cipher-wpa-psk-hex.c,
13127           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13128         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13129           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13130           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13131           including the cipher to DBUS method, and
13132           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13133           to output.
13134         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13135           nm-ap-security-wpa-eap.h
13136         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13137           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13138         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13139           files.  Implement NMAPSecurityWPA_EAP object.
13140         * src/nm-ap-security-wpa-psk.c: Cleanup.
13141         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13142           an NMAPSecurityWPA_EAP object via the method
13143           nm_ap_security_wpa_eap_new_deserialize().
13144         * src/nm-dbus-nm.c: Cleanup.
13145         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13146           WPA Enterprise support.
13147
13148 2006-02-24  Robert Love  <rml@novell.com>
13149
13150         Patch from Timo Hoenig <thoenig@suse.de>:
13151         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13152
13153 2006-02-24  Robert Love  <rml@novell.com>
13154
13155         Patch from Dan Winship <danw@novell.com>:
13156         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13157           area to transparent.
13158
13159 2006-02-21  Dan Williams  <dcbw@redhat.com>
13160
13161         * gnome/applet/applet.[ch]
13162           gnome/applet/applet-dbus.c
13163                 - Implement notification support for VPN messages too
13164
13165 2006-02-21  Dan Williams  <dcbw@redhat.com>
13166
13167         * gnome/applet/applet-dbus-info.c
13168                 - Clean up warning messages to not double-print the function
13169
13170 2006-02-21  Dan Williams  <dcbw@redhat.com>
13171
13172         * gnome/applet/applet-compat.c
13173                 - (convert_one_entry): accept entries without a key_type and
13174                         convert them to unencrypted networks
13175
13176 2006-02-21  Dan Williams  <dcbw@redhat.com>
13177
13178         * gnome/libnm_glib/libnm_glib.c
13179                 - Use __func__ everywhere we can
13180                 - Code cleanups
13181                 - Use dbus pending calls rather than blocking
13182                 - Reduce busywaits for our thread to start and stop
13183                         (gnome.org #330562)
13184                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13185                         stomp on others using the default shared dbus connection.
13186                         Fixes #rh177546# and gnome.org #326572
13187
13188 2006-02-21  Dan Williams  <dcbw@redhat.com>
13189
13190         Patch from Rodney Dawes <dobey@novell.com>
13191         * configure.in
13192           gnome/applet/Makefile.am
13193           gnome/applet/applet.c
13194                 - Add libnotify support if '--enable-notify=yes' is passed
13195                   at configure time
13196
13197 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13198
13199         * configure.in (ALL_LINGUAS): ko added. (Korean)
13200
13201 2006-02-15  Robert Love  <rml@novell.com>
13202
13203         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13204           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13205           and WPA_SUPPLICANT_CONTROL_SOCKET.
13206         
13207 2006-02-15  Robert Love  <rml@novell.com>
13208
13209         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13210           information about what connection stage we are at, provide the total
13211           number of stages, e.g. "Stage 2 of 5", so users know how far along
13212           they are if they experience problems.
13213
13214 2006-02-15  Robert Love  <rml@novell.com>
13215
13216         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13217           define to $sysconfdir.
13218         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13219           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13220           type of VPN and then editing another results in a mangled dialog
13221           box containing the widgets from both VPNs (fixes Novell #150854).
13222           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13223
13224 2006-02-14  Robert Love  <rml@novell.com>
13225
13226         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13227           syslog's file descriptor.
13228
13229 2006-02-14  Robert Love  <rml@novell.com>
13230
13231         Fix bug around since the change to "deal with APs changing settings on
13232         us," checked in on the fifth of February in the year of the dog, 
13233         wherein connecting to non-broadcast encrypted networks always fails
13234         because nm_ap_get_encrypted() always returns FALSE, even when the user
13235         provided a key, because the newly-created fake AP does not have any
13236         capabilities set, which is a sypmtom of security settings not matching
13237         capabilities (Novell bug #150784):
13238         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13239           nm_ap_add_capabilities_from_security(), which sets the given AP's
13240           capabilities off the given security settings.  Also improve our
13241           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13242           NM_AUTH_CIPHER_AUTO.
13243         * src/nm-device-802-11-wireless.c: Call the function
13244           nm_ap_add_capabilities_from_security() to ensure that capabilities
13245           match newly updated security settings.
13246
13247 2006-02-14  Robert Love  <rml@novell.com>
13248
13249         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13250           error as a string, not an integer, if possible; do not print the
13251           function name twice; always give the interface, if possible; misc.
13252           cleanup.
13253
13254 2006-02-12  Dan Williams  <dcbw@redhat.com>
13255
13256         Patch from Tom Parker <palfrey@tevp.net>
13257         * src/NetworkManagerSystem.h
13258                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13259                         no longer used
13260
13261         * src/backends/NetworkManagerDebian.c
13262                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13263                         unused variables
13264
13265 2006-02-12  Dan Williams  <dcbw@redhat.com>
13266
13267         * vpn-daemons/openvpn/intltool-extract.in
13268           vpn-daemons/openvpn/intltool-merge.in
13269           vpn-daemons/openvpn/intltool-update.in
13270           vpn-daemons/pptp/intltool-extract.in
13271           vpn-daemons/pptp/intltool-merge.in
13272           vpn-daemons/pptp/intltool-update.in
13273                 - Remove from CVS, they should get created by intltoolize,
13274                         shouldn't they?
13275
13276 2006-02-12  Dan Williams  <dcbw@redhat.com>
13277
13278         * vpn-daemons/pptp/src/pppd/patchlevel.h
13279         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13280                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13281                         Makefile-defined VERSION
13282
13283 2006-02-09  Dan Williams  <dcbw@redhat.com>
13284
13285         Patch from: Vinay A R <rvinay@novell.com>
13286         * src/vpn-manager/nm-vpn-act-request.[ch]
13287                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13288                         IPSec VPNs require them for std gateway.
13289                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13290                         and 'user_routes_count'
13291                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13292                         defined routes  from NMVPNActRequest object, returns the string
13293                         array of routes.
13294
13295         * src/vpn-manager/nm-vpn-manager.[ch]
13296                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13297                         for 'user_routes' and 'user_routes_count'
13298         
13299         * src/vpn-manager/nm-dbus-vpn.c
13300                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13301                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13302         
13303         * src/vpn-manager/nm-vpn-service.c
13304                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13305                         the vpn daemon
13306
13307         Modifications by Dan:
13308         * src/vpn-manager/nm-vpn-service.c
13309                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13310                         arrays into dbus
13311
13312         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13313         * vpn-daemons/pptp/src/nm-pptp-service.c
13314         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13315                 - Grab user routes from dbus message
13316                 - Free all string arrays we got from dbus
13317
13318 2006-02-07  Robert Love  <rml@novell.com>
13319
13320         Patch by Stefan Seyfried <seife@suse.de>:
13321         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13322
13323 2006-02-06  Robert Love  <rml@novell.com>
13324
13325         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13326
13327 2006-02-06  Robert Love  <rml@novell.com>
13328
13329         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13330           test ">=" is never false.  If no newline is found, we loop forever.
13331           We can just check for ">" because the following if() will see the
13332           zero-th argument if the while() gets that far.
13333
13334 2006-02-05  Dan Williams  <dcbw@redhat.com>
13335
13336         Refine handling of non-broadcast networks.
13337
13338         * src/NetworkManagerAPList.c
13339                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13340                         property from scanned AP to the AP from the device list
13341
13342         * src/nm-device-802-11-wireless.c
13343                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13344                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13345                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13346                         networks since those don't have APs.
13347                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13348                         AP as non-SSID-broadcasting
13349                 - (process_scan_results): don't handle non-SSID-broadcasting here
13350
13351 2006-02-05  Dan Williams  <dcbw@redhat.com>
13352
13353         * src/nm-device-802-11-wireless.c
13354                 - (get_supplicant_timeout): new function; return
13355                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13356                         14 channels.  These are likely a/b/g cards, like Atheros, and
13357                         slow as hell to scan.
13358                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13359                         get_supplicant_timeout()
13360
13361 2006-02-05  Dan Williams  <dcbw@redhat.com>
13362
13363         * src/dhcp-manager/nm-dhcp-manager.c
13364                 - Loose a commit race with Robert; make sure size check
13365                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13366
13367 2006-02-05  Robert Love  <rml@novell.com>
13368
13369         Patch by Christoph Brill <chrisbrill@gmx.net>:
13370         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13371           with DHCP_SERVICE_NAME.
13372
13373 2006-02-05  Dan Williams  <dcbw@redhat.com>
13374
13375         Remove anything having to do with device_setup_func from the
13376         AP security objects, since it's no longer used.
13377
13378         * src/nm-ap-security.h
13379                 - Kill device_setup_func and nm_ap_security_device_setup()
13380
13381         * src/nm-ap-security-wep.c
13382           src/nm-ap-security-wpa-psk.c
13383                 - (real_device_setup): remove
13384
13385         * src/nm-ap-security.c
13386                 - (real_device_setup): remove
13387                 - (nm_ap_security_device_setup): remove
13388
13389         * src/nm-device-802-11-wireless.[ch]
13390                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13391                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13392                         and done by wpa_supplicant now anyway
13393
13394 2006-02-05  Dan Williams  <dcbw@redhat.com>
13395
13396         * src/nm-device-802-11-wireless.c
13397                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13398                         settings on us.  Previously NM would loop asking for the
13399                         key but getting the same one back.  Now, if the NMI-supplied
13400                         cipher doesn't overlap with the scanned AP capabilities,
13401                         we request a completely new key from the user.
13402
13403 2006-02-05  Dan Williams  <dcbw@redhat.com>
13404
13405         * src/NetworkManagerUtils.c
13406                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13407                         Handle newline killing better
13408
13409 2006-02-05  Dan Williams  <dcbw@redhat.com>
13410
13411         * gnome/applet/nm-gconf-wso.c
13412                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13413                         of unencrypted access point security info.
13414
13415 2006-02-03  Robert Love  <rml@novell.com>
13416
13417         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13418           user's encryption key, so we print the err_msg_cmd not the command,
13419           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13420           sense.
13421
13422 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13423
13424         * initscript/RedHat/NetworkManagerDispatcher.in:
13425         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13426         Patch from Dan Walsh <dwalsh@redhat.com>
13427
13428 2006-02-03  Robert Love  <rml@novell.com>
13429
13430         * dispatcher-daemon/NetworkManagerDispatcher.c,
13431           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13432           but use the sysconfdir.
13433
13434 2006-02-03  Robert Love  <rml@novell.com>
13435
13436         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13437           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13438           'char *'.
13439         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13440           nm_ip4_config_get_hostname() and
13441           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13442         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13443           leak g_strdup() result.
13444
13445 2006-02-03  Robert Love  <rml@novell.com>
13446
13447         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13448           broadcast == TRUE.  Also, copy broadcast and artificial properties
13449           from source network to destination in nm_ap_copy().
13450         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13451           since we now default new networks to non-hidden.
13452
13453 2006-02-03  Dan Williams  <dcbw@redhat.com>
13454
13455         * gnome/applet/main.c
13456                 - (main): change the NEVER->ALWAYS so we start at the
13457                         beginning of the session, if being session-managed
13458
13459 2006-02-03  Dan Williams  <dcbw@redhat.com>
13460
13461         * gnome/applet/main.c
13462                 - (main): in a variation on Robert's patch, change
13463                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13464                         he wants.
13465
13466 2006-02-02  Robert Love  <rml@novell.com>
13467
13468         * src/Makefile.am: If we aren't going to create the run directory at,
13469           uh, run-time, create it during install.  Then users just doing
13470           'make install' are cool, too.  While we are here, create the
13471           dispatcher.d directory, too.
13472         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13473           the exact run directory.
13474         * Makefile.am: Install nm-applet.desktop.
13475
13476 2006-02-02  Robert Love  <rml@novell.com>
13477
13478         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13479           structure, which denotes whether or not the AP is hidden.  This is a
13480           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13481           can show up in the scan list.  Add nm_ap_get_broadcast() and
13482           nm_ap_set_broadcast() accessor interfaces.
13483         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13484           nm_ap_set_broadcast().
13485         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13486           "getProperties" method, which denotes whether or not the given
13487           network is hidden.
13488         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13489           an artificial network.  Set broadcast to TRUE when scanning returns
13490           an ESSID and FALSE when not.
13491         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13492           from "getProperties" method on a network.  Possible TODO is to
13493           somehow display this.
13494         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13495
13496 2006-02-02  Dan Williams  <dcbw@redhat.com>
13497
13498         * src/nm-device-802-11-wireless.c
13499                 - (supplicant_interface_init): don't try to create
13500                         /var/run/NetworkManager, since that should be done by
13501                         the distro package.  Causes problems for stuff like SELinux
13502
13503 2006-02-02  Robert Love  <rml@novell.com>
13504
13505         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13506         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13507           Check for and handle empty string for iface.
13508
13509 2006-02-01  Robert Love  <rml@novell.com>
13510
13511         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13512           manpage.
13513
13514 2006-01-31  Dan Williams  <dcbw@redhat.com>
13515
13516         * nm-applet.desktop
13517                 - Add --sm-disable to Exec arguments, presuming that when
13518                         using autostart, we don't want session management
13519
13520 2006-01-31  Robert Love  <rml@novell.com>
13521
13522         * src/NetworkManagerAP.c: Add two new manufacturer default network
13523           names: linksys-a and linksys-g.  These are found (at least) on the
13524           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13525           own ESSID.
13526
13527 2006-01-31  Robert Love  <rml@novell.com>
13528
13529         * src/NetworkManagerAP.c: Optimize the function
13530           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13531           machine code.  This is the first in a series of code tweaks aiming to
13532           generate better machine code and make NetworkManager all the better.
13533           Just kidding.  Who has time to go through the assembly generated for
13534           every function?  I certainly don't.  I have a wife, a kid, a job,
13535           a mortgage, a mistress.  But this function was so bad, I was called
13536           to arms.  Like the book.
13537
13538 2006-01-31  Robert Love  <rml@novell.com>
13539
13540         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13541           AP is not broadcasting, to scan with probe request frames.  Required
13542           for non-broadcast networks.
13543
13544 2006-01-31  Robert Love  <rml@novell.com>
13545
13546         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13547           preprocessor define (still 20s).  Fix message text in nm_info()
13548           s/too too/took too/.
13549
13550 2006-01-30  Dan Williams  <dcbw@redhat.com>
13551
13552         * src/nm-device-802-11-wireless.c
13553                 - (supplicant_monitor_start): increase connect/auth timeout to
13554                         20 seconds from 10 seconds
13555
13556 2006-01-30  Dan Williams  <dcbw@redhat.com>
13557
13558         * src/Makefile.am
13559                 - Define LOCALSTATEDIR
13560
13561         * src/nm-device-802-11-wireless.c
13562                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13563                         socket where we want it to
13564
13565         * src/wpa_ctrl.[ch]
13566                 - (wpa_ctrl_open): accept location to put local control socket
13567
13568 2006-01-30  Robert Love  <rml@novell.com>
13569
13570         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13571           get_ip4_string() for "domain_name".
13572
13573 2006-01-30  Robert Love  <rml@novell.com>
13574
13575         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13576           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13577           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13578           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13579           support for "Automatic" pairwise and group cipher configuration by
13580           letting wpa_supplicant handle the details.  Add UI elements, new
13581           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13582           charm.  Note this does more than add a nice feature, it fixes a bug.
13583           Apparently, some people have AP's where the pairwise cipher does not
13584           match the group cipher.  Insane, but true.
13585
13586 2006-01-30  Dan Williams  <dcbw@redhat.com>
13587
13588         * gnome/applet/applet-dbus-devices.c
13589                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13590                         functions, grab device driver name from NetworkManager
13591                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13592
13593         * gnome/applet/applet.c
13594                 - (nmwa_update_info): show driver name in Connection Information
13595                         dialog
13596
13597         * gnome/applet/nm-device.[ch]
13598                 - (network_device_get_driver, network_device_set_driver): add
13599                         accessors for driver name
13600
13601         * gnome/applet/wireless-applet.glade
13602                 - Add line for driver name to Connection Information dialog
13603
13604         * src/nm-dbus-device.c
13605                 - (nm_dbus_device_get_driver): new function to return driver name
13606                 - (nm_dbus_device_methods): hook up driver name function to dbus
13607
13608         * test/nm-tool.c
13609                 - (get_driver_name): new function
13610                 - (detail_device): grab and show driver name
13611
13612 2006-01-30  Robert Love  <rml@novell.com>
13613
13614         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13615           does not parse the markup if it is not part of the format.
13616
13617 2006-01-30  Robert Love  <rml@novell.com>
13618
13619         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13620           FALSE, we have no security options for this dialog, so we throw up
13621           an error dialog instead of a broken passphrase dialog.  Fixes
13622           Novell #138404.
13623         * gnome/applet/wireless-security-manager.c,
13624           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13625           does not add any security options, not even NONE, print a warning
13626           and return FALSE.  This let's functions constructing a dialog bail
13627           out if the device's capabilities and the network's requirements have
13628           zero overlap.
13629
13630 2006-01-27  Robert Love  <rml@novell.com>
13631
13632         * configure.in: Require wpa_supplicant.  Detect location of binary and
13633           use it.  Override with "--with-wpa_supplicant=foo".
13634         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13635           path to wpa_supplicant but use the auto-detected or user-provided
13636           value from configure.
13637
13638 2006-01-27  Robert Love  <rml@novell.com>
13639
13640         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13641           but the DHCP server did not return a hostname, try to look up our
13642           name via DNS and set the system hostname to that.
13643
13644 2006-01-27  Dan Williams  <dcbw@redhat.com>
13645
13646         * src/backends/NetworkManagerRedHat.c
13647                 - Add NM_CONTROLLED system network script support for RH/Fedora
13648
13649 2006-01-27  Dan Williams  <dcbw@redhat.com>
13650
13651         * src/backends/NetworkManagerGentoo.c
13652                 - (nm_system_device_get_disabled): add missing function.
13653                         Gnome BZ #328780
13654
13655 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13656
13657         * configure.in: Added vi in ALL_LINGUAS line.
13658         
13659 2006-01-26  Robert Love  <rml@novell.com>
13660
13661         * src/Makefile.am, src/kernel-types.h: Now that two different source
13662           files are feeling the crack-addled leakage of kernel types such as
13663           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13664           types in user-space -- define a header and include it as needed.
13665         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13666         * src/nm-device-802-3-ethernet.h: Remove defines.
13667         * src/wpa.c: Remove defines and include kernel-types.h.
13668
13669 2006-01-26  Robert Love  <rml@novell.com>
13670
13671         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13672           work.
13673
13674 2006-01-26  Robert Love  <rml@novell.com>
13675
13676         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13677         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13678           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13679           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13680           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13681           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13682           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13683           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13684           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13685           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13686           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13687           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13688           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13689           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13690           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13691           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13692           Kill unused variables, labels, and static functions.  Don't pass
13693           string literals as the format string for printf-like functions.
13694
13695 2006-01-25  Dan Williams  <dcbw@redhat.com>
13696
13697         * gnome/applet/wireless-applet.glade
13698                 - Remove WPA2 Checkbox
13699
13700         * gnome/applet/wireless-security-manager.c
13701                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13702                         This means the Wireless Security menu now has two WPA options,
13703                         one for "WPA Personal" and one for "WPA2 Personal"
13704
13705         * gnome/applet/wso-wpa-psk.[ch]
13706                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13707                         'wpa2' argument to determine WPA version to use
13708                 - (append_dbus_params_func): pass stored WPA version to cipher
13709                         rather than using the (removed) checkbox
13710
13711 2006-01-24  Robert Love  <rml@novell.com>
13712
13713         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13714           before we g_strdup(), not the ultimate string.
13715
13716 2006-01-23  Dan Williams  <dcbw@redhat.com>
13717
13718         * src/NetworkManagerAP.[ch]
13719                 - (nm_ap_new_from_ap): copy original essid too
13720                 - (nm_ap_unref): free original essid
13721                 - (nm_ap_get_orig_essid): new function
13722                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13723                         but keep original essid around too
13724
13725         * src/nm-device-802-11-wireless.c
13726                 - (supplicant_send_network_config): send wpa_supplicant the
13727                         _original_ essid, and not as a string, but in hex.  Should
13728                         allow us to connect to more APs that use wierd character
13729                         encodings for their essids
13730
13731         * utils/nm-utils.[ch]
13732                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13733                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13734                         use the current locale as a hint for what encoding the essid
13735                         might be in.  Obviously not 100% accurate, but the idea here is
13736                         that if a user's locale is ex. ja_JP, they are more likely than
13737                         not to be in Japan, where access points will likely be in some
13738                         Japanese encoding.
13739
13740 2006-01-23  Dan Williams  <dcbw@redhat.com>
13741
13742         * libnm-util/cipher-private.h
13743           libnm-util/cipher.c
13744           libnm-util/cipher.h
13745                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13746
13747 2006-01-23  Robert Love  <rml@novell.com>
13748
13749         Patch by Timo Hoenig <thoenig@suse.de>:
13750         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13751           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13752           by DHCP and pass it to the backends, allowing distribution-specific
13753           behavior with respect to the DHCP-supplied hostname (if nothing else,
13754           some distributions might not want to set the hostname).
13755         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13756           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13757           Also update our NIS behavior.
13758         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13759           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13760           Add stub functions.
13761
13762 2006-01-23  Robert Love  <rml@novell.com>
13763
13764         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13765           gnome-session does autostart.  TODO: We need to install this to
13766           $prefix/share/autostart/.
13767
13768 2006-01-22  Dan Williams  <dcbw@redhat.com>
13769
13770         * src/NetworkManagerAP.[ch]
13771           src/nm-dbus-nmi.c
13772           src/nm-device-802-11-wireless.c         
13773                 - Make nm_ap_get_essid return "const char *"
13774
13775 2006-01-22  Dan Williams  <dcbw@redhat.com>
13776
13777         * src/NetworkManagerAP.[ch]
13778                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13779
13780         * src/NetworkManagerAPList.[ch]
13781                 - (nm_ap_list_diff): removed
13782                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13783                         deal with access points changing essids on us
13784
13785         * src/nm-device-802-11-wireless.c
13786                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13787                         src/NetworkManagerAPList.c
13788                 - (real_can_interrupt_activation): new function; allow interruption
13789                         of device activation if we are waiting for a network key
13790
13791         * src/NetworkManagerPolicy.c
13792                 - (nm_policy_device_change_check): allow interruption of currently
13793                         activating devices if the device allows it.  Previous behavior
13794                         would refuse to activate a just-plugged wired device if a
13795                         wireless device was waiting for a key.
13796
13797         * src/nm-device.[ch]
13798                 - (nm_device_can_interrupt_activation): new function; ask devices
13799                         whether their activation can be interrupted
13800
13801 2006-01-20  Robert Love  <rml@novell.com>
13802
13803         * Makefile.am, configure.in: Add new man subdirectory.
13804         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13805           man/Makefile.am: Add man pages for NetworkManager and its
13806           crime-solving bumbling buddy, NetworkManagerDispatcher.
13807         * man/.cvsignore: Add.
13808         * initscript/Debian/NetworkManager,
13809           initscript/Gentoo/NetworkManager.in,
13810           initscript/RedHat/NetworkManager.in,
13811           initscript/RedHat/NetworkManagerDispatcher.in,
13812           initscript/SUSE/networkmanager-dispatcher.in,
13813           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13814
13815 2006-01-20  Robert Love  <rml@novell.com>
13816
13817         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13818           instead of queuing.  This prevents the running of multiple NM
13819           daemons concurrently, which does not work whatsoever and results in
13820           neither daemon working correctly.  Also, we don't handle queuing and
13821           name-owner-changes, anyhow.
13822
13823 2006-01-20  Robert Love  <rml@novell.com>
13824
13825         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13826         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13827           to sbin, not bin.
13828
13829 2006-01-19  Robert Love  <rml@novell.com>
13830
13831         * configure.in: Require hal 0.5.0 or later.
13832
13833 2006-01-18  Robert Love  <rml@novell.com>
13834
13835         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13836           Allow backends to flag a device (in whatever distro-dependent way
13837           they so desire) as disabled.  NM will ignore any such device.
13838         * src/backends/NetworkManagerDebian.c,
13839           src/backends/NetworkManagerRedHat.c,
13840           src/backends/NetworkManagerSlackware.c: Add stub function
13841           nm_system_device_get_disabled() that always returns FALSE (enabled).
13842         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13843           SUSE-specific configuration structure.  Fill it in from the
13844           NM_CONTROLLED variable in the system networking scripts.  If this var
13845           exists and is "no", we ignore the device.
13846
13847 2006-01-17  Robert Love  <rml@novell.com>
13848
13849         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13850           identical for NM.  For a full discussion, see the thread at
13851           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13852
13853 2006-01-17  Dan Williams  <dcbw@redhat.com>
13854
13855         * src/nm-device.c
13856                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13857                         function.  Fixes crash when wired DHCP fails.
13858
13859 2006-01-16  Robert Love  <rml@novell.com>
13860
13861         * src/Makefile.am: Don't install NMLoadModules
13862         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13863           from src/ to test/ as no one uses it anymore.  Note that I would be
13864           fine with removing it altogether.
13865
13866 2006-01-16  Robert Love  <rml@novell.com>
13867
13868         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13869           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13870           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13871           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13872           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13873           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13874           declarations, ever.
13875         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13876           NM_STATE_DISCONNECTED is zero).
13877
13878 2006-01-16  Robert Love  <rml@novell.com>
13879
13880         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13881           uninitialized parameter and buffer overflow.  Novell #143496.
13882
13883 2006-01-16  Dan Williams  <dcbw@redhat.com>
13884
13885         Apply the PtP Address bits of a patch from Tim Niemueller
13886
13887         * src/nm-ip4-config.[ch]
13888                 - Add ip4_ptp_address member to object
13889                 - (nm_ip4_config_copy): copy ptp address too
13890                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13891                         new functions
13892                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13893                         rather than local tunnel ip address
13894
13895         * src/vpn-manager/nm-vpn-service.c
13896                 - (print_vpn_config): update for PtP address
13897                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13898                         DBusMessageIters in preparation for getting routes from the VPN
13899                         service daemons too
13900
13901         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13902                 - (send_config_info): update for PtP address, clean up code
13903                 - (main): update for PtP address, clean up code, fix typo
13904
13905         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13906                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13907
13908         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13909                 - (pptp_ip_up): update for PtP address
13910
13911         * vpn-daemons/pptp/src/nm-pptp-service.c
13912                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13913
13914         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13915                 - (print_vpn_config): update for PtP address
13916                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13917
13918 2006-01-16  Dan Williams  <dcbw@redhat.com>
13919
13920         * gnome/applet/applet.c
13921                 - (nmwa_add_networks_helper): don't indicate an active network
13922                         if NM is disconnected or asleep
13923
13924 2006-01-16  Dan Williams  <dcbw@redhat.com>
13925
13926         * src/NetworkManagerPolicy.c
13927                 - (nm_policy_device_change_check): switch devices if we lose the link
13928                         on an ethernet device. 
13929
13930 2006-01-16  Dan Williams  <dcbw@redhat.com>
13931
13932         * gnome/applet/wso-wpa-psk-hex.[ch]
13933                 - Renamed -> wso-wpa-psk.[ch]
13934
13935         * gnome/applet/wso-wpa-psk.[ch]
13936                 - New files
13937
13938         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13939                 - Removed, rolled into wso-wpa-psk.[ch]
13940
13941         * gnome/applet/Makefile.am
13942                 - Updated for above changes
13943
13944         * gnome/applet/wireless-applet.glade
13945                 - Consolidate WPA-PSK options into one notebook
13946                         widget, and make dialogs invisible by default
13947                         to fix screen oddities
13948
13949         * gnome/applet/wireless-security-manager.c
13950                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13951                         than both the old hex & passphrase ones
13952
13953 2006-01-16  Dan Williams  <dcbw@redhat.com>
13954
13955         * gnome/applet/other-network-dialog.c
13956                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13957
13958 2006-01-16  Dan Williams  <dcbw@redhat.com>
13959
13960         * gnome/applet/applet.c
13961                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13962                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13963                         prevention to realize window before trying to get server
13964                         time
13965
13966         * gnome/applet/other-network-dialog.c
13967                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13968                         prevention to realize window before trying to get server
13969                         time
13970
13971         * gnome/applet/passphrase-dialog.c
13972                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13973                         prevention to realize window before trying to get server
13974                         time
13975
13976 2006-01-16  Robert Love  <rml@novell.com>
13977
13978         Patch from Timo Hoenig  <thoenig@suse.de:
13979         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13980           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13981           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13982           libnm-util/dbus-helpers.h: add checks whether headers are used
13983           within a C++ build.
13984
13985 2006-01-16  Dan Williams  <dcbw@redhat.com>
13986
13987         * gnome/applet/wireless-security-option.c
13988                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13989
13990 2006-01-16  Dan Williams  <dcbw@redhat.com>
13991
13992         * libnm-util/cipher-wpa-psk-passphrase.c
13993                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13994                         be 8 - 63 characters inclusive
13995
13996 2006-01-16  Dan Williams  <dcbw@redhat.com>
13997
13998         * src/nm-dbus-nm.c
13999                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14000
14001 2006-01-13  Robert Love  <rml@novell.com>
14002
14003         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14004         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14005           modules that do not use an interface.
14006
14007 2006-01-13  Dan Williams  <dcbw@redhat.com>
14008
14009         * src/nm-device.c
14010           src/nm-device.h
14011                 - Allow subclasses to implement deactivate_quickly()
14012                 - (nm_device_deactivate_quickly): call subclass
14013                         deactivate_quickly() methods
14014                 - (nm_device_set_active_link): small cleanups, and don't
14015                         deactivate the device right away because we risk a deadlock
14016                         when called from device thread, waiting for the device
14017                         thread to cancel activation
14018
14019         * src/nm-device-802-11-wireless.c
14020                 - (real_deactivate_quickly): new function
14021                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14022                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14023                         so that we kill the supplicant when we sleep too
14024                 - (supplicant_interface_init): work around naive naming attempts of
14025                         wpa_ctrl when naming sockets
14026
14027 2006-01-13  Dan Williams  <dcbw@redhat.com>
14028
14029         * src/nm-device-802-11-wireless.c
14030                 - (supplicant_cleanup): delete old device control sockets too
14031                 - (supplicant_get_device_socket_path): new function to consolidate
14032                         locations that need a path to a device's control socket
14033
14034 2006-01-12  Robert Love  <rml@novell.com>
14035
14036         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14037           description so that the description is unique for each
14038           pair (device,provider).  Fixes Novell #142773.
14039
14040 2006-01-12  Dan Williams  <dcbw@redhat.com>
14041
14042         * src/nm-device-802-11-wireless.c
14043                 - (supplicant_exec): ensure GError is correctly initialized
14044                         Reported by Diego González (gnome.org #326708)
14045
14046 2006-01-11  Robert Love  <rml@novell.com>
14047
14048         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14049           define if_mii(), open code the same results, and do so without any
14050           type punning.
14051
14052 2006-01-11  Robert Love  <rml@novell.com>
14053
14054         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14055           that wso_foo_new() returned non-NULL.  Instead, only append the new
14056           wso to wsm->options if the wso is non-NULL.  The crux is that we
14057           assume that the relevant key types are implied by WEP and WPA as
14058           appropriate.  To be sure, they should be, but we should not expect
14059           drivers to not be oozing piles of wolf fecal matter.
14060
14061 2006-01-11  Robert Love  <rml@novell.com>
14062
14063         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14064         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14065           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14066           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14067           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14068           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14069           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14070         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14071           comparing values within DBL_EPSILON.  Also fix shadowed variable
14072           usage.
14073
14074 2006-01-11  Dan Williams  <dcbw@redhat.com>
14075
14076         Add options for WPA2 and WPA1+CCMP (AES).
14077
14078         * gnome/applet/wireless-applet.glade
14079                 - Add UI bits for WPA+CCMP
14080
14081         * gnome/applet/other-network-dialog.c
14082                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14083                         and don't allow creation of WPA2 Ad-Hoc networks since
14084                         wpa_supplicant doesn't support them
14085
14086         * gnome/applet/wireless-security-manager.c
14087                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14088                         on to the specific wireless security option being created
14089
14090         * gnome/applet/wireless-security-option.[ch]
14091                 - (wso_wpa_create_key_type_model): new utility function to create
14092                         the model required for WPA Key Type combo box
14093
14094         * gnome/applet/wso-private.h
14095           gnome/applet/wireless-security-option.h
14096                 - Move private function prototypes into wso-private.h
14097
14098         * gnome/applet/wso-wpa-psk-hex.[ch]
14099           gnome/applet/wso-wpa-psk-passphrase.[ch]
14100                 - (append_dbus_params_func): get WPA version from checkbox and pass
14101                         it to the dbus serialization helper
14102                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14103                         key type combo changes
14104                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14105                         model and options
14106
14107         * libnm-util/cipher-wpa-psk-hex.c
14108           libnm-util/cipher-wpa-psk-passphrase.c
14109                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14110                         new function; allow the cipher to be changed after object creation
14111
14112         * src/nm-ap-security-wpa-psk.c
14113                 - (set_description): Do WPA2 descriptions too
14114
14115         * src/nm-ap-security.c
14116                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14117
14118 2006-01-11  Robert Love  <rml@novell.com>
14119
14120         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14121           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14122           from the ifreq structure in lieu of an open coded solution.  Removes
14123           a life-threatening type-punning.
14124         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14125           types, ever, whatsoever, baby.
14126
14127 2006-01-11  Robert Love  <rml@novell.com>
14128
14129         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14130           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14131           assignments to applet->nm_state into a new nmwa_set_state() function
14132           for both cleanliness and to help debugging.
14133
14134 2006-01-10  Robert Love  <rml@novell.com>
14135
14136         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14137           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14138           seconds, exclusive.  That is, we want to sleep x seconds such that
14139           1 < x < 2.
14140
14141 2006-01-10  Robert Love  <rml@novell.com>
14142
14143         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14144           the attr fields according to the example in the email available at
14145           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14146           Conversely, we do have to free 'name', so we do so, fixing a leak.
14147
14148 2006-01-10  Robert Love  <rml@novell.com>
14149
14150         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14151           sure that we close the socket!
14152
14153 2006-01-10  Robert Love  <rml@novell.com>
14154
14155         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14156           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14157           src/nm-device.c: Fix a FIXME!  Reimplement the function
14158           nm_device_update_hw_address() in device subclass variants,
14159           nm_device_802_3_ethernet_set_address() and
14160           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14161           This fixes the existing bug where MAC addresses are all zeros.
14162
14163 2006-01-10  Robert Love  <rml@novell.com>
14164
14165         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14166           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14167           option to give users ability to globally disconnect and put NM to
14168           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14169           clean disconnect.
14170
14171 2006-01-09  Robert Love  <rml@novell.com>
14172
14173         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14174           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14175           User-space does not supply these types, so we have to define them
14176           ourselves.  The relevant kernel maintainer refused to accept a patch
14177           switching these headers to the proper C99 types.
14178
14179 2006-01-09  Dan Williams  <dcbw@redhat.com>
14180
14181         Apply Robert's 'tray icon redo' patch with fixes
14182         * gnome/applet/applet.c
14183           gnome/applet/applet.h
14184                 - Instead of using a menu bar + menu item, simulate menu
14185                         behavior using a popup menu.  Highlight the area around
14186                         the icon more like a menu too, by playing with the
14187                         applet's size requisition
14188
14189 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14190         * libnm-util/dbus-helpers.c
14191           libnm-util/dbus-helpers.h
14192                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14193                         to 'exception_namespace' (:namespace is a keyword in
14194                         C++)
14195
14196 2006-01-09  Dan Williams  <dcbw@redhat.com>
14197
14198         * src/NetworkManagerPolicy.c
14199                 - (nm_policy_device_change_check): don't autoswitch away from
14200                         Ad-Hoc networks, since there's really no concept of
14201                         "link"
14202
14203         * src/nm-dbus-nm.c
14204                 - (nm_dbus_nm_create_wireless_network): mark created networks
14205                         as Ad-Hoc networks
14206
14207         * src/nm-device-802-11-wireless.c
14208                 - (real_activation_success_handler): add user-created Ad-Hoc
14209                         networks to the device's scan list
14210
14211 2006-01-08  Dan Williams  <dcbw@redhat.com>
14212
14213         We now require a patch for wpa_supplicant to support Ad-Hoc
14214         networks:
14215           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14216
14217         * src/nm-device-802-11-wireless.c
14218                 - (supplicant_send_network_config): turn off wpa_supplicant's
14219                         scanning.  Fixes Ad-Hoc networks.
14220
14221 2006-01-08  Dan Williams  <dcbw@redhat.com>
14222
14223         * src/nm-ap-security.c
14224           src/nm-ap-security.h
14225                 - Add a user_created argument to the write_supplicant_config
14226                         functions
14227
14228         * src/nm-ap-security-wep.c
14229           src/nm-ap-security-wpa-psk.c
14230           src/nm-device-802-11-wireless.c
14231                 - Make Ad-Hoc mode somewhat work, at least write the
14232                         correct options to wpa_supplicant
14233
14234 2006-01-08  Dan Williams  <dcbw@redhat.com>
14235
14236         * src/nm-device-802-11-wireless.c
14237                 - Remove unused code from the old device activation path
14238
14239 2006-01-08  Dan Williams  <dcbw@redhat.com>
14240
14241         * libnm-util/dbus-helpers.c
14242                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14243                         dbus when key == NULL
14244
14245 2006-01-08  Dan Williams  <dcbw@redhat.com>
14246
14247         * gnome/applet/nm-gconf-wso-wpa-psk.c
14248                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14249                         correct arguments to nmu_security_deserialize_wpa_psk()
14250
14251         * src/nm-ap-security-wpa-psk.c
14252                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14253                         arguments to nmu_security_deserialize_wpa_psk()
14254
14255 2006-01-08  Dan Williams  <dcbw@redhat.com>
14256
14257         * gnome/applet/wso-wpa-psk-hex.c
14258           gnome/applet/wso-wpa-psk-passphrase.c
14259                 - Hook up the append_dbus_params_func() function
14260
14261 2006-01-08  Dan Williams  <dcbw@redhat.com>
14262
14263         * src/nm-device-802-11-wireless.c
14264                 - (get_wireless_capabilities): correctly detect driver WPA
14265                         capabilities
14266
14267 2006-01-08  Dan Williams  <dcbw@redhat.com>
14268
14269         * gnome/applet/Makefile.am
14270           gnome/applet/wso-wpa-psk-hex.c
14271           gnome/applet/wso-wpa-psk-hex.h
14272                 - New files, implement WPA-PSK Hex key input
14273
14274         * gnome/applet/wireless-applet.glade
14275                 - Change existing wpa-psk stuff to wpa-psk-hex
14276                 - Add new widgets for wpa-psk-passphrase
14277
14278         * gnome/applet/wireless-security-manager.c
14279                 - (wsm_set_capabilities): enable WPA options
14280
14281         * gnome/applet/wso-wpa-psk-passphrase.c
14282                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14283                         for WPA-PSK passphrase
14284
14285 2006-01-08  Dan Williams  <dcbw@redhat.com>
14286
14287         * include/NetworkManager.h
14288                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14289                         applet/info-daemons
14290
14291         * gnome/applet/passphrase-dialog.c
14292                 - Use the constant.  Fixes a bug where the arguments to
14293                         dbus_message_new_error() were incorrect
14294
14295         * src/nm-dbus-nmi.c
14296                 - Use the constant
14297
14298 2006-01-07  Dan Williams  <dcbw@redhat.com>
14299
14300         * src/nm-device-802-11-wireless.c
14301                 - Add a link timeout so we allow the supplicant time to
14302                         reassociate if it can, before we deactivate the card
14303                 - Fix up link status and link updating so things work better
14304
14305 2006-01-07  Dan Williams  <dcbw@redhat.com>
14306
14307         * src/nm-device-802-11-wireless.c
14308                 - Switch over to using wpa_supplicant
14309                 - Add a timeout of 10s for association of the supplicant
14310                 - Start the monitor callback of the supplicant
14311
14312 2006-01-07  Dan Williams  <dcbw@redhat.com>
14313
14314         * src/NetworkManagerUtils.c
14315                 - (nm_utils_supplicant_request,
14316                   nm_utils_supplicant_request_with_check):
14317                         pass correct buffer length to wpa_ctrl_request()
14318
14319 2006-01-07  Dan Williams  <dcbw@redhat.com>
14320
14321         * src/nm-device-private.h
14322           src/nm-device.c
14323                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14324                         this function available to subclasses
14325
14326 2006-01-06  Robert Love  <rml@novell.com>
14327
14328         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14329           user plugging in a network cable signals their preference for to
14330           switch, unless the user explicitly selected a wireless network and
14331           therefore signaled their preference for said wireless network over
14332           wired.  In other words, do exactly what makes sense.
14333
14334 2006-01-06  Robert Love  <rml@novell.com>
14335
14336         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14337           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14338           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14339           showing up in my greps.
14340
14341 2006-01-06  Robert Love  <rml@novell.com>
14342
14343         * gnome/applet/applet-dbus-devices.c,
14344           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14345           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14346           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14347           New Network' both failed in the non-encrypted case because we were
14348           not appending the security options to the DBUS message.  And
14349           'Connect to Other' was also failing in the encrypted case because
14350           we were not incrementing to the next DBUS parameter.  All fixed.
14351           Thanks to dcdw for some debugging help.
14352
14353 2006-01-06  Robert Love  <rml@novell.com>
14354
14355         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14356           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14357           hangup code and add per-device hangup.  Tie last commit into the
14358           GNOME applet.  TODO:  Save, understand, and respond to the state of
14359           each dialup device.
14360
14361 2006-01-06  Robert Love  <rml@novell.com>
14362
14363         Patch by Timo Hoenig <thoenig@suse.de>:
14364         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14365           hangup specific dialup devices.
14366         * src/backends/NetworkManagerDebian.c,
14367           src/backends/NetworkManagerGentoo.c,
14368           src/backends/NetworkManagerRedHat.c,
14369           src/backends/NetworkManagerSlackware.c: Add stub backend.
14370         * src/backends/NetworkManagerRedHat.c,
14371           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14372           hangup specific dialup devices.
14373
14374 2006-01-04  Robert Love  <rml@novell.com>
14375
14376         * gnome/applet/applet-dbus-devices.c,
14377           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14378           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14379           connections.
14380
14381 2006-01-04  Dan Williams  <dcbw@redhat.com>
14382
14383         First dump of wpa_supplicant-related code.  It's not hooked up to
14384         anything yet though.  Thanks to Kay Sievers for
14385         wpa_supplicant_wrapper.c, which formed the basis for this work,
14386         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14387
14388         * src/Makefile.am
14389           src/wpa_ctrl.[ch]
14390                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14391
14392         * src/NetworkManagerUtils.[ch]
14393                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14394                         Add convenience functions for talking to wpa_supplicant
14395
14396         * src/nm-ap-security.[ch]
14397           src/nm-ap-security-wep.c
14398           src/nm-ap-security-wpa-psk.[ch]
14399                 - Update and implement real_write_supplicant_config functions
14400                         in all security types
14401                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14402                         nm-ap-security-wpa-psk.c
14403
14404         * src/nm-device-802-11-wireless.c
14405                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14406                    wpa_supplicant_start, wpa_supplicant_interface_init,
14407                    wpa_supplicant_send_network_config): add functions to talk to
14408                         wpa_supplicant and write network config to it
14409
14410 2006-01-04  Robert Love  <rml@novell.com>
14411
14412         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14413           values so that distribution-backends can differentiate between the
14414           various types (modem, ISDN, et cetera) of dialup device that they
14415           support.
14416         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14417           needed.
14418
14419 2006-01-03  Dan Williams  <dcbw@redhat.com>
14420
14421         * src/NetworkManagerPolicy.c
14422           src/nm-device.[ch]
14423           src/nm-device-802-11-wireless.c
14424                 - Move wireless-specific activation failure and success code
14425                         into wireless device class
14426
14427 2006-01-03  Robert Love  <rml@novell.com>
14428
14429         Patch by Preggna S:
14430         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14431           IPsec does not require that a VPN client be bound to an interface,
14432           due to the use of the in-kernel IPSec bits.  So make the tunnel
14433           device optional.
14434
14435 2006-01-03  Dan Williams  <dcbw@redhat.com>
14436
14437         * src/NetworkManagerAP.c
14438                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14439                         the WPA IE specifies that WEP is supported
14440
14441         * src/nm-device-802-11-wireless.c
14442                 - (process_scan_results): don't mark an AP as supporting WEP
14443                         if there's already other encryption capability info
14444
14445 2006-01-03  Dan Williams  <dcbw@redhat.com>
14446
14447         * src/dhcp-manager/nm-dhcp-manager.c
14448                 - Recognize activation cancellation when waiting for DHCP
14449                         configuration from dhcdbd
14450                 - Ignore non-dhcdbd messages
14451
14452         * src/nm-device.c
14453                 - (real_act_stage3_ip_config_start): return to correct behavior
14454                         of letting the dhcp-manager notify us of failure or
14455                         success rather than incorrectly doing that ourselves
14456                 - (nm_device_activate_stage4_ip_config_get): deal with
14457                         activation cancellation a bit earlier
14458
14459 2006-01-03  Dan Williams  <dcbw@redhat.com>
14460
14461         * src/nm-device-802-11-wireless.c
14462           src/nm-device.[ch]
14463                 - Add hooks to subclasses for stage3_ip_config_start and
14464                         stage4_ip_config_timeout
14465
14466         * src/nm-device-802-3-ethernet.c
14467                 - (real_get_generic_capabilities): make devices NM-supported
14468                         by default
14469
14470 2006-01-03  Robert Love  <rml@novell.com>
14471
14472         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14473           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14474           latter cannot differentiate between error and the address -1; misc.
14475           clean up.
14476
14477 2006-01-03  Dan Williams  <dcbw@redhat.com>
14478
14479         * src/NetworkManager.c
14480                 - Move link-checking/probing into the device subclasses
14481                         themselves
14482
14483         * src/nm-device.[ch]
14484           src/nm-device-802-11-wireless.c
14485           src/nm-device-802-3-ethernet.c
14486                 - Do periodic link checking in device subclasses rather
14487                         than being triggered from NetworkManager.c
14488                 - discover_wireless_capabilities -> get_wireless_capabilities
14489                 - discover_generic_capabilities -> get_generic_capabilities
14490                 - Device subclass activation routines now return a value of type
14491                         NMActStageReturn to indicate what step to perform next
14492                 - Devices now override stage4_get_ip4_config if they choose
14493
14494 2006-01-01  Dan Williams  <dcbw@redhat.com>
14495
14496         * src/nm-device-802-11-wireless.c
14497                 - (real_init): don't chain up to parent init because we don't
14498                         need to do that anymore
14499
14500         * src/nm-device.c
14501                 - (discover_device_type): fix arguments to ioctl() to correctly
14502                         pass interface name
14503                 - (nm_device_new): consolidate generic device initialization into
14504                         nm_device_new()
14505                 - (real_init): remove, consolidated to nm_device_new()
14506                 - (nm_device_deactivate, real_deactivate): consolidate
14507
14508 2006-01-01  Dan Williams  <dcbw@redhat.com>
14509
14510         * src/nm-activation-request.c
14511                 - Change dhcp_state member of the NMActRequest structure
14512                         from guint8 to guint32
14513
14514         * src/dhcp-manager/nm-dhcp-manager.[ch]
14515                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14516                         than guint8 to match the dbus argument.  Turns out we were
14517                         overwriting memory since we were passing in only a guint8
14518
14519 2005-12-31  Dan Williams  <dcbw@redhat.com>
14520
14521         * refactor NMDevice into a GObject-based framework with separate
14522                 objects for wired and wireless.  The following files are no
14523                 longer used but should stick around for a bit so we don't
14524                 loose code through the cracks:
14525                         NetworkManagerDevice.c
14526                         NetworkManagerDevice.h
14527                         NetworkManagerWireless.c
14528                         NetworkManagerWireless.h
14529
14530         The intent here is to allow each device type to manage its own
14531         connection & activation life-cycle, ie to allow wireless devices
14532         to interface with wpa_supplicant, etc.  There's a fair bit of
14533         encapsulation breakage right now that should gradually get pulled
14534         back into each device, along with things like periodic property
14535         updates and link probing.
14536
14537 2005-12-29  Dan Williams  <dcbw@redhat.com>
14538
14539         * include/NetworkManager.h
14540                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14541                         between networks that don't have any encryption at all
14542
14543 2005-12-29  Dan Williams  <dcbw@redhat.com>
14544
14545         * test/test-common.c
14546           test/test-common.h
14547           test/Makefile.am
14548                 - Move to a test-common subdirectory
14549
14550         * test/libnm-util/test-ciphers.c
14551                 - Move test data to test-inputs.h
14552                 - Test WPA ciphers too
14553
14554         * test/libnm-util/test-dbus-helpers.c
14555                 - Test serialization/deserialization of ciphers
14556
14557 2005-12-29  Dan Williams  <dcbw@redhat.com>
14558
14559         * gnome/applet/applet-dbus-devices.c
14560                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14561                         in dbus calls to NM
14562                 - Set capabilities on WirelessNetwork objects
14563                 - Receive and save type-specific device capabilities too
14564
14565         * gnome/applet/applet-dbus-info.c
14566           gnome/applet/applet-dbus.c
14567                 - Passphrase dialog no longer a singleton; new instance gets created
14568                         on each request.  Updates to deal with that.
14569
14570         * gnome/applet/applet.c
14571                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14572                         than single 'encrypted' flag
14573                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14574                         menu items
14575                 - Passphrase dialog updates per above
14576
14577         * gnome/applet/menu-items.c
14578                 - (network_menu_item_update): use AP capabilities to determine
14579                         encryption
14580
14581         * gnome/applet/nm-device.[ch]
14582                 - Add accessors for type-specific device capabilities
14583
14584         * gnome/applet/other-network-dialog.c
14585                 - Rework to respect device capabilities.  i.e., if the device doesn't
14586                         support WPA, remove that option from the security dropdown
14587
14588         * gnome/applet/passphrase-dialog.c
14589                 - Massive rework so that a new instance is created each time
14590                         it's used, to support wireless network capabilities
14591
14592         * gnome/applet/wireless-network.[ch]
14593                 - Add accessors and members for wireless network capabilities
14594
14595         * gnome/applet/wireless-security-manager.[ch]
14596                 - (wsm_set_capabilities): called after creation to set which
14597                         security options get shown to the user
14598
14599 2005-12-29  Dan Williams  <dcbw@redhat.com>
14600
14601         * libnm-util/cipher-wpa-psk-passphrase.c
14602                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14603                         like other ciphers
14604
14605 2005-12-23  Dan Williams  <dcbw@redhat.com>
14606
14607         * gnome/applet/applet-dbus-info.c
14608                 - (nmi_dbus_get_key_for_network): if there's no entry in
14609                         GConf for a network, assume we want a new key
14610                 - (nmi_save_network_info): serialize wireless security info
14611                         into GConf so its saved
14612
14613         * src/nm-dbus-nm.c
14614                 - Fix warning as we may not be passed security info when
14615                         connecting to a wireless network
14616
14617 2005-12-23  Dan Williams  <dcbw@redhat.com>
14618
14619         * gnome/applet/applet-compat.c
14620                 - Fix bugs in GConf entry conversion
14621
14622         * gnome/applet/applet-dbus-info.c
14623                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14624                         list being zero-length
14625
14626         * libnm-util/cipher-*
14627           libnm-util/dbus-helpers.c
14628                 - All ciphers must now return hashed keys as UTF-8 valid
14629                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14630                         through dbus as strings too.
14631                 - Consolidate various functions that do bin->hex and hex->bin
14632                         conversion into cipher.c
14633
14634         * src/nm-ap-security-wep.c
14635           src/nm-ap-security-wpa-psk.c
14636                 - Handle NULL keys since we may not know keys right away
14637
14638         * src/nm-dbus-nmi.c
14639                 - (nm_dbus_get_network_data_cb): actually advance to the start
14640                         of the wireless security info before we try to deserialize it
14641
14642         * libnm-util/test-ciphers.c
14643                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14644
14645 2005-12-22  Dan Williams  <dcbw@redhat.com>
14646
14647         * gnome/applet/applet-compat.[ch]
14648                 - Convert old-format GConf and keyring entries
14649                         when the applet starts up.
14650
14651         * gnome/applet/applet.c
14652                 - (nmwa_get_instance): Call the conversion function
14653                         on startup before dbus is initialized
14654
14655 2005-12-22  Dan Williams  <dcbw@redhat.com>
14656
14657         * gnome/applet/applet-dbus-info.c
14658                 - Remove nmi_dbus_create_error_message() in favor of
14659                         nmu_create_dbus_error_message()
14660                 - (nmi_dbus_get_network_properties): Error message cleanups
14661                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14662                         gconf key rather than 'addresses', since they really are BSSIDs
14663                 - (nmi_dbus_get_network_properties): Dispose of the security
14664                         object when we're done with it
14665
14666 2005-12-21  Dan Williams  <dcbw@redhat.com>
14667
14668         * Consolidate the info-daemon's "updateNetworkInfo" and
14669                 "addNetworkAddress" calls into just "updateNetworkInfo"
14670
14671 2005-12-21  Dan Williams  <dcbw@redhat.com>
14672
14673         * Make connection after key retrieval work again
14674
14675 2005-12-21  Dan Williams  <dcbw@redhat.com>
14676
14677         * gnome/applet/nm-gconf-wso*
14678                 - Make the serialize functions return gboolean
14679                         rather than int
14680
14681         * gnome/applet/nm-gconf-wso.c
14682                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14683                         parent class handling so we don't segfault
14684
14685         * src/NetworkManagerAP.[ch]
14686                 - (nm_ap_get_capabilities): new function, return capabilities
14687                         now that something can use them
14688                 - (nm_ap_set_encrypted): assume that an access point supports
14689                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14690                         we even tell whether it just supports WEP40?
14691
14692         * src/NetworkManagerDevice.c
14693                 - (ap_need_key): resurrect and update for the New World Order
14694                 - (nm_device_wireless_get_activation_ap): if we're not given
14695                         security info to use, create some based on access point
14696                         capabilities
14697
14698         * src/nm-ap-security-wep.c
14699                 - (nm_ap_security_wep_new_from_ap): create a new object
14700                         based on a certain access point's capabilities
14701
14702         * src/nm-ap-security.c
14703                 - (nm_ap_security_new_from_ap): delegate creation of a new
14704                         object based on access point capabilities to a subclass
14705                 - (nm_ap_security_copy_properties): don't segfault if we
14706                         don't have a key yet
14707
14708         * src/nm-dbus-nm.c
14709                 - (nm_dbus_nm_set_active_device): provide more informative
14710                         output when errors occur.  Also construct security info
14711                         for a given access point if we weren't given any
14712
14713 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14714
14715         * configure.in: Added Lithuanian to ALL_LINGUAS.
14716
14717 2005-12-21  Dan Williams  <dcbw@redhat.com>
14718
14719         * test/libnm-util
14720                 - Add some testcases for WEP ciphers
14721
14722 2005-12-17  Dan Williams  <dcbw@redhat.com>
14723
14724         * Fix bugs
14725
14726 2005-12-17  Dan Williams  <dcbw@redhat.com>
14727
14728         * include/NetworkManager.h
14729                 - Finally kill NMEncKeyType
14730
14731         * gnome/applet/applet-dbus-info.c
14732                 - (nmi_save_network_info): convert to NMGConfWSO
14733
14734         * gnome/applet/nm-gconf-wso-*.c
14735                 - Implement gconf serialization functions
14736
14737         * src/NetworkManagerPolicy.c
14738                 - (nm_policy_activation_finish): fix up meaning of
14739                         automatic/user_requested
14740
14741 2005-12-17  Dan Williams  <dcbw@redhat.com>
14742
14743         * gnome/applet/*
14744                 - More applet cleanups
14745                 - Use the dbus-method-dispatcher
14746
14747         * libnm-util/dbus-method-dispatcher.[ch]
14748                 - Generalize the implementation from NM in
14749                         NetworkManagerUtils.c
14750
14751 2005-12-16  Dan Williams  <dcbw@redhat.com>
14752
14753         * gnome/applet/*
14754                 - Fix up the passphrase dialog to use all the
14755                         WirelessSecurityOption stuff (untested)
14756
14757 2005-12-16  Dan Williams  <dcbw@redhat.com>
14758
14759         * Move nm_gconf_get_*_helper() functions to separate files,
14760                 gconf-helpers.c & gconf-helpers.h
14761
14762         * New NMGConfWSO objects for managing the gconf side of things.
14763                 Eventually these should be merged with the
14764                 WirelessSecurityOption objects and a common base (that can
14765                 serialize/deserialize from dbus & gconf) should be
14766                 refactored out, but for now they are separate.
14767
14768 2005-12-16  Robert Love  <rml@novell.com>
14769
14770         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14771           binaries unless they exist (nm_spawn_process() emits a warning if
14772           asked to spawn a non-existant process).
14773
14774 2005-12-16  Dan Williams  <dcbw@redhat.com>
14775
14776         * gnome/applet/applet-dbus-info.c
14777                 - Clean up lots of gconf-related code
14778
14779 2005-12-16  Robert Love  <rml@novell.com>
14780
14781         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14782
14783 2005-12-16  Dan Williams  <dcbw@redhat.com>
14784
14785         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14786
14787         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14788                 bits still to be done)
14789
14790 2005-12-16  Dan Williams  <dcbw@redhat.com>
14791
14792         * Finally move info-daemon related stuff out of
14793                 NetworkManagerDbus.c to nm-dbus-nmi.c
14794
14795 2005-12-16  Dan Williams  <dcbw@redhat.com>
14796
14797         * Kill auth_method for access points, since that's now done
14798                 by NMAPSecurity objects
14799
14800         * Add a copy-constructor of sorts to NMAPSecurity
14801                 (how do you do this properly in glib???)
14802
14803 2005-12-15  Dan Williams  <dcbw@redhat.com>
14804
14805         * Exorcise encryption key hashing on APs
14806         * Use libnm-util's serialization/deserialization in both the
14807                 applet and NM
14808         * Random other stuff
14809
14810 2005-12-15  Robert Love  <rml@novell.com>
14811
14812         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14813           is being added to the icon naming spec, so let's use that (Tango CVS
14814           has the icon).  Because it is new, however, we fall back to the
14815           current "gnome-lockscreen" if the new icon is not around, thus
14816           behavior is the same.
14817         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14818           factory junk.
14819
14820 2005-12-15  Robert Love  <rml@novell.com>
14821
14822         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14823           well, help to give.  Couple other misc. bits.
14824
14825 2005-12-15  Dan Williams  <dcbw@redhat.com>
14826
14827         * libnm-util/dbus-helpers.[ch]
14828                 - Make this the one-stop-shop for serializing/deserializing
14829                         AP & connection security settings over dbus.  Both NM
14830                         and applets should use this to ensure consistent dbus
14831                         API going forwared.
14832
14833 2005-12-15  Robert Love  <rml@novell.com>
14834
14835         Patch by Timo Hoenig  <thoenig@suse.de>:
14836         * src/NetworkManagerDbus.c
14837                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14838                         if HAL jumps off the system bus.  Otherwise libdbus
14839                         (dbus_connection_dispatch) will try to run the filter
14840                         function of our libhal context which is already freed.
14841
14842 2005-12-15  Alexander Shopov  <ash@contact.bg>
14843
14844         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14845
14846 2005-12-14  Dan Williams  <dcbw@redhat.com>
14847
14848         * include/NetworkManager.h
14849           src/NetworkManagerWireless.c
14850                 - Rearrange 802.11 wireless-specific capabilities again
14851
14852         * src/Makefile.am
14853                 - Forgot to add wpa.c/wpa.h to the makefiles
14854
14855         * src/NetworkManagerAP.[ch]
14856                 - Implement access point capabilities and parse the
14857                         WPA/RSN IEs into the capability bitfield
14858                 - Switch the "encrypted" attribute to utilize the bitfield
14859                         and capabilities rather than being independent
14860
14861         * src/NetworkManagerDevice.c
14862                 - (nm_device_wireless_get_activation_ap): break it horribly
14863                         until we can push NMAPSecurity objects into access point
14864                         objects and through the activation chain
14865                 - Stuff WPA & RSN IEs into AP capabilities
14866
14867         * src/nm-dbus-nm.c
14868                 - Take a shot at actually making setActiveDevice work
14869
14870         * src/wpa.[ch]
14871                 - Make the API a bit saner
14872
14873 2005-12-14  Dan Williams  <dcbw@redhat.com>
14874
14875         * include/NetworkManager.h
14876                 - Add 802.11-specific capability for 802.1x key
14877                         management
14878
14879         * src/wpa.[ch]
14880                 - Pull in WPA IE and RSN IE parsing code from
14881                         wpa_supplicant so we can determine access point
14882                         capabilities
14883                 - Move WPA-related constants here from NetworkManagerAP.h
14884                         and NetworkManagerDevice.c
14885
14886         * src/NetworkManagerDevice.c
14887           src/NetworkManagerAP.[ch]
14888                 - Use WPA-related constants from wpa.h
14889
14890 2005-12-14  Dan Williams  <dcbw@redhat.com>
14891
14892         * include/NetworkManager.h
14893                 - Update and split 802.11 wireless-specific capabilities from
14894                         generic device capabilities
14895
14896         * src/NetworkManagerDevice.c
14897           src/NetworkManagerDevicePrivate.h
14898                 - (nm_device_wireless_discover_capabilities): Move 802.11
14899                         wireless-specific capability checks to
14900                         NetworkManagerWireless.c
14901                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14902                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14903
14904         * src/NetworkManagerWireless.[ch]
14905                 - (nm_802_11_wireless_discover_capabilities): Check extended
14906                         802.11 wireless-specific capabilities of the driver
14907
14908 2005-12-14  Robert Love  <rml@novell.com>
14909
14910         Patch from Stefan Scheler <sscheler@suse.de>:
14911         * src/NetworkManagerDevice.c: call backend code to activate and
14912           deactivate NIS.
14913         * src/NetworkManagerSystem.h: add new NIS interfaces.
14914         * src/backends/NetworkManagerDebian.c,
14915           src/backends/NetworkManagerGentoo.c,
14916           src/backends/NetworkManagerRedHat.c,
14917           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14918           support.
14919         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14920
14921 2005-12-14  Dan Williams  <dcbw@redhat.com>
14922
14923         * src/nm-ap-security*.[ch]
14924                 - Add AP security abstractions to NetworkManager
14925
14926         * src/nm-dbus-device.c
14927                 - Begin to parse new format dbus messages from the applet
14928                         and construct an AP security object from the message
14929
14930         * libnm-util/dbus-helpers.c
14931                 - Use message iters so we can append the key as a fixed
14932                         array of bytes, which actually works rather than
14933                         using dbus_message_append_args() as we were before
14934
14935 2005-12-14  Dan Williams  <dcbw@redhat.com>
14936
14937         * src/NetworkManagerDbus.c
14938           gnome/applet/applet-dbus.c
14939                 - Fix up dbus service replacement options.  The applet
14940                         should allow replacement, NM itself should not.
14941
14942 2005-12-13  Robert Love  <rml@novell.com>
14943
14944         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14945           Instead, fail silently if config is NULL by not asserting and not
14946           returning FALSE.  Also, make sure we always fclose() the file.
14947
14948 2005-12-13  Robert Love  <rml@novell.com>
14949
14950         Patch by Stefan Scheler <sscheler@suse.de>:
14951         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14952            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14953            via DHCP.  Still need the backends to commit the NIS domain name and
14954            and servers to yp.conf as needed.
14955
14956 2005-12-13  Robert Love  <rml@novell.com>
14957
14958         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14959           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14960
14961 2005-12-13  Robert Love  <rml@novell.com>
14962
14963         * src/named-manager/nm-named-manager.c: Don't unref the config until
14964           after we call rewrite_resolv_conf(), because get_last_default_domain()
14965           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14966           `config != NULL' failed" assertion failures and "Could not commit DNS
14967           changes" warnings.
14968
14969 2005-12-12  Dan Williams  <dcbw@redhat.com>
14970
14971         * libnm-util/dbus-helpers.[ch]
14972           libnm-util/Makefile.am
14973                 - new helper calls to consolidate locations where
14974                         NM's setDevice method is called
14975
14976         * gnome/applet/applet-dbus-devices.c
14977           gnome/applet/wireless-security-option.c
14978           gnome/applet/wso-*
14979                 - Implement dbus message param append function for
14980                         all wireless security options
14981
14982 2005-12-12  Robert Love  <rml@novell.com>
14983
14984         * libnm-util/cipher-wep-passphrase.c,
14985           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14986           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14987           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14988           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14989           When handling keys, we don't care what the sign is.  The compiler
14990           guarantees us that we get our 8-bits, which is all we care about.
14991         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14992
14993 2005-12-12  Dan Williams  <dcbw@redhat.com>
14994
14995         * gnome/applet/applet-dbus-devices.[ch]
14996           gnome/applet/applet.c
14997           gnome/applet/other-network-dialog.c
14998           gnome/applet/wireless-security-manager.[ch]
14999           gnome/applet/wireless-security-option.[ch]
15000           gnome/applet/wso-*
15001                 - Push the wireless security options further into the applet
15002
15003 2005-12-12  Robert Love  <rml@novell.com>
15004
15005         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15006           return any name servers.  That is perfectly valid.  (Novell #134369).
15007
15008 2005-12-11  Dan Williams  <dcbw@redhat.com>
15009
15010         * gnome/applet/wso-*
15011           gnome/applet/wireless-security-option.*
15012           gnome/applet/Makefile.am
15013                 - split each security option out so we can eventually
15014                         have each one build up their own dbus message
15015                         arguments to send to NM
15016
15017 2005-12-11  Dan Williams  <dcbw@redhat.com>
15018
15019         * Make validation of the key work correctly
15020
15021 2005-12-11  Dan Williams  <dcbw@redhat.com>
15022
15023         * Hook more bits of the Other Network Dialog up to the
15024                 wireless security manager stuff, and restructure
15025                 bits of the dialog so there's less code.
15026
15027 2005-12-10  Dan Williams  <dcbw@redhat.com>
15028
15029         * gnome/applet/Makefile.am
15030                 - Add libnm-util to includes
15031                 - Add libnm-util to link list
15032                 - Add wireless-security-common.* to compile list
15033
15034         * gnome/applet/other-network-dialog.c
15035                 - Convert to using the WirelessSecurityManager code and
15036                         widgets
15037
15038         * gnome/applet/passphrase-dialog.c
15039                 - Comment out references to stuff in the glade file that
15040                         cause runtime errors until it can be fixed up
15041                         to use the WirelessSecurityManager code
15042
15043         * gnome/applet/wireless-applet.glade
15044                 - Rename some widgets
15045                 - Add widgets for the WirelessSecurityManager code
15046                 - Remove passphrase-related stuff since that's now
15047                         handled by the WirelessSecurityManager code
15048
15049 2005-12-10  Dan Williams  <dcbw@redhat.com>
15050
15051         * gnome/applet/applet-dbus-devices.c
15052                 - Print out error message details for dbus pending call callbacks
15053                 - Move nmwa_dbus_update_devices() up
15054
15055         * gnome/applet/applet-dbus-vpn.c
15056                 - Print out error message details for dbus pending call callbacks
15057
15058 2005-12-10  Dan Williams  <dcbw@redhat.com>
15059
15060         * libnm-util/*
15061                 - More fixups
15062                 - Remove cipher-manager.* because we don't need it
15063                 - Forgot to add gnome-keyring-md5 files to compile list
15064
15065 2005-12-09  Dan Williams  <dcbw@redhat.com>
15066
15067         * libnm-util/*
15068           configure.in
15069           Makefile.am
15070                 - Add a utility library for clients of NetworkManager.  It's
15071                         only targetted at applets for the moment, and contains
15072                         a generalized 802.11 cipher framework for different
15073                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15074
15075 2005-12-09  Robert Love  <rml@novell.com>
15076
15077         * src/NetworkManagerDevice.c: handle error better in
15078           nm_device_set_mode().
15079
15080 2005-12-08  Robert Love  <rml@novell.com>
15081
15082         * include/NetworkManager.h: add WPA capabilities constants
15083         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15084           or WPA2 and add the capabilities bits as appropriate.
15085
15086 2005-12-08  Robert Love  <rml@novell.com>
15087
15088         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15089           NetworkManagerDispatcher.
15090         * configure.in, initscript/SUSE/.cvsignore,
15091           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15092           initscript.
15093
15094 2005-12-08  Robert Love  <rml@novell.com>
15095
15096         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15097
15098 2005-12-08  Robert Love  <rml@novell.com>
15099
15100         * src/NetworkManagerDevice.c: We want to fall back on and default to
15101           IW_MODE_AUTO, not -1, which is more in line with our previous
15102           behavior.  Otherwise, we try to set the wireless mode to -1 in
15103           nm_device_set_mode().
15104
15105 2005-12-07  Robert Love  <rml@novell.com>
15106
15107         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15108           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15109           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15110           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15111           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15112           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15113           zero.
15114
15115 2005-12-07  Robert Love  <rml@novell.com>
15116
15117         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15118           supplied IP is invalid, fall back to DHCP.
15119
15120 2005-12-07  Dan Williams  <dcbw@redhat.com>
15121
15122         * Convert NETWORK_MODE_* constants to IW_MODE_*
15123         * Make all the get_mode/set_mode functions take and return 'int'
15124         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15125
15126 2005-12-07  Robert Love  <rml@novell.com>
15127
15128         * src/NetworkManagerDevice.c: strncpy() buffer check.
15129         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15130
15131 2005-12-06  Dan Williams  <dcbw@redhat.com>
15132
15133         * gnome/applet/applet-dbus.c
15134                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15135
15136         * gnome/applet/applet-dbus-vpn.c
15137                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15138                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15139                         to TRUE here if stage was ACTIVATED
15140
15141 2005-12-06  Dan Williams  <dcbw@redhat.com>
15142
15143         * Change nm_device_is_* functions to better names:
15144                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15145                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15146
15147 2005-12-06  Dan Williams  <dcbw@redhat.com>
15148
15149         * Change naming of NMDeviceType to something more sensible:
15150                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15151                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15152                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15153
15154 2005-12-06  Dan Williams  <dcbw@redhat.com>
15155
15156         * Move NetworkManager.h -> include/NetworkManager.h
15157         * Split out VPN stuff into include/NetworkManagerVPN.h
15158         * Fix up makefiles to include new location
15159         * Fix up sources to include NetworkManagerVPN.h
15160
15161 2005-12-06  Dan Williams  <dcbw@redhat.com>
15162
15163         Various changes in the applet to move VPN connection "state" -> "stage",
15164         which it actually is.  I'd like to change the signal as well when we
15165         break compat in the near future.
15166
15167 2005-12-06  Dan Williams  <dcbw@redhat.com>
15168
15169         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15170         * initscript/Slackware/rc.networkmanager
15171                 - Cosmetic fix
15172
15173         * src/backends/NetworkManagerSlackware.c
15174                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15175                         interfaces
15176
15177 2005-12-05  Robert Love  <rml@novell.com>
15178
15179         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15180           to free, particularly here as it just barfs.
15181
15182 2005-12-05  Dan Williams  <dcbw@redhat.com>
15183
15184         * gnome/applet/applet-dbus.c
15185                 - Work with dbus 0.6 too
15186
15187 2005-12-03  Dan Williams  <dcbw@redhat.com>
15188
15189         * src/NetworkManagerUtils.[ch]
15190           src/nm-ip4-config.c
15191                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15192                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15193
15194 2005-12-01  Robert Love  <rml@novell.com>
15195
15196         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15197           need a NULL for the '...' parameter, too, to fill the so-called
15198           sentinel.
15199
15200 2005-12-01  Robert Love  <rml@novell.com>
15201
15202         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15203           interface is already gone, so don't call rtnl_link_change() to down
15204           it (which will segfault, anyhow).
15205
15206 2005-11-22  Robert Love  <rml@novell.com>
15207
15208         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15209           gateway is not set, just print a little note.  Configurations without
15210           gateways are valid.
15211
15212 2005-11-22  Robert Love  <rml@novell.com>
15213
15214         * README: update
15215
15216 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15217
15218         * configure.in: Added Finnish translation to ALL_LINGUAS
15219
15220 2005-11-14  Robert Love  <rml@novell.com>
15221
15222         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15223           Niemueller <tim@niemueller.de>.
15224
15225 2005-11-08  Dan Williams  <dcbw@redhat.com>
15226
15227         Patch from Bill Moss <bmoss@clemson.edu>
15228         * src/NetworkManagerDevice.c
15229                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15230                         of nm_policy_schedule_activation_finish() to prevent a
15231                         race condition that causes the link to be dropped
15232
15233 2005-11-08  Dan Williams  <dcbw@redhat.com>
15234
15235         Patch from Bill Moss <bmoss@clemson.edu>
15236         * src/NetworkManagerAPList.c
15237           src/NetworkManagerDevice.c
15238           src/NetworkManagerDbus.c
15239                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15240                         we get more readable ether/mac addresses
15241
15242 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15243
15244         * gnome/applet/main.c: Don't set the restart command.  This fixes
15245         the issue where the restart command was getting copies of all its
15246         arguments for each time the applet was restarted.
15247
15248 2005-11-02  Robert Love  <rml@novell.com>
15249
15250         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15251           if the widget state differs from our saved state.  This ensures we
15252           do not enter an endless loop of death and destruction.  Also, this
15253           guarantees us that we enforce the widget state.
15254
15255 2005-11-02  Robert Love  <rml@novell.com>
15256
15257         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15258         * gnome/applet/applet-dbus-devices.c: invoke the new function
15259           nmwa_enable_wireless_set_active() to ensure that the state of the
15260           'Enable Wireless' checkbox matches the daemon's state.  This is a
15261           concern because the daemon remembers the state.
15262
15263 2005-11-02  Robert Love  <rml@novell.com>
15264
15265         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15266           Enabled", as checkboxes should be actions/commands not positive
15267           statements, otherwise they are confusing in the unselected case.  See
15268           examples in GNOME HIG, Chapter 6.
15269
15270 2005-11-02  Robert Love  <rml@novell.com>
15271
15272         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15273           show a list of wireless networks or the wireless devices or the
15274           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15275           a bad bug: If wireless is disabled and the user picks a wireless
15276           network, NM will switch to the network, only to immediately switch
15277           back, as wireless is disabled.  This also reassures people that NM
15278           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15279
15280 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15281
15282         * gnome/applet/applet.c:
15283         * gnome/applet/applet.h:
15284         Partial backout of Dan's timeout animation patch.
15285         Timeout IDs cannot legally be 0, so revert the code in place to handle
15286         a timeout ID of 0 to denote the timeout isn't running.
15287
15288 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15289
15290         * src/NetworkManagerPolicy.c:
15291         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15292
15293 2005-10-28  Robert Love  <rml@novell.com>
15294
15295         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15296           "Import Saved Configuration..." to make it clear that importing is
15297           not the next step, but an option.  As an aside, a nice TODO would be
15298           to move Importing out of the vpn-specific dialog and into the main
15299           property editor, as Importing goes with Adding, but that will require
15300           some rearchitecting of the VPN stuff I suspect.
15301
15302 2005-10-27  Dan Williams  <dcbw@redhat.com>
15303
15304         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15305         we should replace most of the distro-specific backend code
15306         with libnl stuff.
15307
15308         Get it here:  http://people.suug.ch/~tgr/libnl/
15309
15310         * configure.in
15311           src/Makefile.am
15312                 - Add checks for libnl pkgconfig file
15313                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15314
15315         * src/NetworkManagerSystem.c
15316           src/nm-ip4-config.[ch]
15317                 - Use libnl rather than ioctl() for most things
15318                 - Remove unused functions
15319
15320 2005-10-27  Robert Love  <rml@novell.com>
15321
15322         * src/backends/NetworkManagerSuSE.c: fix warning message text
15323
15324 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15325
15326         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15327
15328 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15329
15330         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15331         project page <http://www.gnome.org/projects/NetworkManager/>
15332
15333 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15334
15335         * gnome/applet.c: Also use translator credits if we don't have
15336         the new GtkAboutDialog (older versions of GTK+)
15337
15338 2005-10-26  Robert Love  <rml@novell.com>
15339
15340         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15341           failure; correct usage text for "--no-daemon"
15342
15343 2005-10-25  Dan Williams  <dcbw@redhat.com>
15344
15345         * src/NetworkManagerDevice.c
15346                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15347                         no scan results
15348                 - (free_process_scan_cb_data): unref the device when freeing results
15349                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15350                         so we don't unref the device underneath ourselves
15351
15352 2005-10-25  Dan Williams  <dcbw@redhat.com>
15353
15354         * Back out 2005-10-24 commit from Tor Krill.  Patch
15355                 causes nameservers never to be removed from named.
15356
15357 2005-10-24  Dan Williams  <dcbw@redhat.com>
15358
15359         Clean up wireless scanning and wireless link probing.
15360
15361         * src/NetworkManagerDevice.c
15362                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15363                         just see if there's an activation request on the device, and check the
15364                         current link against the activation request access point's ESSID.
15365                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15366                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15367                         don't call process_scan_results() on zero-length data
15368                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15369                         15 seconds (from 10)
15370
15371 2005-10-24  Dan Williams  <dcbw@redhat.com>
15372
15373         Cleanup some applet stuff:
15374
15375         - Animation timeouts.  If NM died while the applet was animating,
15376                 the applet would not hide itself.  This is now fixed.
15377
15378         - Remove some dead code
15379
15380         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15381                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15382
15383         - Track animation timeout using a gboolean rather than the timeout's
15384                 ID, since timeout IDs can legally be 0.
15385
15386 2005-10-24  Dan Williams  <dcbw@redhat.com>
15387
15388         * src/backends/interface_parser.c
15389                 - Add void to function declarations that need it
15390                         to match patch from Engin AYDOGAN
15391
15392         * src/backends/interface_parser.h
15393                 - Remove unused prototype for ifparser_interfaces()
15394
15395         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15396         * src/backends/interface_parser.h:
15397                 - Compile fixes for gcc 4.0.2 (add void)
15398
15399 2005-10-24  Dan Williams  <dcbw@redhat.com>
15400
15401         Patch from Tor Krill <tor@krill.nu>
15402         * src/named-manager/nm-named-manager.c
15403                 - Write more than just the first nameserver to /etc/resolv.conf
15404                 - Write out valid /etc/resolv.conf on exit
15405
15406 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15407
15408         * gnome/applet/applet-dbus-vpn.c:
15409         Get rid of spurious newlines in debug console output
15410
15411 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15412
15413         * src/backends/NetworkManagerGentoo.c:
15414         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15415
15416 2005-10-20  Robert Love  <rml@novell.com>
15417
15418         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15419           direct comparison of floating point values, which is never correct.
15420           Also some misc. cleanup.
15421
15422 2005-10-19  Robert Love  <rml@novell.com>
15423
15424         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15425
15426 2005-10-19  Robert Love  <rml@novell.com>
15427
15428         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15429           sensitivity of the buttons.  Specificaly, do the right thing if
15430           there are no entries.
15431
15432 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15433
15434         * configure.in: Update check for adequate wireless-tools
15435         with an AC_TRY_COMPILE for the new symbols we use.
15436
15437 2005-10-19  Dan Williams  <dcbw@redhat.com>
15438
15439         * src/NetworkManagerDevice.c
15440                 - (process_scan_results): don't drop the last (or only)
15441                         access point we see
15442
15443 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15444
15445         * src/backends/NetworkManagerSlackware.c:
15446         Patch from Nico <lordllucifer@gmail.com>
15447                 - Update the Slackware backend.
15448
15449 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15450
15451         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15452         if we've got GLib 2.8.0
15453
15454 2005-10-18  Robert Love  <rml@novell.com>
15455
15456         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15457           function nm_schedule_state_change_signal_broadcast() when we
15458           deactivate a device, too.
15459
15460 2005-10-18  Robert Love  <rml@novell.com>
15461
15462         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15463           be used uninitialized.
15464
15465 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15466
15467         * test/libnm_glib_test.c: Test unregistering, too.
15468
15469 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15470
15471         * configure.in: Bump to 0.5.0
15472
15473 2005-10-17  Dan Williams  <dcbw@redhat.com>
15474
15475         * NetworkManager.h
15476                 - Remove WPA-related constants so they aren't part of the
15477                         upcoming release.
15478
15479 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15480
15481         * gnome/applet/applet.c:
15482         * gnome/applet/applet.h:
15483         Desensitize the 'Connection Information' menu item when there is
15484         no active connection.
15485
15486 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15487
15488         * gnome/libnm_glib/libnm_glib.c:
15489         Make libnm_glib_unregister_callback () actually unregister the callback
15490
15491 2005-10-17  Robert Love  <rml@novell.com>
15492
15493         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15494           two seconds -- tries is updated every 1/10 of a second, not every
15495           second..
15496
15497 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15498
15499         * gnome/applet/applet-dbus-info.c:
15500         Let D-BUS know that we haven't handled a message when we haven't.
15501
15502 2005-10-17  Robert Love  <rml@novell.com>
15503
15504         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15505           in order to remain 64-bit clean.
15506
15507 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15508
15509         * gnome/applet/applet-dbus-info.c:
15510         Find network encryption keys asynchronously
15511
15512 2005-10-17  Robert Love  <rml@novell.com>
15513
15514         * src/backends/NetworkManagerDebian.c,
15515           src/backends/NetworkManagerRedHat,
15516           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15517           comment delimiter.
15518
15519 2005-10-17  Robert Love  <rml@novell.com>
15520
15521         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15522           "/etc"
15523
15524 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15525
15526         * src/NetworkManagerDevice.c: (process_scan_results)
15527         Fix logic that checks to see whether we have an ESSID.
15528
15529 2005-10-15  Dan Williams  <dcbw@redhat.com>
15530
15531         Move scanning code into NetworkManager rather than use iwlib's
15532         iw_scan() function, so that we can figure out AP capabilities.
15533
15534         * NetworkManager.h
15535                 - Add AP capability bits
15536
15537         * src/NetworkManagerAP.[ch]
15538                 - Add capability field to NMAccessPoint structure
15539                 - Add WPA & RSN Information Element fields and accessor
15540                         functions to NMAccessPoint
15541
15542         * src/NetworkManagerDevice.c
15543                 - Remove usage of iw_scan
15544                 - Add scanning code to NetworkManager rather than use
15545                         iw_scan() from iwlib
15546
15547         * src/NetworkManagerUtils.[ch]
15548                 - (nm_dispose_scan_results): remove, unused
15549
15550 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15551
15552         * gnome/libnm_glib/libnm_glib.c:
15553         * gnome/libnm_glib/libnm_glib.h:
15554         Use guint instead of gint for callback IDs.
15555
15556 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15557
15558         * gnome/applet/applet.c:
15559         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15560         every 1000ms.  It will unconditionally call nmwa_update_state which
15561         kills the existing animation timeout and registers a new one with a
15562         callback to draw a new frame every 100ms.  There are 11 connecting
15563         icon frames, so the last 2 frames kept getting dropped.  Only reset
15564         the animation timeout if we aren't animating.
15565
15566 2005-10-11  Dan Williams  <dcbw@redhat.com>
15567
15568         * gnome/applet/applet-dbus-devices.c
15569                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15570                         We want to grab the product & vendor from net.physical_dev
15571                         rather than info.parent.
15572
15573 2005-10-11  Dan Williams  <dcbw@redhat.com>
15574
15575         * src/NetworkManagerDevice.c
15576                 - Use the driver's WE version for scanning rather than
15577                         the WE version NM was compiled with.  Fixes random
15578                         crashes in iw_scan () in iwlib.
15579
15580 2005-10-10  Dan Williams  <dcbw@redhat.com>
15581
15582         * Remove nm_system_load_device_modules() from backend files
15583                 and from NetworkManager.c
15584
15585 2005-10-10  Dan Williams  <dcbw@redhat.com>
15586
15587         * src/NetworkManagerPolicy.c
15588                 - Fix some bugs introduced by the capabilities patch
15589
15590 2005-10-10  Dan Williams  <dcbw@redhat.com>
15591
15592         * gnome/applet/applet-dbus-info.c
15593                 - (nmi_dbus_get_network_key): hide the menu when putting up
15594                         the keyring dialog.  (not sure if the code is right...)
15595
15596 2005-10-09  Dan Williams  <dcbw@redhat.com>
15597
15598         Patch from Bill Moss <bmoss@clemson.edu>
15599         * src/NetworkManagerDevice.c
15600                 - (nm_device_set_user_key_for_network): don't try to set auth
15601                         mode on the AP from the allowed list if it's NULL
15602
15603 2005-10-09  Dan Williams  <dcbw@redhat.com>
15604
15605         * Replace the "driver support level" stuff with capabilities.  The
15606                 capability field is a bitfield that is more flexible than the
15607                 old driver support level thing.  It's mostly so we can easily
15608                 figure out what supports WPA and what doesn't, but should be
15609                 quite useful later.
15610
15611 2005-10-09  Dan Williams  <dcbw@redhat.com>
15612
15613         * test/nmtest.c
15614                 - Removed
15615
15616         * test/nm-tool.c
15617           test/Makefile.am
15618                 - Added new "nm-tool" tool that gives quite a bit more
15619                         information
15620
15621 2005-10-07  Robert Love  <rml@novell.com>
15622
15623         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15624           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15625           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15626           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15627           appropriate
15628
15629 2005-10-07  Robert Love  <rml@novell.com>
15630
15631         * configure.in: Change our compile flags for the betterment of mankind.
15632           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15633           prototype is very bad on 64-bit platforms as types default to int but
15634           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15635           "-Wmissing-declarations" to warn if we define an exported function
15636           but fail to put it in a header.
15637
15638 2005-10-07  Robert Love  <rml@novell.com>
15639
15640         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15641           by the name nm_update_device_wireless_timeouts() and once tried,
15642           without success, to steal my pet turtle.
15643
15644 2005-10-07  Robert Love  <rml@novell.com>
15645
15646         * Cleanup prototypes: put some functions in header files and mark
15647           others as 'static' -- feel free to invert
15648         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15649           nm_vpn_manager_vpn_connection_list_copy()
15650         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15651           nm_vpn_service_get_dbus_connection()
15652         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15653           nm_vpn_manager_vpn_connection_list_copy()
15654         * src/vpn-manager/nm-vpn-service.c: make
15655           nm_vpn_service_act_request_failed() and
15656           nm_vpn_service_stage2_daemon_wait() static
15657         * src/vpn-manager/nm-vpn-service.h: add prototype for
15658           nm_vpn_service_get_dbus_connection()
15659
15660 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15661
15662         * gnome/applet/applet.c:
15663         * gnome/applet/applet.h:
15664         * gnome/applet/icons/Makefile.am:
15665         Convey information about the current connection stage in the
15666         icons themselves instead of creating a separate progress bar.
15667
15668 2005-10-04  Robert Love  <rml@novell.com>
15669
15670         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15671           convert an ether_addr structure's MAC into a string, because the
15672           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15673           versus 07:3B:04, while the former will not.
15674
15675 2005-10-04  Robert Love  <rml@novell.com>
15676
15677         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15678           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15679           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15680           default route in the 'Connection Information' dialog, send primary
15681           and secondary name servers in in "getProperties" DBUS method, add
15682           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15683           secondary domain name servers are crucial pieces of information
15684           that a user might need in debugging a network problem.
15685
15686 2005-10-04  Robert Love  <rml@novell.com>
15687
15688         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15689           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15690           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15691           default route in the 'Connection Information' dialog, send default
15692           route in "getProperties" DBUS method, add network_device_set_route(),
15693           and network_device_get_route().  The Gateway is a crucial piece of
15694           connection-related information that a user might need in debugging a
15695           network problem.
15696
15697 2005-10-03  Robert Love  <rml@novell.com>
15698
15699         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15700           NULL.
15701
15702 2005-10-02  Dan Williams  <dcbw@redhat.com>
15703
15704         * Shorten time taken to sleep by fastpathing bits of device deactivation
15705                 necessary for sleep.
15706
15707         * Fix issue where deactivating a device might deactivate the active
15708                 VPN connection, even if the VPN was not using the device.
15709
15710 2005-10-02  Dan Williams  <dcbw@redhat.com>
15711
15712         * gnome/applet/applet.c
15713                 - Adjust signal strength -> icon mapping values slightly
15714                         (so that 51% signal doesn't show a 75% icon) by adding
15715                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15716                         shows 50% icon, etc.
15717
15718 2005-09-29  Robert Love  <rml@novell.com>
15719
15720         * src/NetworkManager.c: removed unused variable.
15721
15722 2005-09-28  Dan Williams  <dcbw@redhat.com>
15723
15724         Support for named + DBus, using Red Hat DBus patches for named.  You
15725         can find those patches here, with "dbus" in the patch's filename:
15726
15727                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15728
15729         Don't forget the named dbus service file either.
15730
15731         Instead of writing a config file and spawing a named process, NM will
15732         use an already-running dbus-enabled named if it finds one.  NM will
15733         update named's forwarder configuration on the fly using dbus.
15734
15735         If there is no dbus-enabled named running, NM will automatically fall
15736         back to writing the most-recent DNS server information to /etc/resolv.conf
15737         and calling nm_system_update_dns() to kick the system's resolver.
15738
15739         Accordingly, all named-related configure-time options have been removed.
15740
15741 2005-09-26  Robert Love  <rml@novell.com>
15742
15743         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15744           ISDN support!
15745         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15746           bug in error path if "ASKPASSWORD" is "no".
15747
15748 2005-09-26  Robert Love  <rml@novell.com>
15749
15750         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15751           comment in /etc/resolv.conf -- ';' is not.
15752
15753 2005-09-19  Dan Williams  <dcbw@redhat.com>
15754
15755         * src/backends/NetworkManagerRedHat.c:
15756         * src/backends/NetworkManagerDebian.c:
15757         * src/backends/NetworkManagerSlackware.c:
15758         * src/backends/NetworkManagerGentoo.c:
15759         * src/backends/NetworkManagerSUSE.c:
15760         Fix invocations of "/sbin/ip address" to use short form instead
15761
15762 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15763
15764         * src/nm-dbus-device.c: Don't assert when getting
15765         addresses of a not yet connected interface.
15766
15767         * gnome/applet/applet.c: Free icons if loading fails.
15768         Use translator-credits so translators can make themselves known.
15769
15770 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15771
15772         * src/NetworkManagerAP.c:
15773         * src/NetworkManagerAP.h:
15774         * src/NetworkManagerDevice.c:
15775         Set a blacklist for certain common manufacturer default ESSIDs:
15776         APs with these ESSIDs are extremely likely to be completely
15777         different networks: connecting to one should not make NM
15778         auto-connect to every other AP with the same default ESSID.
15779
15780 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15781
15782         * gnome/applet/wireless-applet.glade:
15783         The passphrase entry should also activate the default
15784
15785         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15786
15787         * gnome/applet/applet-dbus-devices.c:
15788         * gnome/applet/applet.c:
15789         * gnome/applet/nm-device.c:
15790         * gnome/applet/nm-device.h:
15791         * src/NetworkManagerUtils.c:
15792         * src/NetworkManagerUtils.h:
15793         * src/nm-dbus-device.c:
15794         I've got a fever, and the only cure for it is less ioctl.
15795         Make NM push IP data rather than make the applet open a socket
15796         to the device.
15797
15798 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15799
15800         * gnome/applet/applet.c:
15801         * gnome/applet/applet-dbus-devices.c:
15802         * gnome/applet/applet-dbus-info.c:
15803         * gnome/applet/passphrase-dialog.c:
15804         * gnome/libnm_glib/libnm_glib.c:
15805         * gnome/vpn-properties/nm-vpn-properties.c:
15806         * src/autoip.c:
15807         * src/backends/NetworkManagerRedHat.c:
15808         * src/named-manager/nm-named-manager.c:
15809         * src/NetworkManagerAPList.c:
15810         * src/NetworkManager.c:
15811         * src/NetworkManagerDbus.c:
15812         * src/NetworkManagerDevice.c:
15813         * src/NetworkManagerPolicy.c:
15814         * src/NetworkManagerSystem.c:
15815         * src/nm-dbus-device.c:
15816         * src/nm-dbus-nm.c:
15817         * src/vpn-manager/nm-vpn-manager.c:
15818         * src/vpn-manager/nm-vpn-service.c:
15819         * test/libnm_glib_test.c:
15820         * test/nminfotest.c:
15821         * test/nmtestdevices.c:
15822         Fix a bunch of 'unused variable' compiler warnings
15823
15824         * NetworkManager.h:
15825         * gnome/applet/applet-dbus-info.c:
15826         * gnome/applet/applet-dbus-info.h:
15827         * gnome/applet/applet.c:
15828         * gnome/applet/applet.h:
15829         * src/NetworkManager.c:
15830         * src/NetworkManagerDbus.c:
15831         * src/NetworkManagerDbus.h:
15832         * src/NetworkManagerDevice.c:
15833         * src/NetworkManagerDevice.h:
15834         * src/NetworkManagerMain.h:
15835         * src/NetworkManagerWireless.c:
15836         * src/NetworkManagerWireless.h:
15837         * src/nm-dbus-nm.c:
15838         Make NetworkManager be smart about how frequently to scan
15839         based on its current state.  Remove the UI for choosing when
15840         to scan.  Scanning still may disabled completely by the user
15841         via the "Wireless Enabled" menu item.
15842
15843 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15844
15845         * gnome/applet/applet.c:
15846         Also overlay the vpn connecting icons onto the wired icon,
15847         when appropriate.
15848
15849         * gnome/vpn-properties/nm-vpn-properties.glade:
15850         Clean up a few strings to use better grammar and proper casing.
15851
15852 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15853
15854         * gnome/applet/vpn-connection.c:
15855         * gnome/applet/vpn-connection.h:
15856         Add nmwa_vpn_connection_is_activating ()
15857
15858         * gnome/applet/applet.c:
15859         * gnome/applet/applet.h:
15860         * gnome/applet/icons/nm-vpn-connecting*.png:
15861         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15862         the user know something's happening between clicking the VPN item and it
15863         actually being connected.
15864
15865 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15866
15867         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15868         failure case as well.
15869
15870 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15871
15872         * gnome/panel/eggtrayicon.[ch]:
15873         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15874
15875 2005-09-07  Dan Williams  <dcbw@redhat.com>
15876
15877         Patch from Bill Moss <bmoss@clemson.edu>
15878         * src/applet-dbus.c
15879                 - (nmwa_dbus_filter): strip whitespace from beginning
15880                         and end of VPN login banner
15881
15882 2005-09-07  Dan Williams  <dcbw@redhat.com>
15883
15884         * The great VPN Manager rewrite of 2005
15885
15886 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15887
15888         * gnome/applet/menu-items.c:
15889         * gnome/applet/nm-device.c:
15890         * gnome/applet/wireless-network.c:
15891         * gnome/libnm_glib/libnm_glib.c:
15892         * src/NetworkManagerDbusUtils.c:
15893         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15894         g_malloc0 doesn't return NULL
15895
15896 2005-09-06  Dan Williams  <dcbw@redhat.com>
15897
15898         Patch from Tomislav Vujec <tvujec@redhat.com>
15899         * src/NetworkManagerDevice.c
15900                 - (nm_get_device_by_udi): don't return a device when we
15901                         actually didn't find what we were looking for
15902
15903 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15904
15905         * gnome/applet/applet-dbus-devices.c:
15906         * gnome/applet/applet-dbus-devices.h:
15907         * gnome/applet/applet-dbus.c:
15908         * src/NetworkManagerDbus.c:
15909         * src/NetworkManagerDbus.h:
15910         * src/NetworkManagerDevice.c:
15911         * src/nm-dbus-device.c:
15912         Make NM push updates about active device strength when it changes,
15913         rather than having the applet poll every 2s.
15914
15915 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15916
15917         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15918         network_device_set_strength
15919
15920 2005-09-04  Dan Williams  <dcbw@redhat.com>
15921
15922         Patch from Bill Nottingham <notting@redhat.com>
15923         * src/NetworkManagerDevice.c
15924                 - (nm_device_activation_cancel): reset the quit_activation flag
15925
15926 2005-09-04  Dan Williams  <dcbw@redhat.com>
15927
15928         * src/nm-activation-request.c
15929                 - (nm_act_request_unref): actually free the structure,
15930                         which we didn't seem to be doing before
15931
15932 2005-09-04  Dan Williams  <dcbw@redhat.com>
15933
15934         Patch from John Palmieri <johnp@redhat.com>
15935         * gnome/applet/applet-dbus-devices.c
15936                 - Fix up unreffing of DBusMessage objects
15937
15938 2005-09-04  Dan Williams  <dcbw@redhat.com>
15939
15940         Patch from John Palmieri <johnp@redhat.com>
15941         * gnome/applet/nm-device.c
15942                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15943
15944 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15945
15946         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15947
15948 2005-09-02  Bill Nottingham  <notting@redhat.com>
15949
15950         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15951
15952 2005-09-01  Dan Williams  <dcbw@redhat.com>
15953
15954         * src/NetworkManager.c
15955                 - (nm_remove_device_from_list): rename to nm_remove_device
15956                 - (nm_hal_device_removed): call nm_remove_device()
15957
15958         * src/NetworkManagerDevice.c
15959                 - Change the NMWirelessScanCB member 'reschedule' which
15960                         wasn't used to 'force' to indicate that we need to
15961                         force a scan when adding a device
15962
15963         * src/nm-dbus-nm.c
15964                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15965                         from the device list
15966                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15967
15968 2005-09-01  Robert Love  <rml@novell.com>
15969
15970         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15971           and the check "!iface" in the error case is probably never true.
15972
15973 2005-09-01  Dan Williams  <dcbw@redhat.com>
15974
15975         Patch from Bill Nottingham <notting@redhat.com>
15976         * src/backends/NetworkManagerRedHat.c
15977                 - Add initial dialup support to Red Hat/Fedora backend
15978
15979 2005-09-01  Dan Williams  <dcbw@redhat.com>
15980
15981         * gnome/applet/applet-dbus-devices.c
15982                 - Sort both wireless networks and devices again, which got
15983                         broken when removing threading
15984
15985 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15986
15987         * gnome/applet/applet.c:
15988         Only show the "Stop/Start All Wireless Devices" menuitem
15989         if we actually have wireless devices.
15990
15991         * gnome/applet/applet-dbus-info.c:
15992         * gnome/applet/applet.c:
15993         * gnome/applet/other-network-dialog.c:
15994         * gnome/applet/vpn-password-dialog.c:
15995         Drop the gtk_dialog_run () calls in favor of connecting to
15996         "response" signals, needed now that the applet is not threaded.
15997
15998 2005-08-31  Dan Williams  <dcbw@redhat.com>
15999
16000         Patch from Bill Moss <bmoss@clemson.edu>
16001         * src/NetworkManagerDevice.c
16002                 - (nm_device_wireless_scan): fix scan timeout values
16003
16004 2005-08-30  Dan Williams  <dcbw@redhat.com>
16005
16006         * gnome/applet/wireless-applet.glade
16007                 - HIG-ify the Other Wireless Networks dialog a bit more
16008                 - Fix some potential segfaults in the info dialog
16009
16010 2005-08-30  Dan Williams  <dcbw@redhat.com>
16011
16012         * gnome/applet/applet-dbus-devices.c
16013                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16014
16015 2005-08-30  Dan Williams  <dcbw@redhat.com>
16016
16017         * gnome/applet/applet-dbus.[ch]
16018                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16019                         they weren't being used anyway
16020
16021 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16022
16023         * test/nmtestdevices.c: (print_usage), (main):
16024         Check the number of arguments, and fix a typo
16025
16026 2005-08-29  Dan Williams  <dcbw@redhat.com>
16027
16028         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16029         * gnome/applet/applet.c
16030                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16031
16032 2005-08-29  Dan Williams  <dcbw@redhat.com>
16033
16034         * gnome/applet/*
16035                 - Don't use threads any more.  Anything that blocks
16036                         (like gtk_dialog_run()) will  have to get fixed up which
16037                         should happen quickly.  We really only had threads to make
16038                         the animation smooth, and when everything got converted over
16039                         to DBus Pending Calls, the need for threads kind of went away
16040
16041 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16042
16043         * gnome/applet/applet.c: Draw VPN connections as radio items
16044         since we don't yet support multiple VPNs.
16045         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16046         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16047
16048 2005-08-29  Dan Williams  <dcbw@redhat.com>
16049
16050         Patch from j@bootlab.org
16051         - Make --without-named work
16052         - Make --with-dhcdbd work correctly
16053
16054 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16055
16056         * configure.in: Added "ca" to ALL_LINGUAS.
16057
16058 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16059
16060         * Fix up VPN state handling between the applet and NetworkManager,
16061                 so that the applet doesn't show a VPN as connected when one
16062                 really is not
16063                         - The applet no longer has a pointer to the active VPN's
16064                                 name, but tracks each VPNs state individually
16065                         - NM no longer has a "getActiveVPNConnection" method
16066                         - NM no longer broadcasts the "VPNConnectionChange" signal
16067                         - NM now broadcasts a "VPNConnectionStateChange" signal
16068                                 whenever the state of a VPN changes
16069
16070 2005-08-26  Dan Williams <dcbw@redhat.com>
16071
16072         * gnome/applet/applet-dbus-devices.c
16073           gnome/applet/applet-dbus-vpn.c
16074                 - Remove calls to dbus_pending_call_ref() because we already
16075                         "own" the pending call
16076                 - Remove calls to dbus_pending_call_get_completed() because
16077                         when we are in the callback, the pending call is completed
16078                         by definition
16079
16080 2005-08-22  Dan Williams <dcbw@redhat.com>
16081
16082         Patch by Bill Moss <bmoss@clemson.edu>
16083         * src/dhcp-manager/nm-dhcp-manager.c
16084                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16085                         some time to send out a RELEASE if they like
16086
16087 2005-08-22  Dan Williams <dcbw@redhat.com>
16088
16089         Noticed by Bill Moss <bmoss@clemson.edu>
16090         * src/NetworkManagerDbus.c
16091                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16092                         instead of just cancelling its activation
16093
16094         * src/NetworkManagerDevice.c
16095                 - (nm_device_deactivate): some small cleanups
16096                 - (nm_device_set_user_key_for_network): deactivate the device
16097                         instead of just cancelling its activation
16098
16099 2005-08-22  Dan Williams <dcbw@redhat.com>
16100
16101         Noticed by Bill Moss <bmoss@clemson.edu>
16102         * src/NetworkManagerDevice.c
16103                 - (nm_device_wireless_scan): fix scan timeout, we were
16104                         waiting way too long for scans to complete
16105
16106 2005-08-22  Dan Williams <dcbw@redhat.com>
16107
16108         Patch from j@bootlab.org:
16109         * src/backends/NetworkManagerDebian.c
16110                 - Make the Debian backend work for static IP again
16111
16112 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16113
16114         * gnome/applet/other-network-dialog.c:
16115         The "Create New Network" and "Connect to Other Network"
16116         dialogs share alot of code, but shouldn't share a window
16117         title.  Give them different ones.
16118
16119         * gnome/applet/wireless-applet.glade:
16120         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16121         Some more minor UI tweaks.
16122
16123 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16124
16125         * gnome/applet/other-network-dialog.c:
16126         * gnome/applet/wireless-applet.glade:
16127         Also need mnemonic widgets, and underline enabled.
16128
16129 2005-08-19  Dan Williams <dcbw@redhat.com>
16130
16131         * vpn-daemons/vpnc/nm-vpnc-service.c
16132                 - (vpnc_watch_cb): remove no-longer-relevant comment
16133                 - (write_config_option): new function, helper to write
16134                         config options to vpnc's stdin
16135                 - (nm_vpnc_config_write): use the new helper, make the
16136                         code shorter
16137
16138 2005-08-19  Christopher Aillon <caillon@redhat.com>
16139
16140         * gnome/applet/passphrase-dialog.c:
16141         * gnome/applet/wireless-applet.glade:
16142         Make the passphrase dialog response based, and treat
16143         responses other than OK (such as Esc, [X]) as a cancel.
16144
16145 2005-08-18  Christopher Aillon <caillon@redhat.com>
16146
16147         * initscript/Gentoo/NetworkManager:
16148         * initscript/RedHat/NetworkManager:
16149         * initscript/RedHat/NetworkManagerDispatcher:
16150         * initscript/SUSE/networkmanager:
16151         CVS remove these in place of .in replacements
16152
16153         * configure.in:
16154         * initscript/Gentoo/NetworkManager.in:
16155         * initscript/RedHat/NetworkManager.in:
16156         * initscript/RedHat/NetworkManagerDispatcher.in:
16157         * initscript/SUSE/networkmanager.in:
16158         These scripts now are generated so they work still when
16159         NM is built using a bindir other than /usr/bin
16160
16161 2005-08-18  Dan Williams <dcbw@redhat.com>
16162
16163         * gnome/applet/main.c
16164                 - Revert previous change for --no-session since
16165                         --sm-disable does the same thing
16166
16167 2005-08-18  Dan Williams <dcbw@redhat.com>
16168
16169         * gnome/applet/applet-dbus-info.c
16170                 - (nmi_dbus_create_error_message): new function
16171                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16172                         functions.  Also don't check for both device _and_ network before
16173                         asking for a user's key, because we may not have gotten all our
16174                         networks back from NM quite yet (due to the dbus pending calls
16175                         coming in later).  Fixes a hang in NM/nm-applet.
16176
16177         * src/NetworkManagerDbus.c
16178                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16179                         slightly more sane manner, even though we are still broken for
16180                         certain other error conditions.
16181                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16182                         to the info-daemon too
16183
16184         * src/NetworkManagerDevice.c
16185                 - Fix some debug messages to be info messages instead
16186
16187 2005-08-18  Dan Williams <dcbw@redhat.com>
16188
16189         * gnome/applet/main.c
16190                 - Add new "--no-session" parameter that disables applet
16191                         session management, ie for testing
16192
16193 2005-08-18  Christopher Aillon <caillon@redhat.com>
16194
16195         * gnome/applet/other-network-dialog.c:
16196         * gnome/applet/wireless-applet.glade: More mnemonics
16197
16198 2005-08-17  Robert Love  <rml@novell.com>
16199
16200         * initscript/SUSE/networkmanager: update
16201
16202 2005-08-17  Dan Williams  <dcbw@redhat.com>
16203
16204         * Tag NM_0_4_1_RELEASE
16205
16206 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16207
16208         * gnome/applet/applet.c: More translatable string cleanup
16209
16210
16211 2005-08-17  Dan Williams  <dcbw@redhat.com>
16212
16213         * gnome/applet/applet-dbus-info.c
16214                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16215                         from the dbus message, which tells us to unconditionally
16216                         ask the user for a new key.  Otherwise, we pull the key from
16217                         the keyring and return it.  If we fail to get the key from the
16218                         keyring, we ask the user for a new key.
16219                 - (nmi_dbus_get_network_key): new function to grab the key for
16220                         an essid from the keyring.
16221                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16222                         Also, don't return any key in the dbus message.
16223
16224         * src/NetworkManagerDbus.[ch]
16225                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16226                         indicate that we unconditionally want a new key.  This function
16227                         is now also used to get keys from the info-daemon which are
16228                         pre-stored, not just for asking the user for a new key.  The
16229                         "new_key" parameter indicates whether or not we wish to ask the
16230                         user for a new key.
16231                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16232                         info-daemon in the return message, so use NULL instead.  The
16233                         key will be filled in at connect time by calling
16234                         nm_dbus_get_user_key_for_network()
16235
16236         * src/NetworkManagerDevice.c
16237                 - (nm_device_wireless_configure): update for "new_key" param to
16238                         nm_dbus_get_user_key_for_network().  We initially set new_key
16239                         to FALSE to see if we have a stored key in the info-daemon, but
16240                         if the connection is unsuccessful at this stage we request a
16241                         new one
16242
16243 2005-08-17  Dan Williams  <dcbw@redhat.com>
16244
16245         * gnome/applet/icons/nm-no-connection.png
16246           gnome/applet/icons/nm-device-wired.png
16247                 - Use Diana's new RJ45 connector icons
16248
16249 2005-08-17  Dan Williams  <dcbw@redhat.com>
16250
16251         * src/NetworkManagerPolicy.c
16252                 - (nm_policy_device_change_check): clarify switching rules if
16253                         both new and old devices are valid; mainly, don't switch
16254                         away from user-requested wireless connection back to a wired
16255                         one
16256
16257 2005-08-17  Dan Williams  <dcbw@redhat.com>
16258
16259         * gnome/applet/Makefile.am
16260                 - Relocate the applet to /usr/bin since it is no longer
16261                         executed by anything, but directly by the user
16262
16263 2005-08-17  Dan Williams  <dcbw@redhat.com>
16264
16265         Patch from Bill Moss <bmoss@clemson.edu>
16266
16267         * gnome/applet/applet-dbus-info.[ch]
16268                 - (nmi_save_network_info): save timestamp for network if it
16269                         was a change requested by the user
16270                 - (nmi_dbus_update_network_info): get user_requested from dbus
16271                         message and pass to nmi_save_network_info()
16272
16273         * gnome/applet/applet.c
16274                 - (nmwa_update_network_timestamp): remove
16275                 - (nmwa_menu_item_activate): don't set timestamp on networks
16276                         here, only after a successful connect in nmi_save_network_info()
16277
16278         * src/NetworkManagerDbus.[ch]
16279                 - (nm_dbus_update_network_info): pass user_requested into the 
16280                         dbus message
16281
16282         * src/NetworkManagerPolicy.c
16283                 - (nm_policy_activation_finish): pass user_requested to
16284                         nm_dbus_update_network_info()
16285
16286 2005-08-16  Robert Love  <rml@novell.com>
16287
16288         * gnome/applet/applet.c: Better "Dial Up" menu item.
16289
16290 2005-08-16  Robert Love  <rml@novell.com>
16291
16292         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16293           "Connection Information" menu item.
16294
16295 2005-08-16  Dan Williams  <dcbw@redhat.com>
16296
16297         Patch from j@bootlab.org
16298         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16299
16300         * configure.in: allow specifying the path to dhcdbd
16301
16302 2005-08-16  Robert Love  <rml@novell.com>
16303
16304         Patch from j@bootlab.org
16305         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16306           src/backends/interface_parser.h: Debian dialup support.
16307
16308 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16309
16310         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16311         * gnome/applet/applet.c: Add some mnemonics for VPNC
16312
16313         * vpn-daemons/.cvsignore: fix this up a little bit
16314
16315 2005-08-16  Robert Love  <rml@novell.com>
16316
16317         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16318           support.
16319
16320 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16321
16322         * gnome/applet/applet.c: Split markup out of translatable strings
16323         and clean up logic a little bit.  (fixes #309012)
16324
16325 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16326
16327         * gnome/vpn-properties/nm-vpn-properties.c:
16328         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16329         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16330         Makeshift fix to remove newlines from translatable strings.
16331         Note that we now return an allocated string, so callers of
16332         get_confirmation_details () must now call g_free () on the
16333         result. (fixes #309033).
16334
16335 2005-08-12  Robert Love  <rml@novell.com>
16336
16337         * gnome/applet/applet-dbus.c: remove newlines from translatable
16338           strings--not needed here anyway. (fix b.g.o #309011)
16339         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16340
16341 2005-08-11  Robert Love  <rml@novell.com>
16342
16343         * gnome/applet/applet.c: mark string as translatable.
16344
16345 2005-08-11  Robert Love  <rml@novell.com>
16346
16347         * initscript/SUSE/networkmanager: update.
16348
16349 2005-08-11  Dan Williams  <dcbw@redhat.com>
16350
16351         * src/nm-dhcp-manager.c
16352                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16353                         an gateway returned from DHCP, try to use the address of the DHCP
16354                         server as the gateway instead.  Found by Ralf Ertzinger.
16355
16356 2005-08-10  Robert Love  <rml@novell.com>
16357
16358         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16359           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16360
16361 2005-08-10  Dan Williams  <dcbw@redhat.com>
16362
16363         Patch from Bill Moss <bmoss@clemson.edu>
16364         * Consolidate writes of access point information updates to the info daemon
16365                 so that we only do it when the connection to the access point was
16366                 successful.  Also consolidates updates to GConf in the Gnome applet.
16367
16368         * src/nm-netlink-monitor.c
16369                 - Silence compile warning when calling g_object_new()
16370
16371 2005-08-08  Dan Williams  <dcbw@redhat.com>
16372
16373         Patch from Steev <steev@steev.net>:
16374         * src/backends/NetworkManagerGentoo.c
16375                 - Stub new dialup backend functions
16376
16377 2005-08-08  Dan Williams  <dcbw@redhat.com>
16378
16379         Patch from Colin Slater:
16380         * src/backends/NetworkManagerGentoo.c
16381                 - (nm_system_update_dns): Fix exit status check for restarting
16382                         nscd
16383
16384 2005-08-05  Robert Love  <rml@novell.com>
16385
16386         * NetworkManager.h,
16387           gnome/applet/applet-dbus-devices.c,
16388           gnome/applet/applet-dbus-devices.h,
16389           gnome/applet/applet-dbus.c,
16390           gnome/applet/applet.c,
16391           gnome/applet/applet.h,
16392           src/NetworkManager.c,
16393           src/NetworkManagerMain.h,
16394           src/NetworkManagerSystem.h,
16395           src/backends/NetworkManagerRedHat.c,
16396           src/backends/NetworkManagerSuSE.c,
16397           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16398
16399 2005-08-05  Robert Love  <rml@novell.com>
16400
16401         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16402           machine's hostname to make adhoc creation idiot-proof.
16403
16404 2005-08-04  Robert Love  <rml@novell.com>
16405
16406         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16407           freed.
16408
16409 2005-08-04  Dan Williams  <dcbw@redhat.com>
16410
16411         * gnome/applet/applet-dbus-info.c
16412           gnome/applet/applet-dbus-info.h
16413                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16414                         to store key, key type, and auth method rather than just auth method
16415                 - (nmi_dbus_update_network_info): new function
16416                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16417
16418         * gnome/applet/passphrase-dialog.c
16419                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16420                         of saving the info ourselves
16421
16422         * gnome/libnm_glib/libnm_glib.c
16423                 - Remove the stupid version check for dbus
16424
16425         * src/NetworkManagerAP.c
16426           src/NetworkManagerAP.h
16427                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16428
16429         * src/NetworkManagerDbus.c
16430           src/NetworkManagerDbus.h
16431                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16432                         more than just the auth method
16433
16434         * src/NetworkManagerDevice.c
16435                 - Update network info at the appropriate times
16436
16437 2005-07-29  Ray Strode  <rstrode@redhat.com>
16438
16439         * src/NetworkManager.c (nm_info_handler): don't use input as format
16440         string (Spotted by Ian Jackson).
16441
16442 2005-07-27  Dan Williams  <dcbw@redhat.com>
16443
16444         * src/nm-dbus-nm.c
16445           src/nm-dbus-net.c
16446                 - Random cleanups of spacing
16447
16448         * gnome/applet/applet.h
16449           gnome/applet/other-network-dialog.c
16450           gnome/applet/passphrase-dialog.c
16451                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16452
16453         Patch from Bill Moss:
16454                 - Make Other Wireless Networks work again with encryption keys
16455
16456 2005-07-26  Dan Williams  <dcbw@redhat.com>
16457
16458         Patch from Steev <steev@steev.net>:
16459         * src/backends/NetworkManagerGentoo.c
16460           src/backends/Makefile.am
16461                 - Fix up Gentoo backend
16462
16463 2005-07-26  Robert Love  <rml@novell.com>
16464
16465         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16466
16467 2005-07-25  Robert Love  <rml@novell.com>
16468
16469         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16470           in the same group as the wireless networks, since they are all
16471           mutually exclusive.
16472
16473 2005-07-24  Ray Strode  <rstrode@redhat.com>
16474
16475         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16476         remove unneeded NULL arg from g_object_new().  Any
16477         warnings caused by not having the extra NULL are just a
16478         result of a bug in glib 2.7.0 - 2.7.2.
16479
16480 2005-07-22  Robert Love  <rml@novell.com>
16481
16482         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16483
16484 2005-07-22  Robert Love  <rml@novell.com>
16485
16486         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16487           parameters (gcc 4.0.2 warning fix).
16488
16489 2005-07-18  Robert Love  <rml@novell.com>
16490
16491         Suggested by Aaron Bockover (abockover@novell.com)
16492         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16493           s/Ascii/ASCII
16494         * gnome/applet/passphrase-dialog.c: ditto
16495         * gnome/applet/wireless-applet.glade: ditto
16496
16497 2005-07-13  Dan Williams  <dcbw@redhat.com>
16498
16499         Patch from Ray Strode <halfline@gmail.com>
16500         * vpn-daemons/vpnc/nm-vpnc-service.c
16501                 - Don't let vpnc daemonize, fixes some races with PID file reading
16502
16503 2005-07-13  Dan Williams  <dcbw@redhat.com>
16504
16505         Patch from Ray Strode <halfline@gmail.com>
16506         * Random cleanups for strict CFLAGS
16507
16508 2005-07-07  Dan Williams  <dcbw@redhat.com>
16509
16510         Patch from Derek Atkins <warlord@MIT.EDU>
16511         * src/nm-dbus-net.c:
16512                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16513
16514 2005-07-07  Dan Williams  <dcbw@redhat.com>
16515
16516         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16517         * src/backends/NetworkManagerGentoo.c
16518                 - Gentoo backend Static IP nameserver fixes
16519                 - General Gentoo backend goodness
16520
16521 2005-07-07  Dan Williams  <dcbw@redhat.com>
16522
16523         Patch from Bastien Nocera:
16524         * gnome/applet/applet.c
16525                 - Fix up error reporting when icons or glade files are missing
16526
16527 2005-07-07  Robert Love  <rml@novell.com>
16528
16529         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16530           are not any VPN connections above it.
16531
16532 2005-07-07  Robert Love  <rml@novell.com>
16533
16534         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16535
16536 2005-07-05  Robert Love  <rml@novell.com>
16537
16538         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16539           zero.
16540
16541 2005-07-05  Robert Love  <rml@novell.com>
16542
16543         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16544           on wired or unencrypted wireless.
16545
16546 2005-07-01  Robert Love  <rml@novell.com>
16547
16548         * src/NetworkManagerSystem.c: Print the error via strerror().
16549
16550 2005-06-30  Robert Love  <rml@novell.com>
16551
16552         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16553           then exit if the glade file is not found.  currently the application
16554           just hangs.
16555
16556 2005-06-30  Robert Love  <rml@novell.com>
16557
16558         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16559           explicitly up all interfaces on wake from sleep.
16560
16561 2005-06-30  Robert Love  <rml@novell.com>
16562
16563         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16564           with information about the currently active connection.
16565         * gnome/applet/applet.h: (ditto)
16566         * gnome/applet/wireless-applet.glade: (ditto), new file
16567
16568 2005-06-30  Robert Love  <rml@novell.com>
16569
16570         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16571         * src/nm-dbus-nm.c: print when we sleep and wake up.
16572         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16573         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16574           in /sbin unless D-BUS is, folks).
16575         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16576
16577 2005-06-27  Robert Love  <rml@novell.com>
16578
16579         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16580           case.
16581
16582 2005-06-27  Robert Love  <rml@novell.com>
16583
16584         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16585           items radios.
16586
16587 2005-06-26  Robert Love  <rml@novell.com>
16588
16589         * src/NetworkManagerDevice.c: be specific about which device in
16590           nm_info() message.
16591
16592 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16593
16594         * src/nm-netlink-monitor.c: correct spelling error.
16595
16596 2005-06-23  Robert Love  <rml@novell.com>
16597
16598         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16599         * gnome/applet/passphrase-dialog.c: more of that keyring!
16600
16601 2005-06-23  Robert Love  <rml@novell.com>
16602
16603         * configure.in: remove extraneous GNOMEKEYRING directives.
16604         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16605         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16606         * gnome/applet/passphrase-dialog.c: whitespace.
16607
16608 2005-06-23  Robert Love  <rml@novell.com>
16609
16610         * src/NetworkManagerDevice.c: division in assignment was flipped.
16611
16612 2005-06-23  David Zeuthen  <david@fubar.dk>
16613
16614         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16615         signal to the child to indicate that we got what we wanted when we
16616         see two new-lines right after each other.
16617         (nmwa_vpn_request_password): Pass a structure with several members
16618         instead of just the passwords
16619
16620 2005-06-23  Dan Williams <dcbw@redhat.com>
16621
16622         * src/NetworkManager.c
16623           src/NetworkManagerMain.h
16624                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16625                 - (nm_hal_init): new function, init libhal context then add devices
16626                 - (nm_hal_deinit): new function, clean up libhal context
16627                 - (nm_data_free): Move Hal cleanup here
16628                 - (main): check whether Hal is running, and if so, get a list of
16629                         network devices from it
16630
16631         * src/NetworkManagerDbus.c
16632                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16633                         and when it appears, get a list of network devices from it.  If
16634                         Hal goes away, clean up the libhal context
16635
16636 2005-06-22  Robert Love  <rml@novell.com>
16637
16638         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16639           permissions of scripts before executing.
16640
16641 2005-06-21  Robert Love  <rml@novell.com>
16642
16643         * initscript/SUSE/networkmanager: update.
16644         * src/backends/NetworkManagerSuSE.c: cleanup.
16645
16646 2005-06-21  Robert Love <rml@novell.com>
16647
16648         * gnome/applet/applet.c: use menu mnemonics.
16649         * gnome/applet/menu-items.c: (ditto)
16650
16651 2005-06-21  Robert Love  <rml@novell.com>
16652
16653         * applet/applet-dbus-devices.c: mark non-static functions static.
16654         * applet/applet-dbus-vpn.c: (ditto)
16655         * applet/applet.c: (ditto)
16656         * applet/nm-device.h: (ditto)
16657         * applet/other-network-dialog.c: (ditto)
16658         * applet/passphrase-dialog.c: (ditto)
16659         * NetworkManager.c: (ditto)
16660         * NetworkManagerDbus.c: (ditto)
16661         * NetworkManagerDevice.c: (ditto)
16662         * NetworkManagerPolicy.c: (ditto)
16663         * NetworkManagerUtils.c: (ditto)
16664         * NetworkManagerWireless.c: (ditto)
16665         * NetworkManagerWireless.h: (ditto)
16666         * nm-netlink-monitor.c: (ditto)
16667         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16668         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16669         * autoip.c: include autoip.h.
16670         * autoip.h: new file.  define get_autoip().
16671         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16672         * NetworkManagerDbus.h: remove duplicate definitions.
16673
16674 2005-06-20  Robert Love  <rml@novell.com>
16675
16676         * Makefile.am: Add missing intltool-foo.in generated files to
16677           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16678           with the start of stuff to cleanup on 'distclea'.
16679         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16680           stuff right and 'distcheck' works.
16681         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16682           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16683           Makefile.am for each.  And systray/Makefile needs to be redone.
16684
16685 2005-06-19  Dan Williams <dcbw@redhat.com>
16686
16687         * src/NetworkManagerDevice.c
16688         - (nm_device_wireless_process_scan_results): scan every 20s when
16689           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16690
16691 2005-06-19  Dan Williams <dcbw@redhat.com>
16692
16693         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16694
16695 2005-06-18  Ray Strode <rstrode@redhat.com>
16696
16697         * src/nm-netlink-monitor.c 
16698         (nm_netlink_monitor_event_handler): check for the presence
16699         of either error condition not both. 
16700         
16701         (nm_netlink_monitor_error_handler): emit error signal if
16702         error occurs.
16703
16704         (nm_netlink_monitor_event_handler),
16705         (nm_netlink_monitor_error_handler),
16706         (nm_netlink_monitor_disconnect_handler): if an 
16707         assertion fails disconnect the event handler to prevent 
16708         infinite loops.
16709
16710         * src/nm-netlink-monitor.h: add new error condition
16711         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16712
16713 2005-06-18  Ray Strode <rstrode@redhat.com>
16714
16715         * src/nm-netlink-monitor.c 
16716         (nm_netlink_monitor_event_handler): remove bogus < 0
16717         check on unsigned value and return early if the kernel
16718         didn't send any bytes.
16719
16720 2005-06-17  Robert Love  <rml@novell.com>
16721
16722         * initscript/SUSE/networkmanager: Change the Provides and default
16723         run levels
16724
16725 2005-06-16  Dan Williams <dcbw@redhat.com>
16726
16727         Patch from Robert Love:
16728         * gnome/applet/applet.c
16729                 - Beautify some applet menu item names
16730
16731 2005-06-17  David Zeuthen  <davidz@redhat.com>
16732
16733         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16734         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16735         Also add new methods can_export, import_file and export.
16736
16737         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16738         to the main UI
16739
16740         * gnome/vpn-properties/nm-vpn-properties.c:
16741         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16742         nm-vpn-ui-interface.h.
16743         (update_edit_del_sensitivity): Also update "Export" sensitivity
16744         (add_vpn_connection): Also add new SVC_NAME column
16745         (import_settings): New function
16746         (retrieve_data_from_selected_connection): New function
16747         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16748         this function
16749         (export_cb): New function
16750         (init_app): Also setup the "export" widget
16751         (main): Support the --import-service and --import-file commandline
16752         arguments
16753
16754         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16755         D-BUS 0.34
16756
16757 2005-06-16  Dan Williams <dcbw@redhat.com>
16758
16759         Patch from Robert Love:
16760         * gnome/applet/menu-items.c
16761                 - (network_menu_item_new): pass -1 as wireless network
16762                         menu items height size request rather than ascent / 2
16763
16764 2005-06-16  Dan Williams <dcbw@redhat.com>
16765
16766         * Clean up wording in Wireless Scan Methods menu items and constants
16767
16768 2005-06-16  Robert Love  <rml@novell.com>
16769
16770         * po/POTFILES.in
16771                 - remove gtkcell* files
16772
16773 2005-06-15  Dan Williams <dcbw@redhat.com>
16774
16775         Patch from Robert Love: make the applet stetic
16776
16777         * gnome/applet/Makefile.am
16778                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16779
16780         * gnome/applet/gtkcellview.h
16781           gnome/applet/gtkcellview.c
16782           gnome/applet/gtkcellrendererprogress.h
16783           gnome/applet/gtkcellrendererprogress.c
16784                 - Removed
16785
16786         * gnome/applet/menu-items.c
16787                 - Progress bars are 5:1 size ratio
16788                 - Use GTK progress bars rather than internal ones
16789
16790 2005-06-15  Dan Williams <dcbw@redhat.com>
16791
16792         Patch from Robert Love:
16793         * initscript/SUSE/networkmanager
16794                 - Fix typo
16795
16796 2005-06-15  Dan Williams <dcbw@redhat.com>
16797
16798         * src/backends/NetworkManagerSuSE.c
16799           src/backends/NetworkManagerRedHat.c
16800           src/backends/NetworkManagerDebian.c
16801                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16802
16803 2005-06-15  Dan Williams <dcbw@redhat.com>
16804
16805         * src/backends/NetworkManagerDebian.c
16806                 - Add nm_system_device_get_use_dhcp() to debian backend
16807
16808         Patch from Kay Sievers:
16809         * src/backends/NetworkManagerSuSE.c
16810                 - Update debian backend for static IP nameservers
16811
16812         * src/NetworkManagerDevice.c
16813                 - Actually set the device to use static IP or DHCP rather
16814                         than always DHCP
16815
16816 2005-06-15  Dan Williams <dcbw@redhat.com>
16817
16818         Patch from Thom May:
16819         * src/backends/NetworkManagerDebian.c
16820                 - Update debian backend for static IP nameservers
16821
16822 2005-06-15  Dan Williams <dcbw@redhat.com>
16823
16824         Patches from Robert Love:
16825         * gnome/applet/wireless-applet.glade
16826                 - Tighten up wording
16827
16828         * src/NetworkManagerDevice.c
16829                 - Remove misplaced ';'
16830
16831         * configure.in
16832           initscript/Makefile.am
16833           initscript/SUSE/Makefile.am
16834           initscript/SUSE/networkmanager
16835                 - Add SUSE initscript
16836
16837 2005-06-12  David Zeuthen  <davidz@redhat.com>
16838
16839         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16840
16841         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16842
16843         * gnome/vpn-properties/nm-vpn-properties.c: New file
16844
16845         * gnome/vpn-properties/Makefile.am: New file
16846
16847         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16848         array of passwords
16849
16850         * src/vpn-manager/nm-vpn-manager.c
16851         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16852         instead of just a single one
16853
16854         * src/vpn-manager/nm-dbus-vpn.c:
16855         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16856         here
16857         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16858
16859         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16860         Change the interface here to give a list of passwords. Also, don't
16861         require username, but do require service
16862
16863         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16864         the binary for the auth-dialog and use that instead of putting up a
16865         dialog asking for a single password
16866
16867         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16868         however do remember the service
16869
16870         * gnome/applet/main.c (main): Setup i18n
16871
16872         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16873         connection to '%s'" to the tooltip if we are connected using VPN
16874         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16875         key to determine whether we the auth-dialog needs to
16876         reprompt. Also cope with the fact that the auth-dialog now returns
16877         an array of passwords.
16878         (nmwa_menu_configure_vpn_item_activate): New handler for
16879         "Configure VPN..." menu item
16880         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16881         (is_vpn_available): New function to determine if we got any
16882         NM-compatible VPN software installed
16883         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16884         items only if we have NM-compatible VPN software installed
16885         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16886         logic for detecting when VPN connections are removed
16887
16888         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16889         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16890         since these are defined elsewhere
16891
16892         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16893         function used to keep track of whether the last attempt succeded
16894         (nmwa_dbus_filter): Update last_attempt according to whether the
16895         VPN connection could be established or not
16896
16897         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16898         Change prototype to take an array of passwords, not just a single
16899         password
16900
16901         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16902         update service, not user
16903         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16904         dbus_active_vpn_name is not NULL before using it
16905         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16906         string array instead of assuming a single password
16907
16908         * gnome/applet/applet-dbus-info.c:
16909         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16910         user name; don't read from gconf
16911
16912         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16913         VPN_NAME_FILES_DIR
16914
16915         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16916
16917         * configure.in: Add checks for gmodule-2.0.
16918         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16919         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16920         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16921         for details
16922
16923         * vpn-daemons/Makefile.am: Removed
16924
16925         * vpn-daemons/README: New file to describe extensions points for VPN
16926         software
16927
16928 2005-06-10  Dan Williams <dcbw@redhat.com>
16929
16930         * src/backends/NetworkManagerRedHat.c
16931                 - (get_current_profile_name): new function, grab current network profile name from
16932                         /etc/sysconfig/network
16933                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16934                         update an IP4 Config structure's settings from it
16935                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16936                         get DNS info from current network profile
16937
16938 2005-06-09  Dan Williams <dcbw@redhat.com>
16939
16940         Patch from Robert Love:
16941         * src/NetworkManagerDevice.c
16942           src/NetworkManagerUtils.c
16943                 - 64-bit build fixes
16944
16945 2005-06-09  Dan Williams <dcbw@redhat.com>
16946
16947         Patch from Kay Sievers and Robert Love:
16948         * configure.in
16949           src/backends/Makefile.am
16950           src/backends/NetworkManagerSuSE.c
16951                 - Add SuSE support
16952
16953 2005-06-09  Dan Williams <dcbw@redhat.com>
16954
16955         * NetworkManager.h
16956                 - Add NMWirelessScanMethod enum for scan methods
16957
16958         * gnome/applet/applet-dbus-devices.c
16959                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16960                 - (nmwa_dbus_update_scanning_enabled): remove
16961                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16962                         since it got removed
16963                 - (nmwa_dbus_enable_scanning): remove
16964
16965         * gnome/applet/applet-dbus-info.c
16966                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16967                         update the wireless scanning method from NMI
16968                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16969                         method value to NetworkManager
16970                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16971
16972         * gnome/applet/applet-dbus-info.h
16973                 - Add prototype for nmi_dbus_signal_update_scan_method
16974
16975         * gnome/applet/applet.c
16976                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16977                         Wireless Scanning menu based on current wireless scan method
16978                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16979                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16980                         and update our menu items to make sure the right one is checked
16981                 - (nmwa_set_scanning_enabled_cb): remove
16982                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16983                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16984                         Scanning menu item
16985                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16986                         from GConf
16987                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16988                         so we get notified of preference values too
16989                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16990
16991         * gnome/applet/applet.h
16992                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16993                 - Add wireless scan method member to applet data
16994                 - Remove pause_scanning_item, add Wireless Scanning submenu
16995
16996         * src/NetworkManager.c
16997                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16998                 - (main): grab scanning method from NMI if we can
16999
17000         * src/NetworkManagerDbus.c
17001                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17002                         nm_dbus_update_wireless_scan_method()
17003                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17004                         from NMI
17005                 - (nm_dbus_nmi_is_running): redundant function, removed
17006                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17007                         when NMI comes back
17008
17009         * src/NetworkManagerDevice.c
17010                 - (nm_device_is_activated): return TRUE if the device is activated
17011                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17012                         and we are activated
17013
17014         * src/nm-dbus-nm.c
17015                 - (nm_dbus_nm_set_scanning_enabled): removed
17016                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17017                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17018
17019 2005-06-09  Dan Williams <dcbw@redhat.com>
17020
17021         * NetworkManager.h
17022           src/vpn-manager/nm-vpn-service.c
17023                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17024
17025 2005-05-27  Dan Williams <dcbw@redhat.com>
17026
17027         * vpn-daemons/vpnc/nm-vpnc-service.c
17028                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17029                         Should fix the bug where the VPN connection terminates the first time.
17030
17031 2005-05-20  Dan Williams <dcbw@redhat.com>
17032
17033         * NetworkManager.h
17034                 - Differentiate VPN config signals between bad VPN config options
17035                         and bad IP config
17036
17037         * gnome/applet/applet-dbus-info.h
17038                 - Add prototypes for wireless network and vpn connection update functions
17039
17040         * gnome/applet/applet-dbus.c
17041                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17042
17043         * gnome/applet/applet.c
17044                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17045                         error signals
17046                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17047                         propogation to NetworkManager
17048                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17049                         notify propogation to NetworkManager
17050
17051         * src/NetworkManagerDbus.c
17052                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17053                         are updating so a network can be removed from it if necessary
17054
17055         * src/vpn-manager/nm-vpn-manager.c
17056                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17057
17058         * vpn-daemons/vpnc/nm-vpnc-service.c
17059                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17060                 - (nm_vpnc_dbus_signal_launch_failed): remove
17061                 - (nm_vpnc_dbus_signal_connect_failed): remove
17062                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17063                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17064                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17065                         for new generalized error signal function, remove config file stuff
17066                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17067                         we can write configuration options to it
17068                 - (nm_vpnc_config_file_generate): removed
17069                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17070                 - (nm_vpnc_config_options_validate): validate the config options we receive
17071                         from NetworkManager to block potential exploits
17072                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17073                         starting vpnc
17074                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17075                         to NetworkManager
17076
17077 2005-05-16  Dan Williams  <dcbw@redhat.com>
17078
17079         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17080                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17081                         is not "connect"
17082
17083 2005-05-16  Dan Williams  <dcbw@redhat.com>
17084
17085         Patch from Tomislav Vujec <tvujec@redhat.com>
17086         * gnome/applet/applet-dbus-info.c
17087                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17088                         GConf and pass them to NetworkManager.  New key is 'routes' under
17089                         the VPN connection, and should be a string list
17090
17091         * src/NetworkManagerSystem.c
17092                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17093                         set them on the device when we set the rest of the VPN config.  Ensure
17094                         they are in the correct format since they are passed directly to the
17095                         command line.
17096
17097         * src/backends/NetworkManagerRedHat.c
17098           src/backends/NetworkManagerDebian.c
17099                 - (nm_system_device_add_route_via_device_with_iface): new function
17100
17101         * src/vpn-manager/nm-dbus-vpn.c
17102                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17103
17104         * src/vpn-manager/nm-vpn-manager.c
17105                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17106                         them into the IP4 config functions
17107
17108 2005-05-15  Dan Williams  <dcbw@redhat.com>
17109
17110         From Filip Miletic:
17111         * po/sr.po
17112           po/sr@Latn.po
17113           configure.in
17114                 - Serbian translation added
17115
17116 2005-05-15  Dan Williams  <dcbw@redhat.com>
17117
17118         * dispatcher-daemon/NetworkManagerDispatcher.c
17119                 - (main): sync arguments with NetworkManager and the applet, now use
17120                         "--no-daemon" rather than "daemon=no"
17121                 - (nmd_print_usage): Fix script path in usage message
17122
17123 2005-05-15  Dan Williams  <dcbw@redhat.com>
17124
17125         * src/NetworkManagerDevice.[ch]
17126           src/NetworkManagerPolicy.c
17127           src/NetworkManager.c
17128           src/nm-dbus-nm.c
17129                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17130                         longer send the DeviceNoLongerActive signal unconditionally, but only
17131                         when the device is actually active.
17132
17133         * dispatcher-daemon/NetworkManagerDispatcher.c
17134                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17135                         and simplify the logic
17136                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17137                         we free it later on
17138
17139         * initscript/RedHat/Makefile.am
17140           initscript/RedHat/NetworkManagerDispatcher
17141                 - Add initscript for NetworkManagerDispatcher
17142
17143
17144         Patch from Bill Moss:
17145         * dispatcher-daemon/NetworkManagerDispatcher.c
17146                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17147
17148         * src/NetworkManagerDbus.c
17149                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17150                         and DeviceNowActive gets signaled, then the device has a new IP address
17151                         anyway.  There's no need for a separate signal.
17152
17153         * src/NetworkManagerDevice.c
17154                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17155
17156         * src/NetworkManagerPolicy.c
17157                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17158                         activates successfully.  This kind of went missing when I reworked the
17159                         activation code.
17160
17161 2005-05-15  Dan Williams  <dcbw@redhat.com>
17162
17163         * configure.in
17164                 - Check for dhcdbd and error if its not found
17165
17166         * src/dhcp-manager/Makefile.am
17167           src/dhcp-manager/nm-dhcp-manager.c
17168                 - Use path to dhcdbd that configure found
17169
17170 2005-05-14  Dan Williams  <dcbw@redhat.com>
17171
17172         * gnome/applet/nm-device.c
17173                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17174                         sort wireless networks alphabetically
17175
17176         * gnome/applet/applet-dbus-devices.c
17177                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17178                         before copying them over to the GUI
17179
17180 2005-05-14  Dan Williams  <dcbw@redhat.com>
17181
17182         * src/NetworkManager.c
17183                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17184                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17185                         the device list, as does nm_get_active_device() which is called from
17186                         nm_vpn_manager_deactivate_vpn_connection().
17187
17188 2005-05-14  Dan Williams  <dcbw@redhat.com>
17189
17190         * NetworkManager.h
17191                 - Add signals for VPN Launch and Connect failures
17192
17193         * gnome/applet/applet-dbus.c
17194                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17195
17196         * gnome/applet/applet.c
17197                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17198                         function to handle all VPN failure messages
17199                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17200                         function to hanlde all VPN failure  messages
17201                 - (show_warning_dialog): work around focus-stealing prevention
17202
17203         * gnome/applet/other-network-dialog.c
17204           gnome/applet/passphrase-dialog.c
17205                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17206                         problem where it never enabled for ASCII Key and Hex Key types
17207
17208         * gnome/applet/wireless-applet.glade
17209                 - Add window title to Other Wireless Network Dialog
17210
17211         * src/vpn-manager/nm-dbus-vpn.c
17212                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17213                         function to handle all VPN failure messages
17214
17215         * src/vpn-manager/nm-vpn-manager.c
17216                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17217
17218         * vpn-daemons/vpnc/nm-vpnc-service.c
17219                 - (nm_vpnc_dbus_signal_launch_failed): new function
17220                 - (nm_vpnc_dbus_signal_connect_failed): new function
17221                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17222                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17223                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17224                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17225
17226 2005-05-11  Dan Williams  <dcbw@redhat.com>
17227
17228         * vpn-daemons/vpnc/nm-vpnc-service.c
17229                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17230                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17231                         file exists before trying to write it out.
17232
17233 2005-05-10  Dan Williams  <dcbw@redhat.com>
17234
17235     * gnome/applet/applet-dbus-device.c
17236         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17237             prevented just entering ESSID and leaving key and key type up to
17238             NetworkManager (which should have them already cached)
17239
17240 2005-05-08  Dan Williams  <dcbw@redhat.com>
17241
17242         * src/NetworkManagerPolicy.c
17243                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17244                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17245                         fix a situation where NM is told to terminate and the device stops activation,
17246                         but the main thread isn't aware of that because it would never have run
17247                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17248                         had already quit.
17249
17250         * src/NetworkManagerDevice.c
17251                 - (nm_device_probe_wired_link_state): cosmetic fixes
17252                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17253                         we've failed to activate or been canceled.
17254                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17255
17256 2005-05-08  Dan Williams  <dcbw@redhat.com>
17257
17258         * src/NetworkManagerWireless.c
17259                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17260                         value of WEXT quality structures, and add a debug message when we cannot
17261                         determine any quality % at all
17262
17263 2005-05-08  Dan Williams  <dcbw@redhat.com>
17264
17265         * src/dhcp-manager/nm-dhcp-manager.c
17266                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17267                         it goes down.
17268
17269 2005-05-06  Dan Williams  <dcbw@redhat.com>
17270
17271         * gnome/applet/applet-dbus-device.c
17272           gnome/applet/applet-dbus-info.c
17273           gnome/applet/applet-dbus.c
17274           gnome/applet/applet.c
17275           gnome/applet/applet.h
17276                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17277
17278         * gnome/applet/applet-dbus.c
17279                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17280                         so we notice when wired device's carriers come back on.  Should
17281                         fix issue with wired devices being grayed out even if the cable
17282                         is in, for devices that support carrier detection.
17283
17284         * gnome/applet/applet.c
17285                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17286                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17287                         tooltip message
17288                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17289                         Fix situation where applet wouldn't respond to menu selections
17290
17291         * src/NetworkManager.c
17292           src/NetworkManagerDevice.c
17293           src/NetworkManagerDbus.c
17294           src/NetworkManagerDbus.h
17295                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17296
17297         * src/NetworkManagerDbus.c
17298                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17299                         Remove, no longer used or relevant
17300                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17301                 - (nm_dbus_schedule_device_status_change_signal): add
17302
17303         * src/NetworkManagerDevice.c
17304                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17305                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17306                         ie don't deactivate them unless explicitly told to by the user.  Also send
17307                         CARRIER_OFF / CARRIER_ON signals when link changes
17308                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17309                         Don't print error message when device is no longer around
17310                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17311                         not just during activation
17312
17313         * src/NetworkManagerPolicy.c
17314                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17315                         auto-device-selection.
17316                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17317
17318         * src/NetworkManagerSystem.c
17319                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17320                         is no longer present (Bill Moss)
17321
17322         * src/backends/shvar.c
17323                 - (svOpenFile): Open read-only to make SELinux happy
17324
17325         * src/backends/NetworkManagerRedHat.c
17326                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17327                         the path to the ifcfg-* files
17328
17329 2005-05-05  Dan Williams  <dcbw@redhat.com>
17330
17331         * Expose activation stages to NetworkManager clients, like the applet
17332         * Add Diana's progress icons to the applet, cued off NM activation stage
17333         * Use more descriptive tooltips, cued off NM activation stage
17334
17335 2005-05-05  Ray Strode  <rstrode@redhat.com>
17336
17337         * src/nm-netlink-monitor.c:
17338                 - Use clear_event_source instead of g_nullify_pointer() again.
17339
17340 2005-05-05  Dan Williams  <dcbw@redhat.com>
17341
17342         * gnome/applet/main.c
17343                 - Fix session management so the applet is actually managed now
17344
17345         * gnome/applet/passphrase-dialog.c
17346                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17347
17348 2005-05-05  Dan Williams  <dcbw@redhat.com>
17349
17350         Patch from Bill Moss:
17351         * gnome/libnm_glib/libnm_glib.c
17352                 - Fix for dbus-0.33
17353
17354 2005-05-05  Dan Williams  <dcbw@redhat.com>
17355
17356         Suggestion from Bill Moss:
17357         * src/NetworkManagerSystem.c
17358                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17359
17360
17361         * src/NetworkManager.c
17362                 - (nm_data_free): move destruction of the various managers after
17363                         release of device list, because deactivating and freeing a device
17364                         requires at least the named manager
17365                 - (nm_poll_and_update_wireless_link_state):
17366                   (nm_device_link_activated):
17367                   (nm_device_link_deactivated):
17368                         don't grab the device list lock when actually updating device
17369                         link status or strength, since nm_device_set_link_active()
17370                         needs to call nm_get_active_device(), which also locks the device list.
17371
17372         * src/NetworkManagerDevice.c
17373                 - (nm_device_set_link_active): if a device's link switches from off->on,
17374                         and it's wired, and the active device is wireless (or there is no
17375                         active device), activate the new device whose link just came on
17376                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17377                         my only calling the link to the current ap "failed" when more than 2
17378                         consecutive link checks have failed
17379
17380 2005-05-04  Dan Williams  <dcbw@redhat.com>
17381
17382         * src/NetworkManagerDevice.c
17383                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17384                         but let link_to_specific_ap() do the locking where it needs
17385
17386         Patch from Bill Moss:
17387         * src/NetworkManagerSystem.c
17388                 - Set MTU of VPN devices to 1412
17389
17390 2005-05-04  Dan Williams  <dcbw@redhat.com>
17391
17392         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17393
17394         * Fix some holes in device activation and retaining the currently connected
17395                 access point
17396
17397 2005-05-03  Dan Williams  <dcbw@redhat.com>
17398
17399         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17400           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17401           means you need dhcdbd, which you can get here (get the latest one):
17402
17403                 http://people.redhat.com/jvdias/dhcdbd/
17404
17405           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17406           interface as dhcdbd.
17407
17408         * Rewrite device activation to facilitate the new DHCP infrastructure and
17409           future improvements.  Its now "activation request" based, ie there is a single
17410           activation request composed of the device, access point, and other info which
17411           follows the entire activation process.  There are 5 stages of the activation
17412           process which correspond to:
17413
17414                 1) Device preparation
17415                 2) Device configuration (bring it up, set ESSID/Key/etc)
17416                 3) IP Config Start (fire off DHCP if we're using it)
17417                 4) IP Config Get (grab config from DHCP or static config files)
17418                 5) IP Config Commit (set device's IP address, DNS, etc)
17419
17420           Note that there is no longer a "scanning" step, since the access point must
17421           be known _before_ activation starts.  If the access point drops out or does
17422           not exist for some reason, the entire activation process fails and must be
17423           restarted for a different access point or device.
17424
17425         Patch from Bill Moss:
17426         * gnome/applet/applet.c
17427                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17428
17429 2005-04-27  Dan Williams  <dcbw@redhat.com>
17430
17431         * gnome/applet/applet-dbus-vpn.c
17432           gnome/applet/applet.c
17433           gnome/applet/applet.h
17434                 - Fix up active VPN handling so that we reliably know when a VPN
17435                         connection has been deactivated
17436
17437         * src/vpn-manager/nm-vpn-manager.c
17438                 - Remove duplicate VPNConnectionChange signal
17439
17440 2005-04-27  Dan Williams  <dcbw@redhat.com>
17441
17442         Patch from Peter Jones:
17443         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17444
17445         Patch from Bill Moss:
17446         * src/NetworkManagerSystem.c
17447                 - Fix checking of return value from ioctl()
17448
17449 2005-04-27  Dan Williams  <dcbw@redhat.com>
17450
17451         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17452         * Warn and exit if icons cannot be found
17453
17454 2005-04-27  Dan Williams  <dcbw@redhat.com>
17455
17456         Patch from Tom Parker:
17457         * Update debian backend
17458
17459 2005-04-27  Dan Williams  <dcbw@redhat.com>
17460
17461         * Merge the applet and the info-daemon, and move the converged
17462                 applet under gnome/applet
17463         * Move libnm_glib to gnome/libnm_glib
17464         * Convert most dbus calls between the applet, info-daemon, and NM
17465                 into async calls
17466         * Fix a few things valgrind noticed
17467         * Make NM broadcast state more reliably
17468
17469 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17470
17471         * configure.in: Added ne in ALL_LINGUAS
17472
17473 2005-04-15  Dan Williams  <dcbw@redhat.com>
17474
17475         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17476                 code for dbus 0.2x versions
17477
17478 2005-04-15  Dan Williams  <dcbw@redhat.com>
17479
17480         Patches from Tom Parker:
17481         - Fix memleaks
17482         - Join with worker thread rather than polling for its exit
17483
17484         Patch from Bill Moss:
17485         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17486
17487 2005-04-15  Dan Williams  <dcbw@redhat.com>
17488
17489         - Fixes to pass 'make distcheck'
17490
17491 2005-04-15  Dan Williams  <dcbw@redhat.com>
17492
17493         Initial VPN Support
17494                 - supports 'vpnc'
17495                 - reworks device IP configuration, backend files have changed and will need
17496                         to be updated for all distributions.  I will try to do what I can for
17497                         them, but I cannot test them.
17498
17499         - Move named directory to src/named-manager
17500         - Make backends directory self-contained
17501
17502 2005-04-06  Dan Williams  <dcbw@redhat.com>
17503
17504         Add debug code for socket/file descriptor leaks.  We register every socket
17505         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17506         list of sockets that we forgot to close on shutdown.  This also consolidates
17507         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17508
17509 2005-04-06  Dan Williams  <dcbw@redhat.com>
17510
17511         * dhcpcd/dhcpcd.c
17512                 - (dhcp_interface_free): fix a file descriptor leak that may have
17513                         caused network drivers to not unload due to refcounts > 0
17514
17515 2005-04-04  Dan Williams  <dcbw@redhat.com>
17516
17517         * panel-applet/NMWirelessAppletDbus.c
17518                 - (nmwa_dbus_call_nm_method): remove some commented code
17519
17520         * src/NetworkManagerAPList.[ch]
17521                 - (nm_ap_list_remove_ap_by_essid): new function
17522
17523         * src/NetworkManagerDevice.c
17524                 - (nm_device_wireless_force_use): remove access points from the ignore list
17525                         when the user forces them
17526
17527         * src/nm-dbus-device.c
17528                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17529
17530 2005-04-04  Dan Williams  <dcbw@redhat.com>
17531
17532         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17533
17534 2005-04-04  Dan Williams  <dcbw@redhat.com>
17535
17536         * src/NetworkManagerDevice.c:
17537                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17538                         of only erroring after the second consecutive scan times out.  Also
17539                         don't exit when the card requires more time than we can give it, just
17540                         log the event and continue.
17541
17542 2005-04-01  Steve Murphy  <murf@e-tools.com>
17543
17544         * configure.in: Added "rw" to ALL_LINGUAS.
17545
17546 2005-04-01  Dan Williams <dcbw@redhat.com>
17547
17548         Perform scans during device activation, if needed.  Both activation 
17549         and scans run in the same GMainContext.  Therefore, if an access point
17550         is not found by the time the device starts activation, it will not
17551         be available until after activation.  We now try to scan during
17552         activation (in nm_wa_test) every 15s so that all available access
17553         points are more likely to be found and available for the activation
17554         procedure.
17555
17556         Also change nm_wireless_link_state_handle() to only update the "best"
17557         AP if we are not forcing a device and if we are not about to change
17558         state.  This attempts to work around a race when forcing a device,
17559         where the forced AP would get cleared out too soon by the link state
17560         checking timeout in the main thread, and the activation attempt with
17561         that AP would fail.
17562
17563 2005-04-01  Dan Williams <dcbw@redhat.com>
17564
17565         * po/POTFILES.in
17566                 - Update with new translatables
17567
17568 2005-03-31  Dan Williams <dcbw@redhat.com>
17569
17570         * panel-applet/NMWirelessAppletDbus.c
17571                 - Fix device names now that hal has changed device parenting for
17572                         network devices.
17573
17574 2005-03-31  Dan Williams <dcbw@redhat.com>
17575
17576         Tighten up handling of wireless devices that don't support wireless
17577         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17578         hadn't been doing pseudo-scanning for a while either and would just
17579         spin waiting for an access point.  They are now manual devices where
17580         the user must choose the access point from the menu every time.  All
17581         "allowed" access points are listed in the applet's menu regardless
17582         of whether or not they can be seen by the card, since it can't scan
17583         anyway.
17584
17585         * src/NetworkManager.c
17586                 - (nm_wireless_link_state_handle): new function, but only update
17587                         the "best" ap for non-scanning devices when its not activating,
17588                         and when no device is being forced on the card
17589                 - (nm_link_state_monitor): split wireless link state handling out
17590                         into separate function
17591
17592         * src/NetworkManagerDevice.c
17593                 - (nm_device_copy_allowed_to_dev_list): new function
17594                 - (nm_device_new): populate non-scanning cards' AP lists with
17595                         access points from the "allowed" list
17596                 - (nm_device_new): don't start a scanning timeout for devices that
17597                         can't scan
17598                 - (nm_device_activation_schedule_finish): new parameter, should be
17599                         the AP that failed to be connected to, pass it on to the
17600                         activation finish function in NetworkManagerPolicy.c
17601                 - (nm_device_activate_wireless): don't ever try to get a new AP
17602                         for non-scanning devices, just fail.  The user must choose
17603                         a new access point manually.
17604                 - (nm_device_activate): grab the AP that failed connection and
17605                         pass it on
17606                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17607                         a link to it, user must manually choose a new one
17608                 - (nm_device_do_pseudo_scan): remove function
17609                 - (nm_device_wireless_process_scan_results): remove bits for non-
17610                         scanning cards since they never get here
17611                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17612                         and fake the scan list for test devices a bit earlier
17613
17614         * src/NetworkManagerPolicy.c
17615                 - (nm_policy_activation_finish): use the failed_ap that we get
17616                         passed rather than getting the best_ap from the card, which
17617                         may have changed since we were scheduled
17618                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17619                         update their scan list directly from the allowed list when
17620                         we get updates to the allowed list from NetworkManagerInfo
17621
17622         * src/NetworkManagerPolicy.h
17623                 - New member for failed access point in NMActivationResult
17624
17625   -------------------------------------
17626
17627         Driver Notification patch: notifies the user when their driver
17628                 sucks.  Gives them the option to ignore further insertions
17629                 of the card that has the sucky driver.
17630
17631         * NetworkManager.h
17632                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17633                         enum and replace it with NO_CARRIER_DETECT and
17634                         NO_WIRELESS_SCAN
17635
17636         * panel-applet/NMWirelessApplet.[ch]
17637                 - Merge essid.glade -> wireless-applet.glade
17638                 - Implement the "Your driver sucks" notification dialog
17639
17640         * panel-applet/NMWirelessAppletDbus.c
17641                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17642                 - Grab hardware address for each device from NM too
17643                 - Check whether the driver for each device sucks or not whenever
17644                         a new device is noticed
17645
17646         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17647                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17648
17649         * src/NetworkManager.c
17650                 - Fix a double-unref on device removal
17651
17652         * src/NetworkManagerUtils.c
17653                 - Set appropriate driver support level on a device that doesn't
17654                         support scanning or carrier detection
17655
17656         * src/nm-dbus-device.c
17657                 - New "getHWAddress" dbus method on devices
17658                 - getSupportsCarrierDetect -> getDriverSupportLevel
17659
17660 2005-03-31  Dan Williams <dcbw@redhat.com>
17661
17662         * src/NetworkManagerDevice.c
17663                 - (nm_device_wireless_scan): Fix leak of scan results in some
17664                         instances
17665
17666 2005-03-29  Dan Williams <dcbw@redhat.com>
17667
17668         * src/NetworkManager.c
17669                 - (nm_poll_and_update_wireless_link_state): make code less indented
17670
17671         Patch from Bill Moss:
17672         * src/NetworkManager.c
17673                 - (nm_device_update_link_state): Update signal strength on wireless
17674                         devices every time we update link state too.
17675
17676 2005-03-29  Dan Williams <dcbw@redhat.com>
17677
17678         * src/NetworkManagerDevice.c
17679                 - (nm_device_set_essid): Work around Orinoco cards which need
17680                         extra time after setting the ESSID
17681
17682 2005-03-29  Dan Williams <dcbw@redhat.com>
17683
17684         * src/NetworkManagerDevice.c
17685                 - Merge one more bit of Peter Jones' completion patch
17686
17687 2005-03-29  Dan Williams <dcbw@redhat.com>
17688
17689         * src/NetworkManagerDevice.c
17690                 - (nm_device_force_use): Fix possible segfault
17691
17692 2005-03-29  Dan Williams <dcbw@redhat.com>
17693
17694         * src/NetworkManagerDevice.c
17695                 - Use iw_get_ext() where we should rather than iw_set_ext()
17696
17697 2005-03-29  Dan Williams <dcbw@redhat.com>
17698
17699         * src/NetworkManagerDevice.c
17700                 - (nm_device_set_up_down): remove check for unsupported devices
17701                         that caused NM to not bring devices up when they were
17702                         added to the device list.
17703
17704 2005-03-28  Dan Williams <dcbw@redhat.com>
17705
17706         * src/NetworkManagerDevice.c
17707                 - (mdio_read): Fix two bugs that caused all devices to fail
17708                         the MII carrier detection support checks
17709
17710 2005-03-26  Dan Williams <dcbw@redhat.com>
17711
17712         * src/NetworkManagerDevice.c
17713                 - (nm_device_wireless_scan): Remove duplicated scanning code
17714
17715 2005-03-25  Dan Williams <dcbw@redhat.com>
17716
17717         * panel-applet/NMWirelessApplet.c
17718                 - (nmwa_about_cb): Add some more contributors
17719                 - (nmwa_update_state): show the applet when there's no connection
17720                 - Enable the "Stop/Resume all wireless devices" option in the
17721                         context menu
17722                 - New "no connection" icon
17723
17724         * src/NetworkManager.c
17725                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17726                         wireless is disabled or we're asleep
17727
17728         * src/NetworkManagerDHCP.c
17729                 - Remove trailing "\n" on debug messages
17730
17731         * src/NetworkManagerDbus.c
17732                 - (nm_dbus_network_status_from_data): new state "asleep"
17733
17734         * src/NetworkManagerDevice.c
17735                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17736                         latency and wait times for most operations
17737                 - (nm_device_wireless_scan): Don't scan when asleep
17738
17739         * src/NetworkManagerPolicy.c
17740                 - (nm_policy_get_best_device): return no device when asleep
17741                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17742                         for all wireless devices on update, not just active device
17743
17744         * src/NetworkManagerUtils.c
17745                 - Merge Peter Jones' "completion" patch
17746
17747         * src/nm-dbus-nm.c
17748                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17749                         we're told to disable them
17750                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17751
17752         * utils/nm-utils.h
17753                 - New variants of the warn/info/error/debug print functions that can take
17754                         variables rather than static strings
17755
17756 2005-03-24  Dan Williams <dcbw@redhat.com>
17757
17758         * src/NetworkManagerUtils.c
17759                 - (nm_get_device_driver_name): driver names are now on the parents of
17760                         "Network Interface" objects, so look for them there
17761
17762 2005-03-24  Dan Williams <dcbw@redhat.com>
17763
17764         * test/nmtest.c
17765                 - Escape some forgotten object paths before we shove them through dbus
17766
17767 2005-03-24  Dan Williams <dcbw@redhat.com>
17768
17769         * dhcpcd/dhcpcd.[ch]
17770           src/NetworkManagerDHCP.c
17771                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17772                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17773
17774         * src/NetworkManagerDbus.c
17775                 - spacing cleanups
17776
17777         * src/nm-dbus-dhcp.c
17778                 - Make the API suck less.  There is now only 1 type of each function,
17779                         ie only "getInteger" and no longer also "getIntegerv".  All types
17780                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17781                         that will never have more than 1 element.  This should simplify
17782                         things greatly.
17783
17784         * test/nm-dhcp-opt-test.c
17785                 - Make the tool not segfault
17786                 - adapt to new DHCP Options API
17787
17788 2005-03-22  Dan Williams <dcbw@redhat.com>
17789
17790         * src/NetworkManager.c
17791                 - (nm_wired_link_deactivated): actually ignore netlink events from
17792                         wireless devices.
17793
17794 2005-03-22  Dan Williams <dcbw@redhat.com>
17795
17796         * src/NetworkManager.c
17797                 - (nm_wired_link_activated): actually ignore netlink events from
17798                         wireless devices.
17799
17800 2005-03-17  Dan Williams <dcbw@redhat.com>
17801
17802         Patch from Tom Parker:
17803         * src/nm-netlink-monitor.c
17804                 - Include unistd.h
17805         * info-daemon/NetworkManagerInfoDbus.c
17806                 - (nmi_dbus_update_network_auth_method): free GConf values
17807
17808         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17809         * src/NetworkManagerDevice.c
17810                 - (nm_device_set_wireless_config): wait for successful
17811                         association longer for some cards (Atheros a/b/g)
17812
17813 2005-03-15  Ray Strode  <rstrode@redhat.com>
17814
17815         * src/NetworkManager.c:
17816         (sigterm_pipe_handler):
17817         remove bogus FIXME
17818
17819 2005-03-15  Ray Strode  <rstrode@redhat.com>
17820
17821         * src/NetworkManagerDbus.c:
17822         Fix some sign weirdness that gcc4 doesn't like,
17823         and add a header file so PPC can hopefully find
17824         SIGTRAP
17825
17826 2005-03-14  Ray Strode  <rstrode@redhat.com>
17827         
17828         Fourth (probably working) cut at porting to
17829         dbus 0.30 api and new hal. This cut adds
17830         some new logging macros to make debugging
17831         easier.
17832
17833         * dispatcher-daemon/NetworkManagerDispatcher.c:
17834         * info-daemon/NetworkmanagerInfo.c:
17835         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17836         * info-daemon/NetworkManagerInfoVPN.c:
17837         * src/NetworkManager.c:
17838         * src/NetworkManagerAP.c:
17839         * src/NetworkManagerAPList.c:
17840         * src/NetworkManagerDHCP.c:
17841         * src/NetworkManagerDbus.c:
17842         * src/NetworkManagerDevice.c:
17843         * src/NetworkManagerPolicy.c:
17844         * src/NetworkManagerSystem.c:
17845         * src/NetworkManagerUtils.c:
17846         * src/NetworkManagerWireless.c:
17847         * src/autoip.c:
17848         * src/nm-dbus-nm.c:
17849         * src/backends/NetworkManagerDebian.c:
17850         * src/backends/NetworkManagerGentoo.c:
17851         * src/backends/NetworkManagerRedHat.c:
17852         * src/backends/NetworkManagerSlackware.c:
17853         use new logging macros.
17854
17855         * dispatcher-daemon/NetworkManagerDispatcher.c:
17856         (nmd_dbus_filter): s/dbus_free/g_free/
17857
17858         * info-daemon/Makefile.am: link in utils library.
17859         * info-daemon/NetworkmanagerInfo.c: use new logging 
17860         macros.
17861         (nmi_dbus_get_network): don't assume enumerations
17862         are 32-bit.
17863         (nmi_dbus_nmi_message_handler): don't free what 
17864         doesn't belong to us.
17865
17866         * libnm_glib/libnm_glib.c:
17867         (libnm_glib_get_nm_status): 
17868         (libnm_glib_init): don't free what doesn't
17869         belong to us.
17870         (libnm_glib_dbus): strdup result, so it doesn't get
17871         lost when message is unref'd.
17872
17873         * panel-applet/NMWirelessAppletDbus.c:
17874         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17875
17876         * src/NetworkManager.c:
17877         (nm_monitor_wired_link_state): request initial status 
17878         dump of all cards when we start up, instead of relying
17879         on /sys/.../carrier.
17880         (nm_info_handler), (nm_set_up_log_handlers): 
17881         log handlers to specify what syslog priorites 
17882         the logging macros default to.
17883
17884         * src/NetworkManagerAPList.c: 
17885         (nm_ap_list_populate_from_nmi):
17886         s/dbus_free_string_array/g_strfreev/
17887
17888         * src/NetworkManagerDbus.c:
17889         (nm_dbus_get_network_object):
17890         validate d-bus message argument types.
17891         Advance message iterator after reading argument,
17892         prepend instead of append to GSList.
17893
17894         * src/NetworkManagerDevice.c:
17895         (nm_device_probe_wired_link_status):
17896         remove redundant /sys in /sys path. remove wrong
17897         contents == NULL means has carrier assumption.
17898
17899         * src/nm-netlink-monitor.c 
17900         (nm_netlink_monitor_request_status): implement
17901         function to ask kernel to dump interface link
17902         status over netlink socket.
17903
17904         * test/*.c: s/dbus_free/g_free/
17905
17906         * utils/nm-utils.h:
17907         (nm_print_backtrace): new macro to print backtrace.
17908         (nm_get_timestamp): new macro to get sub-second precise
17909         unix timestamp.
17910         (nm_info), (nm_debug), (nm_warning), (nm_error):
17911         new logging functions. nm_info just prints,
17912         nm_debug includes timestamp and function,
17913         nm_warning includes function, nm_error includes
17914         backtrace and sigtrap.
17915
17916 2005-03-11  Ray Strode  <rstrode@redhat.com>
17917
17918         Third (unfinished, partially working) cut at porting to 
17919         dbus 0.30 api and new hal.
17920
17921         * info-daemon/NetworkManagerInfoDbus.c:
17922                 don't free null arrays.
17923
17924         * panel-applet/NMWirelessAppletDbus.c: 
17925         * src/nm-dbus-device.c:
17926         * src/nm-dbus-net.c: 
17927         * src/NetworkManagerDbus.c: more 
17928         STRING -> OBJECT_PATH fun
17929         * src/NetworkManagerDevice.c:
17930         * src/NetworkManagerDevice.h:
17931         (rename nm_device_get_link_active): rename to 
17932         nm_device_has_active_link
17933         (nm_device_wireless_link_active): rename to
17934         nm_device_probe_wireless_link_state
17935         (nm_device_wired_link_active): rename to
17936         nm_device_probe_wired_link_state.  Rewrite to
17937         use carrier file since hal doesn't maintain
17938         link state anymore.
17939         (nm_device_update_link_active): rename to
17940         nm_device_update_link_state
17941         * src/NetworkManagerPolicy.c 
17942           (nm_policy_activation_finish): check for NULL
17943           MAC address.
17944
17945         * src/Makefile.am:
17946         * src/NetworkManagerMain.h: 
17947         * src/NetworkManager.c:
17948         * src/nm-netlink-monitor.c:
17949         * src/nm-netlink-monitor.h: New class to support
17950         monitoring wired ethernet link status, since HAL
17951         doesn't export that information anymore.
17952
17953 2005-03-09  Ray Strode  <rstrode@redhat.com>
17954
17955         Second (unfinished, unworking) cut at porting to 
17956         dbus 0.30 api.
17957
17958         * dispatcher-daemon/NetworkManagerDispatcher.c:
17959         * info-daemon/NetworkManagerInfoDbus.c:
17960         * panel-applet/NMWirelessAppletDbus.c:
17961         * src/NetworkManagerDbusUtils.c:
17962         * src/NetworkManagerDbusUtils.h:
17963         * src/nm-dbus-device.c:
17964         * src/nm-dbus-nm.c:
17965         * test/nmtest.c: support dbus "object path" type
17966
17967         * configure.in: 
17968         * Makefile.am:
17969         * info-daemon/Makefile.am:
17970         * libnm_glib/Makefile.am:
17971         * panel-applet/Makefile.am:
17972         * dispatcher-daemon/Makefile.am
17973         * src/Makefile.am:
17974         * test/Makefile.am:
17975         * utils/Makefile.am: 
17976         * utils/nm-utils.c: 
17977         * utils/nm-utils.h: new utils static lib
17978
17979 2005-03-07  Ray Strode  <rstrode@redhat.com>
17980
17981         * info-daemon/NetworkManagerInfoDbus.c:
17982         * libnm_glib/libnm_glib.c:
17983         * panel-applet/NMWirelessAppletDbus.c:
17984         * src/NetworkManager.c:
17985         * src/NetworkManagerDbus.c:
17986         * src/NetworkManagerDevice.c:
17987         * src/NetworkManagerUtils.c:
17988         * src/nm-dbus-device.c:
17989         * src/nm-dbus-dhcp.c:
17990         * src/nm-dbus-net.c:
17991         * src/nm-dbus-nm.c:
17992         * test/nminfotest.c:
17993         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17994
17995 2005-03-04  Dan Williams  <dcbw@redhat.com>
17996
17997         * configure.in
17998                 - Mark HEAD as 0.4
17999
18000 2005-03-04  Dan Williams  <dcbw@redhat.com>
18001
18002         Patch from Peter Jones:
18003         - Make stuff work with gcc 4.0
18004
18005 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18006
18007         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18008
18009 2005-02-27  Jim Huang  <jserv@kaffe.org>
18010
18011         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18012
18013 2005-02-27  Dan Williams  <dcbw@redhat.com>
18014
18015         Patch from Bill Moss:
18016         * panel-applet/NMWirelessAppletDbus.c
18017                 - Make sure strength for current access point is up-to-date when we
18018                         update the gui data model
18019
18020 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18021
18022         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18023
18024 2005-02-27  Dan Williams  <dcbw@redhat.com>
18025
18026         * src/backends/NetworkManagerRedHat.c
18027                 - (nm_system_init): Kill any dhclient processes lying around as well
18028                         as stopping 'nifd' if its already been started.  NetworkManager
18029                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18030
18031 2005-02-27  Dan Williams  <dcbw@redhat.com>
18032
18033         * panel-applet/NMWirelessApplet.c
18034                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18035                         dbus data model, not the GUI data model twice.
18036
18037 2005-02-27  Dan Williams  <dcbw@redhat.com>
18038
18039         * panel-applet/NMWirelessApplet.[ch]
18040           panel-applet/NMWirelessAppletDbus.[ch]
18041                 - Move to incremental network updates.  Instead of blowing away our list
18042                         of devices every time we get a signal from NetworkManager, we now
18043                         incrementally add/remove networks when NetworkManager notifies us that
18044                         a new network has appeared or disappered.  Strength updates now happen
18045                         on-the-fly for each access point as well.  There are now two copies of
18046                         data from NetworkManager: one for the dbus side, and one for the gui side.
18047                         When the dbus side data is modified, it is copied over to the gui side
18048                         so we don't have to hold the data_mutex for long periods of time (and
18049                         therefore block animation of the applet's icon).
18050                 - Clean up some memleaks too
18051
18052         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18053                 - Minor code beautification
18054
18055         * src/NetworkManagerAPList.c
18056                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18057                         completely new and whether or not an existing one's strength was updated.
18058                         Try to fix multiple access points and signal strength by using the highest
18059                         signal strength in each scan for any given ESSID.
18060
18061         * src/NetworkManagerDbus.[ch]
18062                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18063                         wireless networks; now we have only WirelessNetworkUpdate which includes
18064                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18065                 - Kill usage of DbusMessageIter
18066
18067         * src/NetworkManagerDevice.c
18068                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18069                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18070                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18071                         currently associated with from the network list.
18072                 - Update for new signals during scan, send out Appeared, Disappeared, or
18073                         StrengthChanged when necessary.
18074
18075 2005-02-25  Dan Williams  <dcbw@redhat.com>
18076
18077         * README
18078                 - Line break the README
18079
18080 2005-02-25  Dan Williams  <dcbw@redhat.com>
18081
18082         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18083                 - Remove usage of gtk_window_set_default_size()
18084
18085         * panel-applet/essid.glade
18086                 - Stick default size here
18087                 - Add in random crap that current glade wants to add in now
18088
18089 2005-02-25  Dan Williams  <dcbw@redhat.com>
18090
18091         * src/backends/NetworkManagerRedHat.c
18092                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18093                         and that we actually tell nscd to reload the hosts cache when it changes
18094
18095 2005-02-25  Dan Williams  <dcbw@redhat.com>
18096
18097         * info-daemon/NetworkManagerInfoDbus.c
18098                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18099
18100         * test/nminfotest.c
18101                 - Whack usage of DbusMessageIter
18102                 - Clean up DbusError and DbusMessage handling and freeing
18103                 - Remove unused unregister handler
18104
18105         * test/nmtest.c
18106                 - Whack usage of DbusMessageIter
18107
18108         * test/nmtestdevices.c
18109                 - Whack usage of DbusMessageIter
18110
18111 2005-02-25  Dan Williams  <dcbw@redhat.com>
18112
18113         * NetworkManager.h
18114                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18115                         signal
18116
18117 2005-02-25  Dan Williams  <dcbw@redhat.com>
18118
18119         * named/nm-named-manager.c
18120                 - Ensure that pid and watch variables for child named process get cleared out
18121                         when the child goes away.
18122
18123 2005-02-22  Dan Williams  <dcbw@redhat.com>
18124
18125         * src/NetworkManagerPolicy.c
18126                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18127                         and NULL out data->active_device so that we have to choose another one.
18128                         This may make NetworkManager keep attempting to connect to a wired network
18129                         if it fails, but if it keeps failing the wired network has more problems than
18130                         just NetworkManager.
18131
18132         * src/backends/NetworkManagerRedHat.c
18133                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18134                         is already running
18135
18136         * named/nm-named-manager.c
18137                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18138                         named so that the distro can flush whatever name service caching
18139                         daemon it uses
18140
18141 2005-02-21  Dan Williams  <dcbw@redhat.com>
18142
18143         * src/NetworkManagerDHCP.[ch]
18144                 - (nm_device_dhcp_remove_timeouts): new function
18145
18146         * src/NetworkManagerDevice.c
18147                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18148                         remove the DHCP timeouts.
18149
18150 2005-02-21  Dan Williams  <dcbw@redhat.com>
18151
18152         * panel-applet/NMWirelessApplet.[ch]
18153           panel-applet/menu-info.[ch]
18154                 - Give the panel applet some major love: menu items are no longer
18155                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18156                         This allows the applet to actually reflect theme changes correctly,
18157                         since themeing of subclassed items in GTK _sucks_.
18158
18159 2005-02-18  Dan Williams  <dcbw@redhat.com>
18160
18161         * libnm_glib/libnm_glib.[ch]
18162           test/libnm_glib_test.c
18163                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18164                         and its data, and doesn't have to free the callback data anymore
18165
18166 2005-02-18  Dan Williams  <dcbw@redhat.com>
18167
18168         * panel-applet/NMWirelessApplet.c
18169                 - Revert 2005-02-18 William Jon McCann fix for standard
18170                         copyright string until it passes 'make distcheck'.
18171                         With standard copyright string, xgettext complains
18172                         about "Non-ASCII string at ...".
18173
18174 2005-02-18  Dan Williams  <dcbw@redhat.com>
18175
18176         * panel-applet/essid.glade
18177           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18178                 - Correct spelling of "adaptor"->"adapter"
18179
18180 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18181
18182         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18183         (nmwa_about_cb): Use standard copyright string.  Update comment
18184         text to reflect that it is a notification area applet.  Remove
18185         leading newline in authors list.
18186         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18187         instead of on parent menu item activation.  Fixes #167550.
18188
18189 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18190
18191         * panel-applet/essid.glade: Capitalize items as per HIG.
18192           Fixes #167632
18193
18194 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18195
18196         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18197         files for GTK 2.4 or lower, since now public in GTK 2.6.
18198
18199         * panel-applet/essid.glade: Don't specify window size.
18200         
18201 2005-02-17  Dan Williams  <dcbw@redhat.com>
18202
18203         Caught by Bill Moss:
18204         * dhcpcd/client.c
18205                 - Time remaining for DHCP transaction calculation was incorrectly
18206                         inside a #ifdef DEBUG
18207
18208 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18209
18210         * configure.in: Added fr (French) to ALL_LINGUAS.
18211
18212 2005-02-14  Dan Williams  <dcbw@redhat.com>
18213
18214         * src/NetworkManagerDHCP.c
18215                 - (set_domain_searches): Fix free of invalid pointer
18216
18217 2005-02-14  Dan Williams  <dcbw@redhat.com>
18218
18219         Patch from Peter Jones:
18220         * dhcpcd/client.c
18221                 - Ensure we return RET_DHCP_CEASED everywhere we should
18222         * dhcpcd/udpipgen.c
18223                 - Use faster TOS for IP packets
18224                 - Don't set ip_id since we're UDP
18225
18226         Patch from Tomislav Vujec:
18227         * src/nm-dbus-dhcp.c
18228           test/nm-dhcp-opt-test.c
18229                 - Clean up warnings to enable cvs tree compilation.
18230
18231 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18232
18233         * configure.in
18234           po/hr.po
18235                 - Add the Croatian locale.
18236
18237 2005-02-14  Colin Walters  <walters@verbum.org>
18238
18239         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18240         list of domains to search.
18241         
18242         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18243
18244 2005-02-13  Dan Williams  <dcbw@redhat.com>
18245
18246         * dhcpcd/client.c
18247                 - Debug output cleanups of DHCP option printing and parsing.
18248
18249 2005-02-13  Dan Williams  <dcbw@redhat.com>
18250
18251         Patch from Dan Reed:  DHCP options D-BUS API
18252                 Exposes the DHCP options that a device receives to clients over D-BUS.
18253
18254         * configure.in
18255                 - A few cleanups
18256
18257         * dhcpcd/client.h
18258                 - Correct names, option length, and types for DHCP options
18259
18260         * dhcpcd/dhcpcd.[ch]
18261                 - Clarify function names that access DHCP options & data
18262
18263         * src/NetworkManagerDHCP.c
18264                 - Use new DHCP data access functions
18265
18266         * src/NetworkManagerDbus.c
18267                 - Message handler for DHCP functions
18268
18269         * src/nm-dbus-dhcp.[ch] (new)
18270                 - DHCP dbus methods
18271
18272         * test/nm-dhcp-opt-test.c
18273                 - Test DHCP D-BUS API and return all present DHCP options
18274
18275 2005-02-12  Dan Williams  <dcbw@redhat.com>
18276
18277         * test/Makefile.am
18278           test/nmclienttest.c
18279           test/nmtest.c
18280                 - Move nmclienttest.c -> nmtest.c
18281
18282 2005-02-12  Dan Williams  <dcbw@redhat.com>
18283
18284         * dhcpcd/buildmsg.c
18285                 - Pad DHCP packets until they are at least 300 bytes in size.
18286
18287 2005-02-11  Dan Williams  <dcbw@redhat.com>
18288
18289         * dhcpcd/client.c
18290                 - (dhcp_init): only print out client ID and class ID if they are specified
18291
18292         * src/NetworkManagerDbus.[ch]
18293           src/nm-dbus-nm.[ch]
18294           src/nm-dbus-device.[ch]
18295           src/nm-dbus-net.[ch]
18296                 - Move NM, Device, and Net functions to separate files and use the
18297                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18298                         method dispatching
18299
18300         * src/NetworkManagerDbusUtils.c
18301                 - Add new validate_method called before each dispatch (if present)
18302                         that can validate the method call
18303
18304         * src/NetworkManagerWireless.c
18305                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18306                         levels never to be evaluated
18307
18308         Patch from j@bootlab.org
18309         * src/NetworkManagerDevice.c
18310                 - Add typedef for "u64"
18311
18312         * src/backends/NetworkManagerDebian.c
18313                 - Copy in Dave Woodhouse's fixes for IPv6
18314
18315 2005-02-11  Dan Williams  <dcbw@redhat.com>
18316
18317         Patch from Dave Woodhouse for IPv6:
18318         * src/NetworkManagerUtils.c
18319                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18320                         and multicast addresses
18321
18322         * src/NetworkManagerDevice.c
18323                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18324                         after bringing up a card.
18325
18326 2005-02-10  Dan Williams  <dcbw@redhat.com>
18327
18328         Patch from Dave Woodhouse:
18329         * src/NetworkManagerSystem.h
18330           src/backends/NetworkManagerDebian.c
18331           src/backends/NetworkManagerGentoo.c
18332           src/backends/NetworkManagerSlackware.c
18333                 - New nm_system_device_add_ip6_link_address() function to add link-local
18334                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18335
18336         * src/backends/NetworkManagerRedHat.c
18337                 - (nm_system_device_add_ip6_link_address): implement
18338                 - (nm_system_device_flush_addresses): revert to previous behavior of
18339                         flushing all addresses
18340
18341 2005-02-10  Dan Williams  <dcbw@redhat.com>
18342
18343         Patch from Tom Parker:
18344         * src/NetworkManagerDevice.c
18345                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18346                         mii.h headers are broken, and instead use our own typedefs
18347
18348 2005-02-10  Dan Williams  <dcbw@redhat.com>
18349
18350         * dhcpcd/buildmsg.c
18351                 - (fill_host_and_class_id): only fill in client and class IDs if
18352                         they are set by callers.
18353
18354         * dhcpcd/client.c
18355                 - (class_id_setup): don't autogenerate a class ID, only use one
18356                         we're given, if any.
18357                 - (client_id_setup): don't autogenerate a client ID, only use one
18358                         we're given, if any.
18359
18360         * dhcpcd/dhcpcd.c
18361                 - (dhcp_interface_init): ensure that client options are correctly
18362                         NULL terminated
18363
18364         * src/NetworkManagerDHCP.c
18365                 - (nm_device_dhcp_request): pass hostname to dhcp library
18366
18367 2005-02-10  Dan Williams  <dcbw@redhat.com>
18368
18369         * dhcpcd/client.c
18370                 - #rh147661# Don't send kernel version in DHCP requests
18371
18372         * src/NetworkManagerSystem.h
18373           src/backends/NetworkManagerDebian.c
18374           src/backends/NetworkManagerGentoo.c
18375           src/backends/NetworkManagerRedHat.c
18376           src/backends/NetworkManagerSlackware.c
18377                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18378                         functions, they are no longer used anyway
18379
18380         * src/backends/NetworkManagerRedHat.c
18381                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18382                         addresses in an attempt to keep IPv6 local-scope addresses around
18383
18384 2005-02-10  Dan Williams  <dcbw@redhat.com>
18385
18386         * src/NetworkManager.c
18387                 - (nm_create_device_and_add_to_list): change the add message slightly
18388
18389         * src/NetworkManagerUtils.c
18390                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18391                         Return driver name to calling function
18392                 - (nm_get_driver_support_level): print out the driver a device is using
18393                         during the support check
18394
18395         Patch from Dave Woodhouse:
18396         * dhcpcd/udpipgen.c
18397                 - (in_cksum): copy last byte of odd-sized packets into a
18398                         'u_short' rather than a 'u_char', should fix wrong checksums
18399                         on big-endian platforms
18400
18401 2005-02-09  Dan Williams  <dcbw@redhat.com>
18402
18403         * Clean up usage of GSList objects and looping through their members
18404         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18405                 now.
18406         * Fix problem where even if scanning was turned off, card would still
18407                 cycle through frequencies.
18408
18409 2005-02-08  Dan Williams  <dcbw@redhat.com>
18410
18411         * panel-applet/NMWirelessApplet.c
18412                 - Fix for gtk 2.4
18413
18414 2005-02-08  Dan Williams  <dcbw@redhat.com>
18415
18416         Patch from Bill Moss
18417         * panel-applet/NMWirelessApplet.c
18418                 - Restore correct ESSID in tooltips
18419
18420 2005-02-07  Dan Williams  <dcbw@redhat.com>
18421
18422         * panel-applet/NMWirelessApplet.[ch]
18423                 - Add a context menu that contains:
18424                         Pause/Resume Wireless Scanning
18425                         Stop/Start All Wireless Devices
18426                         About...
18427                 - Grab active device strength off active device,
18428                         not its network
18429
18430         * panel-applet/NMWirelessAppletDbus.[ch]
18431                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18432                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18433                 - Update active device strength every 2 seconds, not every 1 second
18434
18435         * panel-applet/menu-info.c
18436                 - Only disable wired devices in the menu when they support carrier detection,
18437                         and don't currently have a link.  Non-carrier-detect devices will always
18438                         remain choosable
18439
18440         * src/Makefile.am
18441           src/NetworkManagerDbusUtils.[ch]
18442                 - Add new new dbus utils sources
18443
18444         * src/NetworkManager.c
18445                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18446                         with the boolean parameter
18447                 - Set scanning_enabled & wireless_enabled to TRUE
18448
18449         * src/NetworkManagerDbus.c
18450                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18451                 - Implement scanning & wireless enable/disable calls
18452                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18453
18454         * src/NetworkManagerDevice.c
18455                 - New link detection stuff again...
18456                         o  Create device's mainloop earlier (but don't run it earlier)
18457                         o  Hook up new carrier-detect support stuff
18458                         o  Add in the ethtool & mii support detection code
18459                 - Don't scan if scanning is disabled
18460
18461         * src/NetworkManagerPolicy.c
18462                 - Never automatically choose a device that doesn't support carrier detection
18463                 - Don't automatically choose a wireless device if wireless is disabled
18464
18465 2005-02-07  Dan Williams  <dcbw@redhat.com>
18466
18467         * libnm_glib/libnm_glib.c
18468                 - Small cleanup in element list iteration
18469
18470 2005-02-07  Dan Williams  <dcbw@redhat.com>
18471
18472         * src/NetworkManagerWireless.c
18473                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18474                         to be in line with the WEXT quality specification
18475
18476 2005-02-02  Dan Williams  <dcbw@redhat.com>
18477
18478         Patch from Nathan Fredrickson <nathan@silverorange.com>
18479         * Fix up compile for deprecation of libgnomeui
18480                 - Switch to <glib/gi18n.h> from <libintl.h>
18481                 - Remove <libgnomeui/libgnomeui.h> includes
18482                 - Use gtk_window_set_default_icon_from_file() rather than
18483                         gnome_window_set_default_icon_from_file()
18484
18485         * named/nm-named-manager.c
18486                 - (generate_named_conf): Fix return-nothing in non-void
18487                         function
18488
18489 2005-02-02  Dan Williams  <dcbw@redhat.com>
18490
18491         * Clean up unused variables and the like
18492
18493 2005-02-02  Dan Williams  <dcbw@redhat.com>
18494
18495         * src/NetworkManagerAPList.c
18496                 - (nm_ap_list_merge_scanned_ap): merge strength too
18497
18498         * src/NetworkManagerUtils.c
18499                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18500                         of locking issues by printing out prettier information than g_mutex_lock
18501                 - Print out names of mutexes registered with nm_register_mutex_desc()
18502                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18503                         us to seemingly block here for too long
18504
18505         * src/NetworkManager.c
18506           src/NetworkManagerAPList.c
18507           src/NetworkManagerDevice.c
18508                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18509                         so we get better debug information printed
18510
18511         * src/NetworkManagerDbus.c
18512                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18513                         since it sometimes has locking side effects
18514                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18515                         from 10s
18516                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18517                         we don't need a switch.  This gets called often enough that we can't block
18518                         until the scan mutex is acquired, because we'll block on device activation
18519                         and a few other things, which hangs main thread for too long.
18520
18521         * src/NetworkManagerPolicy.c
18522                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18523                         nm_device_need_ap_switch() will be called               
18524
18525 2005-02-02  Dan Williams  <dcbw@redhat.com>
18526
18527         * panel-applet/NMWirelessApplet.c
18528                 - Display name of wireless network we are connecting to or connected to
18529                         in the tooltip of the applet
18530
18531 2005-02-02  Dan Williams  <dcbw@redhat.com>
18532
18533         * src/NetworkManagerDHCP.c
18534                 - Hopefully fix double-default-route problem by cleaning up the default
18535                         route added by DHCP code right before the DHCP transaction begins
18536
18537 2005-02-02  Dan Williams  <dcbw@redhat.com>
18538
18539         * named/nm-named-manager.c
18540                 - Write out valid resolv.conf when we exit
18541
18542 2005-02-01  Dan Williams  <dcbw@redhat.com>
18543
18544         Patch from Colin Walters:
18545         * named/nm-named-manager.c
18546                 - Make multi-domain search options work
18547
18548 2005-01-31  Dan Williams  <dcbw@redhat.com>
18549
18550         * info-daemon/NetworkManagerInfoDbus.c
18551                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18552
18553         * src/NetworkManagerDevice.c
18554                 - (nm_device_new): Don't store the entire range struct, use only what we need
18555                         (which is currently avg_quality, max_quality, and frequencies).  Also
18556                         zero device structure when we've free'd it to maybe expose errors down
18557                         the line.
18558                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18559                         quality data from the card since quality will be useless during a scan.
18560                         Call updated wireless qual-to-percent function with values stored in
18561                         nm_device_new() earlier.
18562                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18563                         nm_device_get_bad_crypt_packets())
18564                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18565                         nm_device_new()
18566                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18567                         list if available.  Problem was this: when the WEP key is wrong, NM will
18568                         try OS then SK modes, and then get stuck in SK mode after that.  This
18569                         should reset it.
18570                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18571                         function
18572
18573         * src/NetworkManagerWireless.c
18574                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18575                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18576                         if that's all present, otherwise fall back to signal-to-noise ratios.
18577
18578 2005-01-29  Dan Williams  <dcbw@redhat.com>
18579
18580         * initscript/RedHat/NetworkManager
18581                 - Don't spit out sysctl stuff to console
18582
18583         * libnm_glib/libnm_glib.c
18584                 - (libnm_glib_init): call dbus_g_thread_init()
18585
18586         * panel-applet/NMWirelessAppletDbus.c
18587                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18588
18589         * src/NetworkManager.c
18590                 - (main): call dbus_g_thread_init()
18591
18592         * src/NetworkManagerAPList.c
18593                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18594                         so we can actually see what's there in a normal syslog
18595
18596         * src/NetworkManagerDevice.c
18597                 - (nm_device_activate_wireless): print out the "waiting for access point"
18598                         message only once, then say what access point we actually got after
18599                         the wait.
18600                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18601                         function, wait until the scan is done.  Scans may change the ESSID of
18602                         the card, making this function think we need to switch access points
18603                 - (nm_device_wireless_process_scan_results): for artificial access points
18604                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18605                         prevents collisions with the scanning code, which may change the card's
18606                         ESSID and cause the access point to get dropped from the device's AP
18607                         list.  Also increase the keep-around time to 2m from 60s since the max
18608                         scan interval could be 60s in some cases.
18609
18610         * src/NetworkManagerPolicy.c
18611                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18612                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18613                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18614                         between NM and NMI.
18615
18616 2005-01-27  Dan Williams  <dcbw@redhat.com>
18617
18618         * info-daemon/NetworkManagerInfoDbus.c
18619                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18620                         GConf, make a minimal entry for it (essid & timestamp)
18621
18622         * src/NetworkManagerAPList.c
18623                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18624                         NetworkManagerInfo isn't running
18625
18626         * src/NetworkManagerDbus.[ch]
18627                 - (nm_dbus_nmi_is_running): new function
18628
18629         * src/NetworkManagerDevice.c
18630                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18631                         address to garbage.
18632
18633         * src/NetworkManagerPolicy.c
18634                 - (nm_policy_activation_finish): On successful activation, make sure
18635                         the "best" AP has a MAC address, and don't tell NMI to add the
18636                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18637                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18638                         access point after refreshing our allowed list if it doesn't already
18639                         have a "best" access point.
18640
18641 2005-01-25  Dan Williams  <dcbw@redhat.com>
18642
18643         * panel-applet/NMWirelessAppletDbus.c
18644                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18645                         so we check for NM_DBUS_SERVICE rather than not for it
18646
18647         * libnm_glib/libnm_glib.c
18648                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18649                         ServiceOwnerChanged signal
18650
18651 2005-01-25  Dan Williams  <dcbw@redhat.com>
18652
18653         * configure.in
18654                 - Check DBUS version in configure, and set the C macros
18655                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18656
18657         * info-daemon/NetworkManagerInfoDbus.c
18658                 - Remove #if 0-d section of code that quit NMI if NM went away.
18659
18660         * panel-applet/NMWirelessAppletDbus.c
18661                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18662
18663         * src/NetworkManager.c
18664           src/NetworkManagerMain.h
18665           src/NetworkManagerDbus.c
18666                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18667                 - Make updating of our Allowed Wireless Network lists from NMI
18668                         an idle function in the main thread now, with a high priority.
18669
18670 2005-01-24  Dan Williams  <dcbw@redhat.com>
18671
18672         * panel-applet/gtkcellview.[ch]
18673           panel-applet/menu-info.c
18674                 - Fix GTK version checks to be <= rather than <
18675
18676         * test/Makefile.am
18677                 - Include the libtool archive of libnm_glib rather than
18678                         trying to pull in the .so
18679
18680 2005-01-24  Dan Williams  <dcbw@redhat.com>
18681
18682         * src/NetworkManagerDevice.c
18683           src/NetworkManagerDevicePrivate.h
18684                 - Block nm_device_new() until our device's worker thread has had a
18685                         chance to start up.  Fixes a race between main thread and worker
18686                         thread starting that caused activation requests to get lost.
18687
18688 2005-01-24  Dan Williams  <dcbw@redhat.com>
18689
18690         * initscript/RedHat/NetworkManager
18691                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18692                         to add the NM startup script at priority 50, which was
18693                         way too early
18694
18695 2005-01-24  Colin Walters  <walters@redhat.com>
18696
18697         * named/named.conf: Use any port for query source instead of
18698         restricting to port 53.
18699
18700 2005-01-24  Dan Williams  <dcbw@redhat.com>
18701
18702         * initscript/RedHat/NetworkManager
18703                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18704                         to add the NM startup script at priority 50, which was
18705                         way too early
18706
18707 2005-01-24  Dan Williams  <dcbw@redhat.com>
18708
18709         Patch from Tom Parker <palfrey@tevp.net>
18710         * Fix up compile warnings & errors in the wireless applet
18711
18712 2005-01-24  Dan Williams  <dcbw@redhat.com>
18713
18714         * panel-applet/NMWirelessApplet.c
18715                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18716
18717 2005-01-24  Dan Williams  <dcbw@redhat.com>
18718
18719         * panel-applet/gtkcellview.[ch]
18720                 - Only compile these files for GTK 2.4 or lower, since 
18721                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18722                         when choosing "Other Wireless Networks" from the panel
18723                         applet menu
18724
18725 2005-01-21  Dan Williams  <dcbw@redhat.com>
18726
18727         * src/NetworkManager.c
18728                 - Daemonize earlier so that glib doesn't get confused (?)
18729
18730 2005-01-21  Dan Williams  <dcbw@redhat.com>
18731
18732         * panel-applet/NMWirelessApplet.[ch]
18733           panel-applet/NMWirelessAppletDbus.c
18734           panel-applet/menu-info.c
18735           src/NetworkManagerDevice.c
18736                 - Disable wired devices in the menu when they have no link.
18737
18738 2005-01-21  Dan Williams  <dcbw@redhat.com>
18739
18740         * Cache last-known-good wireless authentication method in
18741                 NetworkManagerInfo, and use that method first during
18742                 wireless device activation.  Should speed up devices that
18743                 need Shared Key authentication method since Open System is
18744                 now the default.
18745
18746         * Remove the hack to not do full activation on wired connections
18747                 that are active when we launch, it causes too many problems
18748                 with name resolution and was a hack in the first place.
18749
18750         * Re-work wireless device activation again somewhat to have a
18751                 clearer chain of events and to use last-known-good
18752                 authentication method of the access point.  Also provide
18753                 better status throughout activation to ensure the applet
18754                 can tell the user exactly what's going on.
18755
18756         * Remove the "find wireless network" code and now simply attempt
18757                 to activate with that access point.  This reduces the delay
18758                 between selecting "Other wireless Network" and actually
18759                 connecting to that network.
18760
18761         * Correctly stop the device's worker thread when its removed.
18762
18763 2005-01-21  Dan Williams  <dcbw@redhat.com>
18764
18765         * dhcpcd/client.c
18766                 - Clean up some of the debug messages
18767
18768 2005-01-21  Dan Williams  <dcbw@redhat.com>
18769
18770         * Add new icons, more frames of animation
18771         * Remove some hacks to get the panel applet to display correct
18772                 status, an NM update will soon follow that will fix the
18773                 real issue.
18774
18775 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18776
18777         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18778         the first include for working i18n. Also, don't include it in .h files
18779         * panel-applet/NMWirelessApplet.h: Same
18780         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18781         * panel-applet/menu-info.c: Same
18782
18783 2005-01-18  Dan Williams <dcbw@redhat.com>
18784
18785         * dhcpcd/client.c
18786                 - Remove some debug messages
18787                 - Wrap others in #ifdef DEBUG/#endif
18788
18789         * src/NetworkManager.c
18790                 - Remove some debug messages
18791                 - Clarify some debug messages
18792                 - Remove code related to old single-thread wireless scanning
18793
18794         * src/NetworkManagerAP.[ch]
18795                 - New AP property "last_seen" to track how recently an AP was
18796                         found in a scan
18797                 - Start using 'const' more in function arguments
18798
18799         * src/NetworkManagerAPList.[ch]
18800                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18801                         of an AP found in an AP list from a source AP, or if not found
18802                         in the list add the source AP
18803                 - (nm_ap_list_combine): remove, no longer needed
18804
18805         * src/NetworkManagerDevice.c
18806                 - Each device now has a "worker" thread from start to end of its life.
18807                         Scanning for wireless devices now happens in that thread,
18808                         not in a single "wireless scanning thread" for all devices as
18809                         previously.  Activation consists of adding an idle handler to the
18810                         thread's main loop/context, which gets run at the next available
18811                         opportunity.
18812                 - Wireless scanning is also simplified, there is now only one list of
18813                         access points per wireless device, and APs older than 60s are
18814                         removed from the list.  Previously, we kept results for the last
18815                         3 scans and merged whole lists, which was complicated.
18816                 - Cleaned up activation debug messages.
18817                 - Wireless activation and access-point search routines now use Open System
18818                         authentication before trying Shared Key.
18819                 - Removed some code in nm_device_update_best_ap() that could cause cards
18820                         to loose their link to the access point.
18821                 - Scanning now uses a backoff algorithm, where the inverval becomes
18822                         progressively longer between scans when the list of scanned access
18823                         points doesn't change.  A change will revert to the shortest scan
18824                         interval (20s).
18825
18826         * src/NetworkManagerWireless.[ch]
18827                 - Remove code related to old single-thread wireless scanning
18828
18829 2005-01-18  Colin Walters  <walters@redhat.com>
18830
18831         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18832         of older nameservers.
18833
18834 2005-01-18  Colin Walters  <walters@redhat.com>
18835
18836         * named/nm-named-manager.c (generate_named_conf): Many fixes
18837         to config file generation.
18838         (safer_kill): Remove, was too much trouble for little gain.
18839         (nm_named_manager_start): Run named as NM_NAMED_USER.
18840
18841         * configure.in: Add option --with-named-user.
18842
18843 2005-01-14  Colin Walters  <walters@redhat.com>
18844
18845         Patch from ed@catmur.co.uk (Ed Catmur)
18846
18847         * named/nm-named-manager.c: Add "context" property.
18848         Use it to add child watch source in specific GMainContext.
18849
18850         * src/NetworkManager.c (nm_data_new): Initialize
18851         named with correct main context.  Start named only
18852         after forking.
18853
18854 2005-01-14  Colin Walters  <walters@redhat.com>
18855
18856         * named/nm-named-manager.c (generate_named_conf): Write config
18857         and pid files into NM_NAMED_DATA_DIR; this allows things to
18858         work better with FC3 named SELinux policy.  Also fix up silly
18859         format error.
18860
18861         * configure.in: Add --with-named-dir option.
18862
18863 2005-01-14  Colin Walters  <walters@redhat.com>
18864
18865         * configure.in: Make named support require passing --with-named.
18866
18867         * named/nm-named-manager.c: Support writing resolv.conf directly
18868         without running named.
18869
18870 2005-01-13  Dan Williams <dcbw@redhat.com>
18871
18872         * named/nm-named-manager.c
18873                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18874
18875         * src/NetworkManagerDevice.c
18876                 - Rework wireless link detection code to be more reliable
18877
18878 2005-01-12  Dan Williams <dcbw@redhat.com>
18879
18880         * initscripts/RedHat/NetworkManager
18881                 - Change initial level to "-" rather than "345" so that
18882                         we don't activate ourselves by default on install
18883
18884 2005-01-12  Dan Williams <dcbw@redhat.com>
18885
18886         * libnm_glib/
18887                 - Client library for applications using glib
18888
18889         * configure.in
18890           various Makefiles
18891                 - Split NM_CFLAGS and NM_LIBS into separate variables
18892                         like DBUS_*, HAL_* and GLIB_*
18893
18894         * src/NetworkManager.c
18895           src/NetworkManagerMain.h
18896                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18897                         broadcast a status changed signal over DBUS from the main thread.
18898                         Still unused anywhere for the moment.
18899
18900         Patch from j@bootlab.org
18901         * panel_applet/NMWirelessAppletDbus.c
18902           src/NetworkManagerDbus.c
18903                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18904                         for the "getMode" method call
18905
18906 2005-01-10  Dan Williams <dcbw@redhat.com>
18907
18908         * src/NetworkManagerDevice.c
18909                 - Minor fixups & corrections to "auto" frequency mode, make it
18910                         less chatty with syslog
18911
18912 2005-01-10  Dan Williams <dcbw@redhat.com>
18913
18914         * src/NetworkManagerDevice.c
18915                 - Implement "auto" frequency/channel support, since cards like Atheros
18916                         can't use other frequencies at all when you've told it to use a
18917                         specific one, even for scanning.
18918                 - Grab the scan mutex around places where we can't tolerate wireless
18919                         settings changing underneath us, like nm_device_wireless_network_exists()
18920                         and nm_device_activate_wireless()
18921
18922         * src/NetworkManagerWireless.c
18923                 - Back scan interval off to 20s instead of 14s
18924
18925 2005-01-09  Dan Williams <dcbw@redhat.com>
18926
18927         * src/NetworkManagerDevice.c
18928                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18929                         already set.  Stops some drivers like Atmel from continually
18930                         reloading the firmware, which they do upon every configuration
18931                         change.
18932
18933 2005-01-09  Dan Williams <dcbw@redhat.com>
18934
18935         * dhcpcd/client.c
18936                 - Use correct timeout value
18937
18938         * info-daemon/NetworkManagerInfoDbus.c
18939           src/NetworkManagerDbus.c
18940                 - Consolidate communication between NM and NMI by doing only 1 dbus
18941                         method call to get Wireless Network info from NMI instead of 6
18942
18943         * src/NetworkManager.c
18944                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18945                         when we didn't have an AP to use, we'd wait for one forever without
18946                         quitting
18947
18948         * src/NetworkManagerDevice.c
18949                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18950                         activation, dhcp might not have started yet but we don't quit activation
18951                         before starting it, so the quit signal gets lost
18952
18953 2005-01-07  Dan Williams <dcbw@redhat.com>
18954
18955         * dhcpcd/client.c
18956                 - Rework the DHCP client code to be much less chatty when
18957                         it receives non-DHCP UDP packets during the DHCP run
18958                         (reported by and preliminary patches from Bill Moss)
18959
18960         * Move wireless scanning to a separate thread.  This thread forwards the
18961                 results to the main thread when done where they are integrated into
18962                 the device's access point lists.  This keeps the main thread (which
18963                 does all the DBUS communication) from being blocked for long periods
18964                 of time by wireless scanning.
18965
18966         * Make state modification an idle routine in the main loop, and trigger
18967                 state changes rather than polling for them.
18968
18969         * src/backends/NetworkManagerGentoo.c
18970                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18971
18972         * src/NetworkManagerDevice.c
18973                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18974                         router advertisements, causing problems and infinite loop
18975                         during "best" device determination due to link going up/down
18976                         (reported by Bill Moss)
18977
18978         Apply patch from Peter Jones
18979         * src/NetworkManagerDevice.c
18980                 - Shortcut for link-checking for ipw2x00 cards
18981                 - Split out association check into separate routine
18982
18983 2004-01-05  Colin Walters  <walters@redhat.com>
18984
18985         * named/named.conf: Add PID_FILE.
18986
18987         * named/nm-named-manager.c: Always generate a pid
18988         file, since older BIND versions don't support
18989         "pid-file none".
18990
18991 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18992
18993         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18994
18995 2004-12-22  Dan Williams <dcbw@redhat.com>
18996
18997         * src/NetworkManagerDevice.c
18998                 - Silently fail when setting bitrate doesn't work
18999
19000
19001         Patches from j@bootlab.org:
19002         * src/backends/NetworkManagerDebian
19003                 - Update backend to match functionality in RedHat backend
19004         * src/NetworkManagerDevice.c
19005                 - Take down then bring up wired devices after connection so
19006                 they send out ipv6 router advertisements
19007
19008 2004-12-21  Colin Walters  <walters@verbum.org>
19009
19010         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19011         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19012
19013 2004-12-21  Colin Walters  <walters@redhat.com>
19014
19015         * configure.in: Correct named detection.
19016
19017 2004-12-21  Colin Walters  <walters@redhat.com>
19018
19019         * src/NetworkManager.c (nm_data_new): Initialize named.
19020         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19021         the mainloop when these signals are received.
19022         (nm_data_free): Unref named.
19023         (sigterm_handler, sigterm_pipe_handler): New functions for
19024         exiting mainloop.
19025         
19026         * src/NetworkManagerMain.h (NMData): Add signal handling and
19027         nameserver bits.
19028
19029         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19030         unref.
19031
19032         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19033         set nameservers from DHCP response data.
19034         (set_domain_search): Set domain search from DHCP response.
19035         (nm_device_dhcp_configure): Invoke them.
19036
19037         * src/NetworkManagerSystem.c
19038         (nm_system_device_update_resolv_conf): Delete.  Deleting
19039         code is totally sweet.
19040
19041         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19042
19043         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19044         implements an object which controls a nameserver.  Currently
19045         uses bind 9.
19046
19047         * configure.in: Check for named.
19048
19049         * Makefile.am (SUBDIRS): Add named dir.
19050
19051         * named/named.conf: New template config file.
19052
19053 2004-12-20  Colin Walters  <walters@redhat.com>
19054
19055         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19056         instead of '='.
19057
19058 2004-12-17  Dan Williams  <dcbw@redhat.com>
19059
19060         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19061                 link-local addresses instead of doing DHCP.
19062
19063         * In the panel applet, there's a new "Create new Wireless Network..." item
19064
19065         * The panel applet also sticks around now even if NetworkManager dies, but
19066                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19067                 a bug, I'll fix that later.
19068
19069         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19070                 lookups after a switch rather than actually doing them.
19071
19072         * Clean up some of those warnings in nm_ap_list_* functions
19073
19074         * Delay between scans changed to 15s instead of 10s
19075
19076 2004-12-15  Dan Williams  <dcbw@redhat.com>
19077
19078         Patch from Tom Parker
19079         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19080                 address
19081
19082         * Longer pause after setting ESSID on cards that support a larger number
19083                 of channels to give the card time to find the right channel
19084
19085         * Add system hook to restart mDNSResponder (or whatever the local implementation
19086                 of Multicast DNS is) when we activate interfaces
19087
19088 2004-12-15  Dan Williams  <dcbw@redhat.com>
19089
19090         * Rework the DHCP code again to revert to sending full ethernet frames
19091                 rather then relying on the kernel to do the right thing with our
19092                 packets.
19093
19094 2004-12-06  Dan Williams  <dcbw@redhat.com>
19095
19096         * dhcpcd/client.c
19097                 - Fix some minor errors in dhcp_handle_transaction() that caused
19098                         unexpected early timeouts of DHCP transactions
19099
19100         * dhcpcd/client.h
19101                 - DHCP retransmit time from 4s -> 5s
19102
19103 2004-12-05  Dan Williams  <dcbw@redhat.com>
19104
19105         * Major rework of the DHCP code, taking some cues from pump.  We don't
19106                 write raw Ethernet packets anymore, which simplifies the code quite
19107                 a bit.  The new code should be more robust, not hang in recvfrom()
19108                 as much, and generally work better.  This also means that we need
19109                 to force HAL/dbus to use a created GMainContext rather than the
19110                 default context, since having the DHCP renew/rebind thread using
19111                 its own GMainContext seemed to give dbus a fit.  There is also more
19112                 debugging information printed from the DHCP loop to help with future
19113                 problems.
19114
19115         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19116                 assume that the default gateway should be the DHCP server.
19117
19118         Patch from Matthew Schick <matt oss-institute org>
19119         * src/backends/NetworkManagerGentoo.c
19120                 - Fix compilation error due to missing "ip4_broadcast"
19121
19122 2004-12-03  Dan Williams  <dcbw@redhat.com>
19123
19124         * initscript/Makefile.am
19125         * initscript/Debian/NetworkManager
19126         * initscript/Gentoo/NetworkManager
19127         * initscript/RedHat/NetworkManager
19128         * initscript/NMLaunchHelper.c
19129                 - Remove NMLaunchHelper, if you need to wait until the network
19130                         comes up, use the dead code from CVS.
19131
19132 2004-12-01  Colin Walters  <walters@redhat.com>
19133         
19134         * configure.in: Suck in gcc warnings code from Rhythmbox,
19135         but use fewer default flags, and in particular add -Wno-unused,
19136         since the codebase has a lot of unused variables.
19137
19138         * test/nmtestdevices.c (create_device): 
19139         * test/nminfotest.c (get_network_string_property) 
19140         (get_networks_of_type): 
19141         * test/nmclienttest.c (main): 
19142         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19143         * initscript/NMLaunchHelper.c (get_nm_status): 
19144         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19145         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19146         Fix declarations after statements.
19147
19148 2004-12-01  Colin Walters  <walters@redhat.com>
19149
19150         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19151         (nmi_dbus_get_vpn_userpass): New method.
19152         (nmi_dbus_nmi_message_handler): Invoke it.
19153
19154         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19155
19156         * info-daemon/NetworkManagerInfoVPN.h,
19157         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19158         to requests for VPN passwords.
19159
19160         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19161
19162 2004-12-01  Colin Walters  <walters@redhat.com>
19163
19164         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19165         includes.
19166
19167 2004-12-01  Colin Walters  <walters@redhat.com>
19168
19169         * panel-applet/NMWirelessAppletDbus.c
19170         (nmwa_dbus_update_active_device_strength): Fix missing
19171         return value.
19172
19173 2004-12-01  Colin Walters  <walters@redhat.com>
19174
19175         * panel-applet/NMWirelessApplet.c: Add missing include.
19176
19177 2004-12-01  Colin Walters  <walters@redhat.com>
19178
19179         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19180         Remove useless CLAMP (); the value is unsigned, and the case tests
19181         qual->qual < 100, so the value must always be between 0 and 100.
19182
19183 2004-12-01  Colin Walters  <walters@redhat.com>
19184
19185         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19186
19187 2004-11-22  Colin Walters  <walters@verbum.org>
19188
19189         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19190         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19191         which is essentially a noop since nscd caches hosts on disk too.
19192         
19193 2004-11-22  Colin Walters  <walters@redhat.com>
19194
19195         * src/Makefile.am (NetworkManager_SOURCES): Add
19196         NetworkManagerDevicePrivate.h.
19197
19198 2004-11-22  Dan Williams <dcbw@redhat.com>
19199
19200         * src/NetworkManagerDevicePrivate.h
19201                 - Split out the NMDevice struct to a different file so that stuff like
19202                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19203
19204         * dhcpcd/client.c
19205                 - fprintf->syslog
19206                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19207                         need to cancel the dhcp request during the send and recv
19208
19209         * dhcpcd/client.h
19210                 - Move the DHCP option enum to dhcpcd.h
19211
19212         * src/NetworkManagerDHCP.c
19213                 - Split out the actual IP/netmask/etc setting code
19214                 - New Renew/Rebind functions
19215                 - New timer setup function for renew/rebind operations
19216
19217         * src/NetworkManagerDevice.c
19218                 - For device activation, if we are using DHCP then keep the activation thread
19219                         alive until device deactivation.  We need to renew/rebind the DHCP address
19220                         after the T1 (renew) and T2 (rebind) times have expired.
19221                 - Increase some timeouts after bringing wireless cards up/down
19222
19223 2004-11-17  Dan Williams <dcbw@redhat.com>
19224
19225         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19226                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19227                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19228                 show known access points that don't broadcast their ESSID in the menus without
19229                 any user intervention whatsoever.
19230
19231         * info-daemon/NetworkManagerInfoDbus.c
19232                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19233                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19234
19235         * src/NetworkManagerAP.[ch]
19236                 - Add a "user_addresses" data member to the NMAccessPoint structure
19237                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19238                         the user_addresses data member
19239
19240         * src/NetworkManagerAPList.c
19241                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19242                         the AP's reported address
19243                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19244
19245         * src/NetworkManagerDHCP.c
19246                 - Increase DHCP timeout from 25s -> 30s
19247
19248         * src/NetworkManagerDbus.[ch]
19249                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19250                         user addresses
19251
19252         * src/NetworkManagerDevice.c
19253                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19254                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19255                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19256                         So, we take the card down to clear it out.
19257                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19258                         too, since that's where the user_addresses are
19259
19260         * src/NetworkManagerPolicy.c
19261                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19262                         that wireless networks' user_addresses list upon successful activation
19263
19264 2004-11-16  Dan Williams <dcbw@redhat.com>
19265
19266         * src/NetworkManagerDevice.[ch]
19267                 - (nm_device_clear_activation_fail): new function
19268
19269         * src/NetworkManagerPolicy.c
19270                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19271                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19272
19273 2004-11-16  Dan Williams <dcbw@redhat.com>
19274
19275         * src/NetworkManagerDevice.c
19276                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19277                         leak the structure, better updating of now_scanning status
19278                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19279
19280 2004-11-15  Dan Williams <dcbw@redhat.com>
19281
19282         Major rework of link detection code.  We now use DHCP
19283         as part of the link detection which proves to be much more robust,
19284         and also supports Open System authentication for wireless networks.
19285
19286         We no longer use external DHCP client programs.  Instead, we use 
19287         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19288         which was written by:
19289                 Yoichi Hariguchi <yoichi@fore.com>
19290                 Sergei Viznyuk <sv@phystech.com>
19291                 http://www.phystech.com/download/
19292         It resides in the "dhcpcd" directory and was refactored into a general
19293         purpose DHCP client library by me.
19294
19295         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19296         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19297
19298 2004-11-15  Dan Williams <dcbw@redhat.com>
19299
19300         Patch from Tom Parker <palfrey@tevp.net>:
19301
19302         * src/NetworkManagerDevice.c
19303                 - Less output to console when no access
19304                         points are found during a scan
19305
19306 2004-11-15  Dan Williams <dcbw@redhat.com>
19307
19308         Patch from Tom Parker <palfrey@tevp.net>:
19309
19310         * src/backends/interface_parser.c
19311                 - Use g_strdup ()
19312                 - Check for inp == NULL
19313                 - use syslog ()
19314
19315 2004-11-13  Colin Walters  <walters@redhat.com>
19316
19317         Patch from Tom Parker <palfrey@tevp.net>:
19318
19319         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19320         
19321         * src/backends/NetworkManagerRedHat.c: Switch to
19322         including shvar.h instead of shvar.c.
19323
19324         * src/backends/NetworkManagerDebian.c: Don't include
19325         interface_parser.c in source file.
19326
19327         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19328         and interface_parser.[ch].
19329         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19330         Include shvar.c and shvar.h here.
19331         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19332         interface_parser.c and interface_parser.h here.
19333
19334 2004-11-12  Colin Walters  <walters@redhat.com>
19335
19336         * configure.in: Strip out TARGET_DISTRO and
19337         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19338         conditionals.
19339
19340         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19341         (libnmbackend_la_SOURCES): Use Automake conditionals
19342         to add distro-specific files.
19343
19344         * initscript/Makefile.am (SUBDIRS): Update to
19345         use conditionals.
19346
19347 2004-11-12  Colin Walters  <walters@redhat.com>
19348
19349         Patches from j bootlab org
19350
19351         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19352         Add interface_parser.[ch].
19353
19354         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19355         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19356
19357 2004-11-12  Colin Walters  <walters@redhat.com>
19358
19359         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19360         call to nmi_dbus_is_running too, not necessary anymore.
19361         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19362         pick up exit().
19363
19364 2004-11-11  Colin Walters  <walters@verbum.org>
19365
19366         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19367         Delete.
19368         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19369         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19370         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19371         This avoids a race condition that made it pretty easily
19372         possible to get two NetworkManagerInfo daemons running.
19373
19374 2004-11-11  Colin Walters  <walters@verbum.org>
19375         
19376         * src/NetworkManager.c (main): Use daemon(3).
19377
19378         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19379
19380         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19381
19382 2004-11-10 Dan Williams <dcbw@redhat.com>
19383
19384         Patches from j bootlab org
19385         * src/NetworkManagerDevice.c
19386                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19387                         whether the card has a link or not, some cards are slow
19388                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19389
19390         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19391                 - Disable the "Login" button on the passphrase dialog until the user
19392                         enters a valid passphrase or key
19393
19394         Patches from Tom Parker <palfrey tevp net>
19395         * src/backends/NetworkManagerDebian.c
19396                 - Add static IP support to the debian backend
19397
19398         * src/backends/interface_parser.[ch]
19399                 - Parse debian interface config files
19400
19401 2004-11-08 Dan Williams <dcbw@redhat.com>
19402
19403         * src/NetworkManagerDevice.c
19404                 - Some random fprintf->syslog conversions
19405                 - (nm_device_wireless_network_exists): double-check for network
19406                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19407
19408         * src/NetworkManagerWireless.[ch]
19409                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19410                         so that the binary->ascii conversion works (if unsigned, the bitshift
19411                         will fill with zeros, which is what's required).  Also mask bitshift
19412                         result with 0xF for futher assurance.
19413
19414 2004-11-06 Dan Williams <dcbw@redhat.com>
19415
19416         * src/NetworkManagerUtils.c
19417                 - (nm_get_wireless_driver_support_level): default to
19418                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19419                         flip this when changing from whitelist->blacklist of
19420                         wireless drivers
19421
19422 2004-11-05 Dan Williams <dcbw@redhat.com>
19423
19424         Patch from Robert Paskowitz:
19425         * src/backends/NetworkManagerGentoo.c
19426                 - Update static IP config code
19427
19428 2004-11-05 Dan Williams <dcbw@redhat.com>
19429
19430         * info-daemon/NetworkManagerInfoDbus.c
19431           src/NetworkManagerDbus.[ch]
19432           src/NetworkManagerDevice.c
19433                 - Keep track of the # of attempts to get the WEP key
19434                         from the user and pass that along to the info daemon
19435
19436 2004-11-05 Dan Williams <dcbw@redhat.com>
19437
19438         * src/NetworkManagerUtils.c
19439                 - Blacklist wireless cards rather than whitelisting them.
19440                 - Grab driver name from HAL rather than trying to find it
19441                         ourselves.
19442
19443 2004-11-03 Dan Williams <dcbw@redhat.com>
19444
19445         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19446                 - Disable OK button until valid data is entered
19447                         for encryption stuff too
19448
19449         * panel-applet/NMWirelessApplet.c
19450                 - Report card strength for current AP if the card
19451                         doesn't report strength data for scanned access
19452                         points
19453
19454         * src/NetworkManagerDevice.c
19455                 - Smooth out cards reported quality, Atmel card was
19456                         intermittently reporting no quality data but soon
19457                         recovers
19458
19459         * src/NetworkManagerWireless.c
19460                 - Better quality data percentage calculation.  Atmel
19461                         cards (mine at least) seem to report the quality
19462                         in percentage format already, so honor that
19463
19464         Patch from <j@bootlab.org>
19465         * NetworkManager.h
19466           info-daemon/NetworkManagerInfoPassphraseDialog.c
19467           info-daemon/passphrase.glade
19468           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19469           panel-applet/essid.glade
19470           src/NetworkManagerAP.c
19471           src/NetworkManagerDevice.c
19472           src/NetworkManagerWireless.[ch]
19473                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19474
19475 2004-11-03 Dan Williams <dcbw@redhat.com>
19476
19477         * src/NetworkManagerDevice.[ch]
19478                 - (nm_device_set_enc_key): Add parameter to set Authentication
19479                         Mode (Open System, Shared Key, or None).  We're still using
19480                         Shared Key for now though.
19481
19482 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19483
19484         * panel-applet/menu-info.c: change from bold text to light
19485         colored, may cause problems with some themes, i've tested a lot
19486         and they seem fine. 
19487
19488         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19489
19490 2004-11-01  Colin Walters  <walters@verbum.org>
19491
19492         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19493         (nm_wireless_128bit_key_from_passphrase): Add const.
19494
19495         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19496         (nm_ap_set_enc_key_source): Add const.
19497         
19498 2004-11-01  Colin Walters  <walters@verbum.org>
19499
19500         * .cvsignore: Update.
19501
19502 2004-10-29 Dan Williams <dcbw@redhat.com>
19503
19504         * src/NetworkManagerDevice.c
19505                 - (nm_device_wireless_network_exists): Actually use the encryption
19506                         key we got from the applet when attempting to find a wireless network
19507                 - Don't bring devices down so much since on some cards it triggers
19508                         firmware hotplugs each time
19509
19510         * src/NetworkManagerDbus.c
19511                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19512                         from the caller
19513
19514 2004-10-29 Dan Williams <dcbw@redhat.com>
19515
19516         * src/NetworkManager.c
19517                 - (nm_hal_device_property_modified): unlock a locked active
19518                         wireless device when a wired connection gets a link.
19519                         (Means you'll switch to wired whenever you plug in no
19520                         matter what).
19521
19522 2004-10-29 Dan Williams <dcbw@redhat.com>
19523
19524         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19525                 - New files, implement the "Other wireless network" dialog
19526
19527         * panel-applet/NMWirelessApplet.c
19528                 - Move "other wireless network" dialog to separate file
19529
19530         * panel-applet/NMWirelessAppletDbus.[ch]
19531                 - Take key and key_type paramaters for the set_device function
19532
19533         * panel-applet/essid.glade
19534                 - Add UI bits for encryption settings
19535
19536         * src/NetworkManagerDbus.c
19537                 - Retrieve key and key_type params for "setActiveDevice" method call
19538                         and pass them on
19539                 - unref AP returned from nm_device_get_best_ap() when needed
19540
19541         * src/NetworkManagerDevice.c
19542                 - (nm_device_get_best_ap): ref the ap before returning it
19543                 - unref AP returned from nm_device_get_best_ap() when needed
19544                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19545                         need to call nm_device_get_best_ap() here, it was pretty much
19546                         redundant anyway
19547                 - (AP_NEED_KEY): break second link check condition out into separate
19548                         function, and fix segfault when ap->enc_key_source was NULL
19549                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19550                         pass them along to nm_device_wireless_network_exists().  If the
19551                         network does exist, set the passed-in key+key_type on the AP
19552
19553         * src/NetworkManagerPolicy.c
19554                 - unref AP returned from nm_device_get_best_ap() when needed
19555
19556 2004-10-28 Dan Williams <dcbw@redhat.com>
19557
19558         * src/NetworkManagerUtils.c
19559                 - (nm_spawn_process): Fix a potential dereference of NULL
19560
19561         Patches from Peter Jones:
19562
19563         * src/NetworkManagerDevice.c
19564                 - (nm_device_test_wireless_extensions): Better check for
19565                         wireless devices
19566
19567         * src/NetworkManagerUtils.c
19568                 - (nm_spawn_process): Pass in valid stdout and stderr so
19569                         executed programs don't randomly SIGPIPE and fail
19570                 - (nm_get_wired_driver_support_level): quash hal warning
19571                         when checking for USB ethernet device
19572
19573 2004-10-27 Dan Williams <dcbw@redhat.com>
19574
19575         * info-daemon/NetworkManagerInfo.c
19576           info-daemon/NetworkManagerInfoDbus.c
19577           info-daemon/NetworkManagerInfoPassphraseDialog.c
19578           panel-applet/NMWirelessApplet.c
19579                 - Properly escape gconf keys
19580
19581         * src/NetworkManager.c
19582                 - remove unused variables
19583
19584         * src/NetworkManagerAP.c
19585                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19586                         refcount since it got set in nm_ap_new()
19587
19588         * src/NetworkManagerAPList.c
19589                 - (nm_ap_list_combine): Give up ownership of newly created
19590                         access points to the ap list, fixes memleak
19591
19592         * src/NetworkManagerDevice.c
19593                 - Remove cached_ap_list4 member since its not really needed
19594                 - (nm_device_wireless_network_exists): Try to get correct
19595                         encryption status of a found AP if its already in our
19596                         device list
19597                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19598                         memory allocs/deallocs a bit clearer and shorter-lived
19599
19600 2004-10-26 Ray Strode <rstrode@redhat.com>
19601
19602         * panel-applet/NMWirelessApplet.c:
19603           (custom_essid_item_selected):  kill some compiler
19604         warnings 
19605
19606 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19607
19608         * info-daemon/NetworkManagerInfoDbus.c
19609                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19610                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19611
19612 2004-10-23 Dan Williams <dcbw@redhat.com>
19613
19614         * info-daemon/NetworkManagerInfoDbus.c
19615                 - Trap the "DeviceActivationFailed" signal
19616
19617         * docs/NetworkManager DBUS API.txt
19618                 - Add "DeviceActivationFailed" signal
19619
19620         * panel-applet/NMWirelessAppletDbus.c
19621                 - Quash the "NetworkManager service not available" message
19622
19623         * src/NetworkManagerDbus.[ch]
19624                 - Add the "DeviceActivationFailed" signal
19625
19626         * src/NetworkManagerDevice.c
19627                 - Add support for activation_failed flag
19628                 - Fix deadlock where activation thread didn't clean itself up, making
19629                         main thread still believe it was alive forever (didn't reset activation
19630                         flags like activating, just_activated, etc when IP configuration
19631                         failed)
19632
19633         * src/NetworkManagerPolicy.c
19634                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19635                         for wireless networks, try to fall back to some other access point
19636
19637 2004-10-23 Dan Williams <dcbw@redhat.com>
19638
19639         * panel-applet/NMWirelessApplet.[ch]
19640                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19641                         to the applet object, so we can get tooltips
19642                 - Add tooltips (RH #136866)
19643
19644         * src/NetworkManagerDevice.c
19645                 - When trying to find a wireless network, try to connect with encryption
19646                         turned on first, so that we can more accurately detect whether or not
19647                         we need to use encryption for the actual association later on
19648
19649 2004-10-21 Dan Williams <dcbw@redhat.com>
19650
19651         * Add some support for telling NetworkManagerInfo to tell the user
19652                 that they are using a device that's not fully supported
19653
19654         * Fix some assertions in debug messages due to null access point args
19655
19656 2004-10-21 Dan Williams <dcbw@redhat.com>
19657
19658         * src/NetworkManagerDevice.c
19659                 - Don't try to activate/bring up/down unsupported
19660                         devices
19661
19662         * src/NetworkManagerUtils.c
19663                 - Fix case of PCI ID checks for driver support levels
19664
19665 2004-10-21 Dan Williams <dcbw@redhat.com>
19666
19667         * NetworkManager.h
19668                 - New file, now contains commonly used structures and bits
19669                         for the dbus API of NetworkManager
19670
19671         * Makefile.am
19672                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19673
19674         * src/NetworkManager.h
19675                 - Rename -> src/NetworkManagerMain.c
19676
19677         * Various fixups all around to use NetworkManager.h and new
19678                 src/NetworkManagerMain.h, remove redundant bits that got
19679                 moved into NetworkManager.h
19680
19681         * src/NetworkManagerDevice.[ch]
19682           src/NetworkManagerUtils.[ch]
19683           src/NetworkManagerPolicy.c
19684           src/NetworkManagerDbus.c
19685                 - Whitelist wireless drivers, and blacklist some wired
19686                         drivers.  Also blacklist cipsec and ethernet-over-usb
19687                         devices at this time (RH #135722, RH #135648)
19688                 - Don't leak unsupported devices out over dbus, or allow
19689                         them to be set as the active device.  Skip over them
19690                         during automatic device picking
19691
19692         * test/nmclienttest.c
19693                 - Clean up the dbus code a lot
19694
19695 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19696
19697         * configure.in: post release bump.
19698
19699 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19700
19701         * configure.in:
19702         * NEWS: Released NetworkManager-0.3.1
19703
19704 2004-10-18 Dan Williams <dcbw@redhat.com>
19705
19706         Patches from Thom May:
19707         * test/nmtestdevices.c
19708                 - Include <string.h>
19709         * src/backends/NetworkManagerDebian.c:
19710                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19711                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19712                         Move to using g_strdup_printf rather than arbitrary buffers
19713                 - (nm_system_device_setup_static_ip4_config) Implement function.
19714                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19715
19716 2004-10-17 Dan Williams <dcbw@redhat.com>
19717
19718         * info-daemon/NetworkManagerInfoDbus.c
19719                 - Display name of network in the "network not found" dialog
19720
19721         * panel-applet/NMWirelessAppletDbus.c
19722                 - (nmwa_dbus_call_nm_method): new function replaces all other
19723                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19724                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19725                         consolidated into nmwa_dbus_get_object_name()
19726
19727 2004-10-15 Dan Williams <dcbw@redhat.com>
19728
19729         * src/NetworkManagerDbus.c
19730           info-daemon/NetworkManagerInfoDbus.c
19731                 - Display an error dialog when the user tries to use an
19732                         "Other wireless network" that's not found.
19733
19734 2004-10-15 Dan Williams <dcbw@redhat.com>
19735
19736         * panel-applet/NMWirelessApplet.[ch]
19737                 - Fix up corner cases in applet state, making it
19738                         look more responsive.  Change state to "connecting" when
19739                         the user is forcing a device too.
19740
19741 2004-10-15 Dan Williams <dcbw@redhat.com>
19742
19743         * src/NetworkManagerAPList.c
19744                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19745
19746         * src/NetworkManagerDbus.c
19747                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19748
19749         * src/NetworkManagerDevice.c
19750                 - Disown APs after the device's AP list takes ownership
19751
19752 2004-10-15 Dan Williams <dcbw@redhat.com>
19753
19754         * panel-applet/NMWirelessApplet.c
19755                 - Update our applet state from the GUI thread
19756
19757         * panel-applet/NMWirelessAppletDbus.c
19758                 - Greatly simplify the locking to make the GUI thread
19759                         smoother.  Update a private copy of the device list
19760                         and active device and only when done talking to
19761                         NetworkManager turn it over to the GUI thread.
19762
19763 2004-10-15 Dan Williams <dcbw@redhat.com>
19764
19765         * src/NetworkManagerAP.[ch]
19766                 - Add "artificial" get/set functions, set for APs that
19767                         aren't discovered as part of a scan but instead
19768                         discovered by force-setting the ESSID
19769
19770         * src/NetworkManagerDevice.[ch]
19771                 - (nm_device_wireless_network_exists): pass back whether
19772                         or not the discovered AP was encrypted.  Also, try
19773                         falling back to encrypted mode on the card if unencrypted
19774                         association doesn't work
19775                 - (nm_device_find_and_use_essid): If the network requested
19776                         did in fact exists, but it wasn't in our scan list, add
19777                         an "artificial" entry for it.  Some Cisco cards don't
19778                         see non-ESSID-broadcasting APs in their scan but can still
19779                         associate with them if you know the ESSID, this works around
19780                         that behavior
19781                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19782                         to scan if the card is currently associated with that AP
19783
19784 2004-10-15 Dan Williams <dcbw@redhat.com>
19785
19786         ---- We have a website ----
19787         http://people.redhat.com/dcbw/NetworkManager
19788
19789         Patch from Robert Paskowitz:
19790         * src/NetworkManager.c
19791                 - (main): Make sure we are run as root
19792         * src/NetworkManagerDevice.c
19793                 - Fix type in ad-hoc setting function
19794
19795         Patch from Thom May:
19796         * src/backends/NetworkManagerDebian.c
19797                 - Make Debian backend compile again
19798
19799 2004-10-14 Dan Williams <dcbw@redhat.com>
19800
19801         * Tagged NetworkManager-0_3
19802
19803 2004-10-14 Dan Williams <dcbw@redhat.com>
19804
19805         Patch from Robert Paskowitz:
19806         * NEWS
19807           src/NetworkManagerDevice.[ch]
19808           src/backends/NetworkManagerDebian.c
19809           src/backends/NetworkManagerGentoo.c
19810           src/backends/NetworkManagerRedHat.c
19811           src/backends/NetworkManagerSlackware.c
19812                 - Add support for grabbing and using a broadcast address
19813                         from system config files
19814                 - Some Gentoo backend fixes for grabbing network config
19815                 - Fix LOG_WARN->LOG_WARNING
19816
19817 2004-10-14 Dan Williams <dcbw@redhat.com>
19818
19819         * NEWS: a few small fixes in the credits
19820
19821 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19822
19823         * NEWS: prep for release.
19824
19825 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19826
19827         * panel-applet/NMWirelessAppletDbus.c
19828         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19829
19830 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19831
19832         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19833         applet->state == APPLET_STATE_NO_NM animation.
19834
19835         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19836         set the text correctly.
19837
19838 2004-10-14 Dan Williams <dcbw@redhat.com>
19839
19840         * src/NetworkManager.c
19841                 - Only accept and manager 802.3 and 802.11 devices
19842
19843         * src/NetworkManagerDbus.[ch]
19844                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19845                         logic into NetworkManagerDevice.c
19846                 - (nm_dbus_network_status_from_data): new function
19847                 - (nm_dbus_signal_network_status_change): new function, unused for now
19848                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19849
19850         * src/NetworkManagerDevice.[ch]
19851                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19852                         a random ESSID.
19853
19854 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19855
19856         * info-daemon/NetworkManagerInfo.c 
19857                 - (main): Added session management
19858
19859 2004-10-14 Dan Williams <dcbw@redhat.com>
19860
19861         * panel-applet/NMWirelessAppletDbus.[ch]
19862                 - Expose network_device_[un]ref()
19863                 - Expose wireless_network_[un]ref()
19864                 - (wireless_network_new_with_essid): new function, create and return
19865                         a wireless network with a particular essid
19866
19867         * panel-applet/NMWirelessApplet.c
19868                 - Hook up the "other network" dialog to do something
19869
19870 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19871
19872         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19873         doesn't work yet, but it looks okay.
19874
19875         * panel-applet/icons/*png: Resize to 22x22 and install in the
19876         right place.
19877
19878 2004-10-13 Dan Williams <dcbw@redhat.com>
19879
19880         * panel-applet/NMWirelessApplet.c
19881                 - Add function to print out applet_state in a readable
19882                         manner
19883
19884         * src/NetworkManager.c
19885                 - (main): Don't segfault when nm_dbus_init() fails, we had
19886                         a left-over call to hal_shutdown() into which we passed NULL
19887
19888         * src/NetworkManagerAP.c
19889                 - (nm_ap_set_essid): Allow NULL essids
19890
19891         * src/NetworkManagerAPList.[ch]
19892                 - More use of nm_ap_list_[un]lock ()
19893                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19894                         network/essid, just return nothing.  Also skip over NULL
19895                         essid access points in the list when searching
19896                 - (nm_ap_list_get_ap_by_address): new function
19897                 - (nm_ap_list_update_network): set the access point's key source to
19898                         NULL when the key returned from NetworkManagerInfo is NULL or
19899                         of 0 length
19900                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19901                         copy timestamp over too
19902                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19903                         find the correct ESSID for a blank-essid access point by searching
19904                         through another list and matching access point MAC addresses
19905                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19906
19907         * src/NetworkManagerDbus.c
19908                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19909                         may specify.  This is mainly for access points that don't
19910                         broadcast their essid.  So if the user tells us to associate with
19911                         some random ESSID that's not in our access point list, we find
19912                         out if the access point does in fact exist (by attempting association
19913                         and then matching that access point's MAC address with the essid the
19914                         user gave us) and then we switch to it.
19915                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19916                         to the returned list of networks for the "getNetworks" method
19917
19918         * src/NetworkManagerDevice.[ch]
19919                 - Extra debugging info for link detection
19920                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19921                         based on MAC address
19922                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19923                 - (nm_device_wireless_network_exists): new function, find out whether
19924                         a random ESSID exists by attempting to associate with it
19925                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19926                         device list as long as they have an AP MAC address we can use.
19927                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19928                         devices too.  Lets the applet update more frequently.
19929
19930         * src/backends/NetworkManagerGentoo.c
19931                 - Patch from: Robert Paskowitz
19932                         - Update backend code for Gentoo
19933                         - Implement nm_system_device_update_config_info ()
19934
19935         * test/nmclienttest.c
19936                 - (set_network_device): new function, takes a command-line argument
19937                         and tells NetworkManager to use that wireless network
19938
19939 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19940
19941         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19942         if the notification icon crashes 5 times within 5 seconds of each respawn 
19943
19944 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19945
19946         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19947         g_print.
19948
19949 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19950
19951         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19952
19953         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19954         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19955         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19956         Change the name of the icons.
19957
19958         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19959         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19960         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19961         (nm_menu_wireless_expose_event): Really bad hack to get the style
19962         to draw in the right color.
19963
19964 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19965
19966         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19967         Notification if it crashes
19968
19969 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19970
19971         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19972         (nmwa_dbus_get_string): remove unused functions
19973
19974         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19975         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19976         remove unused functions
19977
19978         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19979
19980 2004-10-12 Dan Williams <dcbw@redhat.com>
19981
19982         * panel-applet/NMWirelessAppletDbus.c
19983                 - New functions:
19984                         wireless_network_new
19985                         wireless_network_copy
19986                         network_device_new
19987                         network_device_copy
19988
19989         * src/NetworkManagerDevice.[ch]
19990                 - New functions:
19991                         nm_device_set_mode_managed
19992                         nm_device_set_mode_adhoc
19993                 - Use these functions where appropriate
19994                 - When creating a new wireless device, force the card
19995                         to managed/Infrastructure mode as soon as possible
19996
19997 2004-10-12 Dan Williams <dcbw@redhat.com>
19998
19999         * src/NetworkManagerDevice.c
20000                 - Force wireless cards into Infrastructure mode before we use them
20001
20002 2004-10-12 Dan Williams <dcbw@redhat.com>
20003
20004         * TODO
20005                 - Remove bit about static IP address support
20006
20007         * src/NetworkManagerUtils.c
20008                 - (nm_spawn_process): Add some error reporting
20009
20010         * src/NetworkManagerDevice.c
20011                 - (nm_device_activation_configure_ip): hook up to the static config
20012                         routines in the backends
20013
20014         * src/backends/NetworkManagerRedHat.c
20015                 - (nm_system_device_update_config_info): use shvar.c routines to
20016                         parse the config file iformation, not our own
20017                 - (nm_system_device_setup_static_ip4_config): new function, based
20018                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20019                         with a static IP address and gateway
20020
20021         * src/backends/shvar.[ch]
20022                 - Parser (filched from initscripts package) for ifcfg-* files
20023
20024         * src/backends/NetworkManagerSystem.h
20025           src/backends/NetworkManagerGentoo.c
20026           src/backends/NetworkManagerDebian.c
20027           src/backends/NetworkManagerSlackware.c
20028                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20029
20030 2004-10-11 Dan Williams <dcbw@redhat.com>
20031
20032         * TODO
20033                 - Remove bit about more robust AP diffing since I just implemented it
20034
20035 2004-10-11 Dan Williams <dcbw@redhat.com>
20036
20037         * src/NetworkManagerAP.c
20038                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20039                         enough RAM to allocate new AP structures, but return NULL instead
20040
20041         * src/NetworkManagerAPList.[ch]
20042                 - (nm_ap_list_is_empty): new function
20043                 - (nm_ap_list_combine): new function, combine two access point lists
20044                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20045                         into another
20046
20047         * src/NetworkManagerDevice.[ch]
20048                 - Rename some functions to be clearer:
20049                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20050                         nm_device_just_activated     -> nm_device_is_just_activated
20051                         nm_device_activating         -> nm_device_is_activating
20052                         nm_device_now_scanning       -> nm_device_is_scanning
20053                 - Cache the last 4 scans so that the access point list is more stable.
20054                         We combine the lastest two scans and use that as the AP list,
20055                         and diff that combined list against the combination of the earliest
20056                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20057
20058 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20059
20060         * info-daemon/NWManagerInfo.h
20061                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20062
20063         * info-daemon/NWManagerInfoDbus.c
20064                 - (shutdown_callback): new function
20065                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20066                         if NetworkManager goes away.  Kill the timeout
20067                         if NetworkManager restarts before the 30 seconds
20068                         are up.
20069                 - (nmi_dbus_service_init): 
20070                         - call gtk_main_quit if NetworkManager is not running
20071                         - add filters to monitor dbus service creations and
20072                                 deletions
20073         
20074 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20075
20076         * panel-applet/NMWirelessApplet.c
20077                 - (nmwa_update_state): Hide notification icon if we are only
20078                         showing one wired card and no wireless interfaces 
20079                         (Red Hat Bug #134895)
20080
20081         * panel-applet/NMWirelessAppletDbus.c
20082                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20083
20084         * info-daemon/NWManagerInfo.c
20085                 - (main): Terminated the notification_icon_cmd array with a NULL
20086
20087 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20088
20089         * configure.in (ALL_LINGUAS): Added de (German).
20090
20091 2004-10-08 Dan Williams <dcbw@redaht.com>
20092
20093         * src/NetworkManagerDevice.c
20094                 - Be a bit more robust about link checking, ie make sure that
20095                         the WEP key we were given actually has some data in it
20096
20097 2004-10-08 Dan Williams <dcbw@redhat.com>
20098
20099         * info-daemon/NetworkManagerInfo.c (main):
20100                 - Initialize GError object to NULL
20101
20102 2004-10-08 Dan Williams <dcbw@redhat.com>
20103
20104         * panel-applet/NMWirelessAppletDbus.c
20105                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20106
20107 2004-10-08 Dan Williams <dcbw@redhat.com>
20108
20109         * info-daemon/NetworkManagerInfo.[ch]
20110           info-dameon/NetworkManagerInfoDbus.[ch]
20111           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20112                 - Preserve original label text in the passphrase dialog so that
20113                         it actually gets updated with the new network name the next
20114                         time around.  Previously, we were overwriting it so you'd get
20115                         the wrong network name to enter a key for
20116                 - Add a "Key Type" combo to the passphrase dialog, user selects
20117                         encryption key type now, type is stored in GConf too
20118                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20119
20120         * src/NetworkManagerAP.[ch]
20121                 - Remove all the encyption method magic.  It's now set by the user
20122                         and NetworkManager retrieves the type of encryption key from
20123                         NetworkManagerInfo
20124
20125         * src/NetworkManagerAPList.[ch]
20126           src/NetworkManagerDbus.[ch]
20127                 - Adjust to new way of setting encryption key and method
20128                 - Pull encryption method down from NMI along with key
20129
20130         * src/NetworkManagerDevice.[ch]
20131                 - Removed encryption method fallback magic as the method is now
20132                         determined by the user.  This greatly simplifies the connection
20133                         logic.
20134                 - More robust connection/link logic.  Besides removing the encryption
20135                         method fallback magic, check whether or not the card is receiving
20136                         invalidly encrypted packets, which usually indicates that we have
20137                         a bad WEP key set.
20138                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20139
20140         * test/nminfotest.c
20141                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20142
20143 2004-10-07 Dan Williams <dcbw@redhat.com>
20144
20145         * info-daemon/NetworkManagerInfo.conf
20146                 - Allow root user to run NMI too
20147
20148 2004-10-06 Dan Williams <dcbw@redhat.com>
20149
20150         * src/NetworkManagerDevice.[ch]
20151           src/NetworkManagerDbus.c
20152           doc/NetworkManager DBUS API.txt
20153                 - Add a new status tag "scanning", which is set when there
20154                         is no active network connection, but NetworkManager is
20155                         looking for an access point to associate with
20156
20157         * panel-applet/main.c
20158                 - Cast the applet appropriately for gtk_widget_show_all ()
20159
20160 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20161
20162         * panel-applet/eggtrayicon.[ch]:
20163         * panel-applet/main.c: Add missing file
20164
20165 2004-10-04 Dan Williams <dcbw@redhat.com>
20166
20167         * src/NetworkManagerDevice.[ch]
20168                 - Add a slightly more robust method of determining if the WEP key
20169                         is correct or not, by checking the WEP-discarded packet count
20170                         on the card
20171
20172         * info-daemon/NetworkManagerInfo.c
20173                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20174                         un-escape values we pull out rather than escaping them
20175
20176 2004-10-03  Marcel Telka  <marcel@telka.sk>
20177
20178         * configure.in (ALL_LINGUAS): Added sk.
20179
20180 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20181
20182         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20183         and feel.  We should be back to working, and have a good, clean
20184         look.
20185
20186 2004-09-30 Dan Williams <dcbw@redhat.com>
20187
20188         * info-daemon/NetworkManagerInfo.c
20189           info-daemon/NetworkManagerInfoDbus.c
20190           test/nminfotest.c
20191                 - Escape ESSIDs in gconf
20192
20193         * src/NetworkManagerDevice.c
20194                 - Fix pseudo-scanning to use netowrk list from info daemon
20195
20196 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20197
20198         * configure.in: Add a temporary --enable-notification-icon.  This
20199         will prolly go away.
20200
20201         * info-daemon/Makefile.am:
20202         * info-daemon/NetworkManagerInfo.c:
20203         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20204
20205         * panel-applet/Makefile.am:
20206         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20207         * panel-applet/NMWirelessApplet.h:
20208
20209 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20210
20211         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20212         before 'select custom ESSID'.
20213
20214         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20215         fully complete, but syncing in prep for merge.
20216
20217         * panel-applet/icons/*png: New images
20218
20219 2004-09-28 Dan Williams <dcbw@redhat.com>
20220
20221         * src/NetworkManager.c
20222           src/NetworkManagerDevice.c
20223           src/NetworkManagerPolicy.c
20224                 - Don't blow away an active wired connection on startup
20225
20226 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20227
20228         Changes from J5
20229         
20230         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20231
20232         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20233         syslog output
20234
20235 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20236
20237         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20238         have a wireless card.
20239
20240 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20241
20242         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20243         Also, get the right device strings.
20244
20245 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20246
20247         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20248         the logic to make this right.
20249
20250         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20251         devices so that wired networks are always first.
20252
20253 2004-09-22    <clarkbw@cvs.gnome.org>
20254
20255         * initscript/Debian/.cvsignore:
20256         * initscript/Slackware/.cvsignore:
20257         Added new cvsignores for Makefile, Makefile.in
20258         
20259         * test/.cvsignore:
20260         Added nmtestdevices
20261         
20262         * src/NetworkManagerDevice.c: 
20263         * src/NetworkManager.c: 
20264         Updated the wireless/wired HAL device strings from net.ethernet to
20265         net.80203 or net.80211 depending on wired or wireless respectively
20266         
20267         * examples/python/NetworkManager.py: 
20268         s/Quality/Strength/
20269
20270         * examples/python/systray/network_tray.py:
20271         Lots of little changes and fixes.  been rotting for a while so I
20272         figured I'd finally sync them all with CVS
20273
20274 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20275
20276         * configure.in: Add graphics
20277
20278         * panel-applet/Makefile.am: Add graphics
20279
20280         * panel-applet/icons/*: Add graphics
20281
20282         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20283         the icons fully lined up.
20284
20285         * panel-applet/menu-info.c: 
20286         * panel-applet/menu-info.h: Add another menu type.
20287
20288 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20289
20290         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20291
20292         * panel-applet/menu-item.[ch]: Wireless menu item.
20293
20294 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20295
20296         * info-daemon/NetworkManagerInfo.conf
20297                 - Created a more robust security policy for the DBus service
20298                         - everything is denied by default
20299                         - root can own and send to the service
20300                         - users logged in at the console can send to the service
20301
20302 2004-09-13  Dan Williams <dcbw@redhat.com>
20303
20304         * src/NetworkManagerDevice.c
20305                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20306                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20307                         the latter
20308
20309 2004-09-13  Dan Williams <dcbw@redhat.com>
20310
20311         * TODO: fix typo
20312
20313         * docs/NetworkManager DBUS API.txt
20314                 - Update for new signal strength changes
20315
20316         * panel-applet/NMWirelessApplet.c
20317                 - Make panel icon show strength of the current connection
20318                 - Cleanups and memleak fixes
20319
20320         * panel-applet/NMWirelessApplet.h
20321                 - Add data members for signal strength on devices and networks
20322
20323         * panel-applet/NMWirelessAppletDbus.c
20324                 - Free more DBusErrors
20325                 - Update for new signal strength changes
20326                 - Make devices and networks more like real objects, use ref/unref methods
20327                 - Actually unlock the mutex when updating the active device
20328
20329         * src/NetworkManagerAP.c
20330                 - Change AP functions and data members from "quality"->"strength"
20331
20332         * src/NetworkManagerDbus.c
20333                 - Kill "getMaxQuality" and "getQuality" methods
20334                 - Add "getStrength" methods for Networks and Devices
20335
20336         * src/NetworkManagerDevice.[ch]
20337                 - Add accessors for device strength
20338                 - Add functions to update strength for a device.  Note that not all drivers
20339                         actually support signal strength for scanned access points (Atmel drivers
20340                         being one)
20341                 - Calculate signal strength for each AP during scan
20342
20343         * src/NetworkManagerWireless.[ch]
20344                 - Add function to return signal strength % from a device and a raw quality struct
20345
20346         * test/nmclienttest.c
20347                 - Update for new signal strength changes
20348
20349 2004-09-11  Dan Williams <dcbw@redhat.com>
20350
20351         * src/NetworkManager.c
20352                 - Fix race condition between initscripts and NM on card insertion
20353                         which could cause a card to keep an IP address and routes around
20354                         even when it was not the active device
20355
20356         * src/NetworkManagerDbus.c
20357                 - Fix compile errors, free more DBusErrors
20358
20359 2004-09-11  Dan Williams <dcbw@redhat.com>
20360
20361         * docs/NetworkManager DBUS API.txt
20362                 - Add an explanation of NM's API
20363
20364         * src/NetworkManagerDbus.c
20365                 - Free some more DBusErrors if needed
20366
20367 2004-09-11  Dan Williams <dcbw@redhat.com>
20368
20369         * panel-applet/NMWirelessApplet.c
20370           panel-applet/NMWirelessAppletDbus.c
20371                 - Start using NetworkDevice/WirelessNetwork structures in more places
20372                 - Update for unified device/network forcing in NetworkManager
20373
20374         * src/NetworkManager.c
20375                 - some code consolidation
20376
20377         * src/NetworkManagerDbus.c
20378                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20379                         or two arguments:  the first is the NM ID of the device to switch to,
20380                         and the second (optional) argument is the ESSID of a wireless network
20381                         to use as well.
20382                 - Get rid of "setNetwork" method due to above change
20383
20384         * src/NetworkManagerDevice.c
20385                 - (nm_device_new): perform scan and update best AP on device creation
20386                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20387                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20388                         spin waiting for cancellation to finish before returning
20389
20390         * src/NetworkManagerPolicy.c
20391                 - Changes here clarify the situations in which a device switch occurs, and 
20392                         make sure to keep using a forced device and network if the user gives
20393                         us one
20394                 - Remove old unused code
20395
20396 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20397
20398         * configure.in: Added Danish (da) to ALL_LINGUAS.
20399
20400 2004-09-09  Dan Williams <dcbw@redhat.com>
20401
20402         * panel-applet/NMWirelessAppletDbus.c
20403                 - Pull fresh devices and networks from NM when wireless networks
20404                         change.  Provides faster feedback of a forced wireless network
20405
20406         * src/NetworkManagerDbus.c
20407                 - Return error when "getMaxQuality" is called on a wired device
20408                 - Make best_ap freezing actually work again, and signal cancellation
20409                         of activation if there's already a device activation when the user
20410                         freezes the best_ap
20411
20412         * src/NetworkManagerDevice.c
20413                 - Don't clear out the best_ap for wireless devices when the link goes
20414                         down, that's done elsewhere
20415                 - Kill any dhcp daemons when cancelling device activation since they
20416                         may be stuck waiting for a DHCP address, and since we're cancelling
20417                         activation we don't care about that anymore
20418
20419         * src/NetworkManagerPolicy.c
20420                 - Make sure to unref the device we ref earlier (we refed it to make sure
20421                         it stuck around during device activation and such)
20422                 - If we were going to change the best device, but its activating currently
20423                         (and therefore the change didn't occur due to the check earlier)
20424                         we mark the state changed to we come back to it later when device
20425                         activation has canceled and its no longer activating
20426
20427         * src/backends/NetworkManagerRedHat.c
20428                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20429
20430 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20431
20432         * info-daemon/passphrase.glade: 
20433         set passphrase input to activates_default : True
20434
20435         * examples/python/systray/network_tray.py
20436         (network_tray.sort_networks):
20437
20438         Added support for having wireless always scanning
20439
20440 2004-09-09  Dan Williams <dcbw@redhat.com>
20441
20442         NOTE: this commit changes the behavior of wireless devices in
20443         NetworkManager.  They are now up all the time, scanning all
20444         the time.  Only the active device has an IP address and routing
20445         information set up however.  Also, NetworkManager will no longer
20446         opportunistically switch wireless networks when a better one
20447         comes in range, it will remain associated with one wireless network
20448         until that one drops out.
20449
20450         * panel-applet/NMWirelessApplet.c
20451           panel-applet/NMWirelessAppletDbus.c
20452                 - List all wireless cards and their respective networks
20453
20454         * src/NMLoadModules
20455                 - Use full path to /sbin/ip
20456
20457         * src/NetworkManager.c
20458                 - Keep wireless devices up all the time so they can scan
20459
20460         * src/NetworkManagerDbus.c
20461                 - On a WirelessNetworkUpdate signal from NMI, don't update
20462                         the "best" AP
20463
20464         * src/NetworkManagerDevice.c
20465                 - (nm_device_set_link_active): clear out the best ap for
20466                         wireless devices when the link is set to FALSE
20467                 - Scan on all wireless cards, all the time
20468                 - (nm_device_activation_worker): split out the wireless card
20469                         link-waiting code to a separate function
20470                 - Keep wireless cards up even if device activation fails
20471                 - Don't update the "best" ap as much
20472
20473         * src/NetworkManagerPolicy.c
20474                 - Don't update the best ap when checking if its frozen,
20475                         let link checking clear out a frozen best ap for us
20476
20477         * src/NetworkManagerWireless.c
20478                 - Scan on all wireless cards, all the time
20479
20480 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20481
20482         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20483
20484 2004-09-09  Ankit Patel <ankit@redhat.com>
20485
20486         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20487
20488 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20489
20490         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20491
20492 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20493
20494         * examples/python/NetworkManager.py: 
20495         added CONNECTED, CONNECTING, and DISCONNECTED states
20496         added methods to return number of devices of a single type
20497
20498         * examples/python/systray/network_tray.py: 
20499         did some tweaks to get the menu looking near what it is supposed
20500         to look like.  Also did a Airo card hack to make it show the
20501         correct AP quality
20502
20503 2004-09-08  Dan Williams <dcbw@redhat.com>
20504
20505         * panel-applet/no-networkmanager.png
20506           panel-applet/Makefile.am
20507           panel-applet/NMWirelessApplet.c
20508                 - Add a "NetworkManager not running" icon and use it
20509                 - Use new consolidated GConf keys rather than Preferred/Trusted
20510
20511         * TODO: update
20512
20513         * info-daemon/NetworkManagerInfo.c
20514           info-daemon/NetworkManagerInfoDbus.[ch]
20515           info-daemon/NetworkManagerInfoPassphraseDialog.c
20516                 - There are now no longer two separate lists of wireless networks,
20517                         but one list where each network is "trusted" or not trusted
20518                 - Add a "getNetworkTrusted" dbus method
20519                 - "WirelessNetworkUpdate" signal now sent rather than
20520                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20521                 - Start freeing some dbus errors (not completed yet)
20522
20523         * info-daemon/passphrase.glade
20524                 - Remove the "don't show" hints for pager and taskbar
20525                 - Add a title since its going to be in the taskbar
20526
20527         * src/NetworkManager.[ch]
20528           src/NetworkManagerAPList.[ch]
20529                 - There are now no longer two separate lists of wireless networks,
20530                         but one list where each network is "trusted" or not trusted
20531
20532         * src/NetworkManagerAP.[ch]
20533                 - Add get/set "trusted" accessors and data bit
20534
20535         * src/NetworkManagerDbus.[ch]
20536                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20537                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20538
20539         * src/NetworkManagerDevice.[ch]
20540                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20541                 - (nm_device_new): Get device config from backend when initializing devices
20542                 - (nm_device_activation_worker): Split out device configuration on
20543                         activation to deal with static/dynamic IP differences, and try encryption
20544                         fallbacks on a device if the encryption method for the best AP is not good
20545                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20546                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20547
20548         * src/NetworkManagerWireless.c
20549                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20550
20551         * src/backends/NetworkManagerRedHat.c
20552           src/backends/NetworkManagerSystem.h
20553                 - (nm_system_device_update_config_info): Add function to get device configuration
20554                         from system data in ifcfg-* files
20555
20556         * src/backends/NetworkManagerDebian.c
20557           src/backends/NetworkManagerGentoo.c
20558           src/backends/NetworkManagerSlackware.c
20559                 - Add stub functions for getting device configuration
20560
20561 2004-09-07  Dan Williams <dcbw@redhat.com>
20562
20563         * src/backends/NetworkManagerRedhat.c
20564           src/backends/NetworkManagerSlackware.c
20565                 - Use full path to /sbin/ip everywhere
20566
20567 2004-09-07  Dan Williams <dcbw@redhat.com>
20568
20569         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20570
20571         * configure.in
20572           initscript/Makefile.am
20573           initscript/Slackware/Makfile.am
20574           initscript/Slackware/rc.networkmanager
20575           src/Makefile.am
20576           src/backends/NetworkManagerSlackware.c
20577                 - Add Slackware support
20578
20579 2004-09-07  Dan Williams <dcbw@redhat.com>
20580
20581         Patches below from:
20582                 <j@bootlab.org>
20583                 Mark Roach <mrroach@okmaybe.com>
20584                 Thom May <thom@debian.org>
20585
20586         * configure.in
20587           initscript/Debian/NetworkManager
20588           initscript/Debian/Makefile.am
20589                 - Initscript for Debian
20590
20591         * src/backends/NetworkManagerDebian.c
20592                 - Add missing system init function to allow compilation
20593                         on Debian
20594
20595 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20596
20597         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20598
20599 2004-09-03  Akagic Amila <bono@linux.org.ba>
20600
20601         * configure.in: Added 'bs' to ALL_LINGUAS.
20602
20603 2004-09-02  Colin Walters  <walters@verbum.org>
20604
20605         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20606         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20607         g_strdup_printf instead of arbitrarily sized buffers.
20608
20609 2004-09-01  Colin Walters  <walters@verbum.org>
20610
20611         * NetworkManager.pc.in: New file.
20612
20613         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20614
20615 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20616         
20617         * configure.in: Punjabi(pa) is added to po/.
20618
20619 2004-08-31  Dan Williams <dcbw@redhat.com>
20620
20621         * Remove 'debug' extern global from all files since we now
20622                 use syslog()
20623
20624         * src/NetworkManager.[ch]
20625                 - Break out routine that get the net.interface property from HAL,
20626                         removing that logic from nm_create_device_and_add_to_list()
20627                 - (nm_create_device_and_add_to_list): make this a bit more general so
20628                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20629                         the create of test devices.
20630                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20631                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20632                         which makes NetworkManager listen for dbus commands to create test
20633                         devices, which have no backing hardware.  Use when you're on a plane
20634                         for example, and/or forgot your wireless card at home.  Test devices
20635                         _cannot_ be created unless NM is started with --enable-test-devices.
20636
20637         * src/NetworkManagerDbus.[ch]
20638                 - New "getLinkActive" method for devices
20639                 - New "setLinkActive" method for devices (only works on test devices)
20640                 - New "createTestDevice" method on NetworkManager object to create a test
20641                         device of a specified type (ie wired, wireless).  UDI is created from
20642                         scratch, as is the interface name.  Only works when NM is started with
20643                         --enable-test-devices switch.
20644                 - New "removeTestDevice" method on NetworkManager object which removes a
20645                         test device.  Only works when NM is started with --enable-test-devices
20646
20647         * src/NetworkManagerDevice.[ch]
20648                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20649                         whether a device is a test device or not, and what its link status is.
20650                 - Deal with test devices in most functions.  For those that work directly on hardware
20651                         special-case test devices.
20652                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20653                         command-line.
20654                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20655                         checking to separate functions to facilitate test device link checking.
20656                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20657                         don't make a distinction between System Authentication and Encryption
20658                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20659                         on the card.  We don't deal with Shared Key auth yet.
20660                 - (nm_device_activation_worker): split the activation cancel check logic out into
20661                         a separate routine nm_device_activation_cancel_if_needed()
20662                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20663                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20664                         a list of fake access points that they can "see"
20665                 - (nm_device_is_test_device): return whether or not a device is a test device
20666
20667         * src/NetworkManagerPolicy.c
20668                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20669                         previously if you "locked"/forced NM to use a wireless device but then
20670                         selected a wireless network for NM to use, it would switch to a wired device.
20671                         So, if the active device is wireless and it has a "forced" best AP, use it
20672                         if the "forced" best AP is still valid
20673                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20674                         there were no usable network devices, or the last one was removed
20675
20676         * src/backends/NetworkManager*.c
20677                 - Deal with test devices, mostly just return success for operations like getting
20678                         a DHCP address
20679
20680         * test/nmtestdevices.c
20681                 - Test tool to create/remove/link-switch test devices
20682
20683 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20684
20685         * examples/python/NetworkManager.py: 
20686         added convience functions has_wired_device and has_wireless_device
20687
20688         * examples/python/systray/network_tray.py: 
20689         cleaned up a bunch of cruft, added support for listing wireless
20690         networks just like the real applet.  This is probably all I'm
20691         going to work on this applet from now on.
20692         TODO: add support for actually changing networks and devices
20693
20694         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20695         changed "nm.networks" into a dict from a list so I can store all
20696         the cool information about networks in there
20697
20698         * examples/python/systray/network_tray.py: 
20699         Added nice message when you try to run without running make first
20700
20701         * examples/python/NetworkManager.py: 
20702         Bug fixes to the code so we get all the device information
20703         that we need in get_device()
20704         
20705         * examples/python/NMTester.py: 
20706         Fixed _print_device_list to print_device_list
20707
20708 2004-08-29  Seth Nickell  <seth@gnome.org>
20709
20710         * configure.in:
20711
20712         Actually properly setup the Debian backend in configure.
20713         
20714 2004-08-29  Colin Walters  <walters@verbum.org>
20715
20716         * test/nminfotest.c: Include string.h and stdlib.h.
20717         (get_network_string_property, get_networks_of_type): Return NULL.
20718
20719         * test/nmclienttest.c (get_device_name, get_active_device): Return
20720         NULL.
20721
20722         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20723         use strlen, fgets always NULL-terminates the string.
20724
20725         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20726         dbus_message_get_member): Remove /* in comment.
20727
20728         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20729
20730         * src/NetworkManager.c (quit): Unused, delete.
20731         (nm_data_free): Cast arg to GFunc.
20732
20733         * panel-applet/NMWirelessAppletDbus.c: Need to include
20734         string.h, and dbus-glib-lowlevel.h (the latter is needed
20735         for dbus_connection_setup_with_g_main at present).
20736         (nmwa_dbus_update_wireless_network_list): Parenthesize
20737         assignment in conditional.
20738         (nmwa_dbus_worker): Return NULL.
20739
20740         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20741         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20742         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20743         (nmwa_populate_menu): Return NULL on failure, instead of just
20744         return;
20745
20746         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20747
20748         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20749         variables.
20750
20751         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20752         delete.
20753         
20754 2004-08-29  Colin Walters  <walters@verbum.org>
20755
20756         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20757         a GTimeVal instead of time_t.  This is easier to work with,
20758         since time_t may be a long or double, we don't know.
20759
20760         * src/NetworkManagerDbus.h: Update prototype.
20761         
20762         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20763         instead of time_t.
20764         (nm_ap_get_timestamp): Update to return GTimeVal.
20765         (nm_ap_set_timestamp): Update to take GTimeVal.
20766         
20767         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20768         to handle GTimeVal.
20769
20770         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20771         GTimeVal change.
20772         (nm_ap_list_print_members): Fix warnings in printf format.
20773
20774 2004-08-29  Colin Walters  <walters@verbum.org>
20775         
20776         * panel-applet/NMWirelessApplet.c: Include config.h.
20777
20778 2004-08-29  Colin Walters  <walters@verbum.org>
20779
20780         * configure.in: Generate config.h.
20781
20782         * configure.in: Dump dependency on OpenSSL; we can't
20783         use it since this package is GPL:
20784         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20785         Instead, check for libgcrypt, use it if available,
20786         otherwise use included MD5 code.
20787
20788         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20789         Suck in from gnome-keyring, munge a bit.
20790         
20791         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20792         gnome-keyring-md5.h gnome-keyring-md5.c.
20793         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20794
20795         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20796         libgcrypt or included gnome-keyring md5 bits.
20797         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20798
20799 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20800
20801         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20802
20803 2004-08-27  Bryan Clark  <bclark@redhat.com>
20804
20805         * examples/python/systray/Makefile: 
20806
20807         Updated the clean section
20808         
20809         * examples/python/systray/trayiconmodule.c: 
20810         * examples/python/systray/trayicon.override: 
20811         * examples/python/systray/network_tray.py: 
20812         * examples/python/systray/eggtrayicon.h: 
20813         * examples/python/systray/eggtrayicon.c: 
20814         * examples/python/systray/Makefile: 
20815         * examples/python/README: 
20816         * examples/python/NetworkManager.py: 
20817         * examples/python/NMTester.py: 
20818
20819         Initial commit of these python example files
20820
20821 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20822
20823         * panel-applet/NMWirelessApplet.c
20824                 - Make current device bold
20825                 - Show more user-friendly device name if we got one from hal
20826
20827         * panel-applet/NMWirelessAppletDbus.c
20828                 - Grab "info.product" key from hal for network devices
20829                 - Cache the current active device
20830
20831 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20832
20833         * configure.in: Added en_CA to ALL_LINGUAS.
20834
20835 2004-08-27  Christian Rose  <menthos@menthos.com>
20836
20837         * configure.in: Added "sv" to ALL_LINGUAS.
20838
20839 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20840
20841         * Tag NetworkManager-0.2
20842
20843 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20844
20845         * initscripts/Makefile.am
20846         * configure.in: Make pass distcheck
20847
20848         * po/ChangeLog: added
20849
20850 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20851
20852         * panel-applet/NMWirelessApplet.c
20853                 - Remove debugging code
20854                 - Enable device switching from menus
20855
20856         * panel-applet/NMWirelessAppletDbus.[ch]
20857                 - Method for asking NM to switch devices
20858
20859         * src/NetworkManagerDevice.c
20860                 - Set dev->activating earlier, avoids race between
20861                         the dbus signal of "DeviceActivating" and setting
20862                         dev->activating (which is what NM's "status" method call
20863                         looks at)
20864
20865 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20866
20867         * panel-applet/NMWirelessApplet.[ch]
20868                 - Rework menu code to add devices to menu, and to show
20869                         signal strength for each access point.  Code cleanups
20870                         too.
20871
20872         * panel-applet/NMWirelessAppletDbus.c
20873                 - Grab network devices from NetworkManager too
20874                 - Grab quality information from NM for wireless networks
20875
20876         * src/NetworkManagerDbus.[ch]
20877                 - Add dbus methods for getting the HAL UDI from a device and
20878                         for getting its base quality, if its wireless
20879                 - Consolidate some functions (wireless network notifications,
20880                         device notifications)
20881                 - Add method for requesting NM to use a particular device
20882
20883         * src/NetworkManager.c
20884                 - Change for function consolidations from NetworkManagerDbus.c
20885                 - Implement active device locking and user-requested devices
20886                         (ie, tell NM to use a particular device instead of the one
20887                         it autochose)
20888
20889         * src/NetworkManagerDevice.c
20890                 - Add method for getting the base quality of a device, if its
20891                         wireless
20892                 - Grab device base quailty info from iwlib during scans
20893
20894         * src/NetworkManagerPolicy.c
20895                 - Use a user-requested device rather than the auto-chosen device
20896                         if we are told to
20897
20898 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20899
20900         * Makefile.am: add po as a supdir
20901
20902         * autogen.sh: use gnome-autogen.sh
20903
20904         * initscript/Gentoo/.cvsignore:
20905         * initscript/RedHat/.cvsignore: Shut up cvs
20906
20907         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20908
20909         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20910         (nmwa_fill): Use gettext.
20911
20912         * configure.in: add gettext support
20913         * po/.cvsignore:
20914         * po/NetworkManager.pot:
20915         * po/POTFILES.in:
20916
20917 2004-08-26  Seth Nickell  <seth@gnome.org>
20918
20919         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20920         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20921         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20922         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20923         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20924         * panel-applet/NMWirelessApplet.h:
20925
20926         Use a menu bar instead of a button for the main clickable
20927         thingy.
20928         
20929 2004-08-25  Dan Williams <dcbw@redhat.com>
20930
20931         * src/NetworkManagerDevice.c
20932                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20933                         turning encryption off, because the Cisco driver doesn't associate
20934                         with WEP-enabled access points unless we are in "open"
20935
20936 2004-08-25  Dan Williams <dcbw@redhat.com>
20937
20938         * src/NetworkManagerWireless.c
20939                 - Don't try to defererence blank passphrases
20940
20941 2004-08-25  Dan Williams <dcbw@redhat.com>
20942
20943         * panel-applet/NMWirelessApplet.c
20944                 - Rebuild the menu whenever a user clicks
20945
20946 2004-08-25  Dan Williams <dcbw@redhat.com>
20947
20948         * panel-applet/NMWirelessApplet.c
20949                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20950                         when NM isn't around or when its not connected
20951
20952         * src/NetworkManagerDevice.c
20953                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20954                         canceled.
20955
20956 2004-08-25  Dan Williams <dcbw@redhat.com>
20957
20958         * panel-applet/NMWirelessAppletDbus.c
20959                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20960                         for getting encryption, and don't stop on "val" once we've gotten it
20961                         from NetworkManager.  Short form:  encryption should now show up.
20962
20963 2004-08-25  Dan Williams <dcbw@redhat.com>
20964
20965         * panel-applet/NMWirelessApplet.c
20966                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20967                         network to associate with
20968
20969 2004-08-25  Dan Williams <dcbw@redhat.com>
20970
20971         * panel-applet/*
20972                 - Rework the panel applet to do all DBUS communication in a separate
20973                         thread
20974
20975 2004-08-25  Dan Williams <dcbw@redhat.com>
20976
20977         * info-daemon/NetworkManagerInfo.[ch]
20978                 - Remove "get_next_priority" function
20979
20980         * info-daemon/NetworkManagerInfoDbus.[ch]
20981                 - Convert "priority" functions to "timestamp"
20982
20983 2004-08-25  Dan Williams <dcbw@redhat.com>
20984
20985         * src/NetworkManagerAP.[ch]
20986                 - Add a "enc_method_good" member and accessors to an Access Point
20987                         to signal when we've found the correct encryption method
20988                         for an access point
20989                 - Add a "timestamp" member and accessors, remove "priority" member
20990                         and accessors (use timestamps instead)
20991                 - Rename "wep_key"->"enc_key"
20992                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20993                         for a specified encryption method using the access points
20994                         source encryption key/passphrase
20995
20996         * src/NetworkManagerAPList.c
20997                 - When updating a network with dbus, grab timestamp now instead of
20998                         priority
20999
21000         * src/NetworkManagerDBus.[ch]
21001                 - Add signal for "DeviceActivating"
21002                 - Switch priority->timestamp
21003
21004         * src/NetworkManagerDevice.c
21005                 - Change references of "wep_key" -> "enc_key" or "key"
21006                 - Signal DeviceActivating when starting activation
21007                 - When activating a wireless device, if the access point we are connecting
21008                         to is encrypted, and we have a source key, try to generate a mangled
21009                         key and use that (ie, generate real WEP key from a passphrase)
21010                 - Rework device activation to fallback to other encryption methods if
21011                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21012                         first, then if that doesn't work fall back to direct hex key).
21013                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21014                         priority.  We now prefer the latest access point used, rather than using
21015                         a priority scheme
21016                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21017                         points we've just discovered, and merge in correct info from the global
21018                         access point lists
21019
21020 2004-08-25  Seth Nickell  <seth@gnome.org>
21021
21022         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21023         Debian support.
21024         
21025         * src/Makefile.am:
21026         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21027         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21028         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21029         (nm_system_delete_default_route),
21030         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21031         (nm_system_load_device_modules):
21032
21033 2004-08-24  Dan Willemsen <dan@willemsen.us>
21034
21035         * src/NetworkManager.c
21036           src/backends/NetworkManagerGentoo.c
21037           src/backends/NetworkManagerRedHat.c
21038           src/backends/NetworkManagerSystem.h
21039                 - Implement preliminary Gentoo support, adding a
21040                         nm_system_init function to the backend specification
21041
21042         * configure.in
21043                 - Distribution auto-detection, lowercase any user-fed
21044                         distribution names
21045
21046         * initscript/.cvsignore
21047           initscript/Makefile.am
21048           initscript/RedHat/Makefile.am
21049           initscript/RedHat/NetworkManager
21050           initscript/Gentoo/Makefile.am
21051           initscript/Gentoo/NetworkManager
21052                 - Refactored initscript code separately for each
21053                         distribution
21054
21055 2004-08-23  Dan Williams <dcbw@redhat.com>
21056
21057         * configure.in
21058           src/Makefile.am
21059           src/NetworkManagerDevice.c
21060           src/NetworkManager.c
21061           src/NetworkManagerUtils.[ch]
21062           src/backends/NetworkManagerSystem.h
21063           src/backends/NetworkManagerRedHat.c
21064           src/backends/NetworkManagerGentoo.c
21065                 - Refactor system-specific code into separate backends for
21066                         each distribution
21067
21068 2004-08-23  Dan Willemsen <dan@willemsen.us>
21069
21070         * dispatcher-daemon/NetworkManagerDispatcher.c
21071           info-daemon/NetworkManagerInfo.[ch]
21072           info-daemon/NetworkManagerInfoDbus.c
21073           info-daemon/NetworkManagerInfoPassphraseDialog.c
21074           src/NetworkManager.c
21075           src/NetworkManagerAP.c
21076           src/NetworkManagerAPList.c
21077           src/NetworkManagerDbus.c
21078           src/NetworkManagerDevice.c
21079           src/NetworkManagerPolicy.c
21080           src/NetworkManagerUtils.[ch]
21081           src/NetworkManagerWireless.c
21082                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21083
21084         * src/NetworkManager.c
21085                 - Fixed usage wording for --no-daemon
21086
21087 2004-08-23  Dan Williams <dcbw@redhat.com>
21088
21089         * panel-applet/NMWirelessApplet.c
21090                 - Update our state every second to get more responsive panel icon
21091                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21092                         was causing our marching ants status blips to never move when
21093                         looking for a wireless network
21094
21095         * src/NetworkManagerDevice.c
21096                 - (nm_device_activation_begin): return if activation has already begun
21097                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21098                         trusted/preferred network into the device's access point when the
21099                         scan list is processed
21100
21101 2004-08-23  Dan Williams <dcbw@redhat.com>
21102
21103         * initscript/NetworkManager
21104                 - Use NMLaunchHelper rather than sleeping
21105
21106         * initscript/NMLaunchHelper.c
21107           Makefile.am
21108                 - Add helper program that exits only when NM activates a device,
21109                         or 10 seconds have passed, whichever happens first.  This
21110                         stops the boot processes until we have a network connection,
21111                         which NM can't do because it daemonizes and brings the connection
21112                         up in the background.  Allows stuff like NFS to not die.
21113
21114 2004-08-20  Dan Williams <dcbw@redhat.com>
21115
21116         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21117                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21118                         for a network, set the essid as well since it may not exist yet
21119                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21120                         since WEP keys/passphrases are long and prone to entry-error
21121
21122         * panel-applet/Makefile.am
21123           panel-applet/wired.png
21124                 - Add (pulled from system-config-network temporarily)
21125
21126         * panel-applet/NMWirelessApplet.[ch]
21127                 - Show wired picture when a wired connection is used
21128                 - Rename wireless icon enums, adding WIRELESS
21129
21130         * src/NetworkManagerDevice.c
21131                 - (nm_device_activate_wireless): unset encryption before bringing
21132                         down the card and setting the essid
21133                 - (nm_device_activatin_worker): request a key from the user if the
21134                         AP we are connecting to is encrypted but we don't have a key
21135                         for it yet
21136                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21137                         strcmp() that prevented a user-entered key from actually getting
21138                         used
21139
21140 2004-08-16  Dan Williams <dcbw@redhat.com>
21141
21142         * initscript/NetworkManager
21143                 - Check for /sbin/ip
21144                 - Do sysctl magic that network service does
21145                 - sleep 4s after start to allow network time to come up [hack]
21146
21147         * src/Makefile.am
21148           src/NMLoadModules
21149                 - Load all network device kernel modules (hal doesn't know devices
21150                         are ethernet until the module is loaded, and therefore we don't know)
21151
21152         * src/NetworkManager.c
21153                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21154                         network devices, and bring up the loopback device explicitly
21155
21156         * src/NetworkManagerUtils.[ch]
21157                 - (nm_enable_loopback): new function
21158
21159 2004-08-13  Dan Williams <dcbw@redhat.com>
21160
21161         * configure.in
21162           panel-applet/Makefile.am
21163                 - Fix up cleanfiles and server_DATA/server_in_files
21164
21165         * README
21166                 - Update with some comments on theory of operation
21167
21168         * CONTRIBUTING
21169           Makefile.am
21170                 - Add CONTRIBUTING
21171
21172 2004-08-12  Dan Williams <dcbw@redhat.com>
21173
21174         * info-daemon/passphrase.glade
21175                 - Set window title to " "
21176
21177         * panel-applet/Makefile.am
21178           panel-applet/keyring.png
21179                 - Deliver to correct place
21180
21181         * panel-applet/NMWirelessApplet.[ch]
21182                 - Add comments
21183                 - Remove applet->have_active_device as its no longer used
21184                 - (nmwa_load_theme): load keyring.png too
21185                 - (error_dialog): remove
21186                 - (show_warning_dialog): subsume functionality of error dialog too
21187                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21188                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21189                         the networks menu
21190                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21191                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21192                         and when we get broadcasts of changed wireless access points only, not when the
21193                         user clicks on the button to display the menu (too long of a wait)
21194                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21195                         networks that are encrypted
21196                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21197                         menu item with g_object_set_data()
21198
21199         * panel-applet/NMWirelessAppletDbus.[ch]
21200                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21201                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21202                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21203                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21204                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21205                         activation/deactivation signals and rebuild the menu when they happen
21206
21207         * src/NetworkManager.c
21208                 - (main): use new nm_spawn_process() rather than system()
21209
21210         * src/NetworkManagerDbus.c
21211                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21212                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21213                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21214                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21215                         to freeze the best_ap.
21216
21217         * src/NetworkManagerDevice.[ch]
21218                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21219                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21220                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21221                         ap list
21222
21223         * src/NetworkManagerUtils.[ch]
21224                 - (nm_spawn_process): add replacement for system() usage
21225
21226 2004-08-11  Dan Williams <dcbw@redhat.com>
21227
21228         * panel-applet/NMWirelessApplet.[ch]
21229                 - Fix up copyright and credits to include Bastien and Eskil,
21230                         who created the gnome-applets wireless applet, from whose
21231                         skeleton this one was created
21232                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21233                         pixmap to draw is computed during nmwa_update_state()
21234                 - Applet now shows itself all the time due to panel packing issues
21235                         which caused the applet to previously never come back after hiding.
21236                         When a wired device is the active device, the applet shows "not connected"
21237
21238         * panel-applet/NMWirelessAppletDbus.[ch]
21239                 - Clean up error messages and show what function they are from
21240                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21241                 - Add new device type getters, and a status getter
21242
21243         * src/NetworkManagerDbus.c
21244                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21245                         network is actually in the device's ap list
21246                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21247
21248         * src/NetworkManagerDevice.c
21249                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21250                         card
21251
21252         * test/nmclienttest.c
21253                 - Report status of NetworkManager too
21254
21255 2004-08-11  Dan Williams <dcbw@redhat.com>
21256
21257         * info-daemon/NetworkManagerInfo.c:
21258                 - (main): clean up Seth's code style
21259
21260         * info-daemon/NetworkManagerInfoDbus.c:
21261                 - Use the more aptly-named path/service/interface constants from NetworkManager
21262                 - Don't return empty strings ("") as object paths ever, instead return errors
21263
21264         * panel-applet/NMWirelessApplet.c:
21265                 - Clean up Seth's code style
21266
21267         * src/NetworkManager.[ch]
21268                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21269                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21270
21271         * src/NetworkManagerAPList.[ch]
21272                 - Move Iter struct right above the iter functions to preserve opacity
21273                 - (nm_ap_list_remove_ap): implement
21274                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21275                         remove AP if NetworkManagerInfo doesn't know anything about it
21276                 - (nm_ap_list_diff): user NMAPList iterators
21277                 - (nm_ap_list_print_members): implement debugging function
21278
21279         * src/NetworkManagerDbus.[ch]
21280                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21281                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21282                         and move the actual key setting stuff into NetworkManagerDevice.c
21283                 - (nm_dbus_get_network_priority): return -1 now on errors
21284                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21285                         get lost, and force the active device to update its "best" ap when AP lists change
21286                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21287                         method call due to pending_device member removal
21288
21289         * src/NetworkManagerDevice.[ch]
21290                 - Move NMDevice structure to the top
21291                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21292                 - Remove Pending Action stuff from everywhere
21293                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21294                         activation for us.  This thread blocks until all conditions for activation have
21295                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21296                         then setup up the interface and runs dhclient.  We have to do this because there
21297                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21298                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21299                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21300                         can tell nm_device_activation_worker() that we've got a key
21301                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21302                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21303                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21304                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21305
21306         * src/NetworkManagerPolicy.c
21307                 - Remove anything to do with pending_device
21308                 - Adjust device activation to deal with activation-in-worker-thread
21309
21310         * src/NetworkManagerUtils.c
21311                 - Clean up locking debugging a bit
21312
21313         * src/NetworkManagerWireless.[ch]
21314                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21315                         was badly named and is better as a device function
21316
21317         * panel-applet/.cvsignore: add
21318
21319 2004-08-09  Seth Nickell  <seth@gnome.org>
21320
21321         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21322         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21323         (nmwa_new):
21324         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21325
21326         Don't load the menus until clicked on (also removes a call outside
21327         normal code paths at first load).
21328
21329         Hide applet when NM is not present.
21330         
21331         Improve printf debugging stuff.
21332         
21333 2004-08-09  Dan Williams <dcbw@redhat.com>
21334
21335         * dispatcher-daemon/NetworkManagerDispatcher.c:
21336                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21337                 - Use constants for NetworkManager interface, service, and path
21338
21339 2004-08-09  Dan Williams <dcbw@redhat.com>
21340
21341         * src/NetworkManagerDbus.c:
21342                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21343                         instead return an error message
21344                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21345                         on a wired device.  Also never return an empty object path, instead return an error message
21346
21347 2004-08-06  Seth Nickell  <seth@gnome.org>
21348
21349         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21350
21351         Check the error code when getting a connection.
21352         
21353         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21354
21355         Check if the NM service exists when initializing (rather than
21356         assuming it does not).
21357         
21358         * src/NetworkManagerDbus.c: (nm_dbus_init):
21359
21360         Don't acquire the well-known service name until we have
21361         registered object/path handlers and can actually receive
21362         calls.
21363         
21364 2004-08-06  Dan Williams <dcbw@redhat.com>
21365
21366         * panel-applet/*
21367                 - Add panel applet
21368
21369         * src/NetworkManagerPolicy.c
21370           src/NetworkManager.c
21371                 - Get access point lists from NetworkManagerInfo on-demand,
21372                         and look for ServiceCreate/ServiceDeleted signals to see when
21373                         we should query NMI for lists
21374         * src/NetworkManagerAPList.c
21375                 - Make sure to init the list's mutex
21376                 - Convert traversals of the list over to the list iter functions
21377
21378         * src/NetworkManagerDbus.[ch]
21379                 - Use more aptly-named path/service/interface constants
21380                 - Treat both active and pending devices the same for "getActiveDevice"
21381                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21382
21383         * src/NetworkManagerDevice.c
21384                 - Honor "ignored" network list when picking best ap to use
21385
21386 2004-08-06  Seth Nickell  <seth@gnome.org>
21387
21388         * aclocal.m4:
21389
21390         Autogenerated, remove from CVS.
21391         
21392         * autogen.sh:
21393
21394         Don't hardcode automake version.
21395         
21396         * configure.in:
21397         * info-daemon/Makefile.am:
21398         * info-daemon/NetworkManagerInfo.c: (main):
21399
21400         Use GnomeProgram et al. for doing session management.
21401         Use popt stuff for argument parsing rather than doing
21402         it manugally.
21403         
21404 2004-08-05  Dan Williams <dcbw@redhat.com>
21405
21406         * test/nminfotest.c
21407                 - Update to new NMI dbus API, check different network types
21408
21409         * info-daemon/NetworkManagerInfoDbus.c
21410                 - Update to new NM dbus API, ie network type sent in query message
21411
21412 2004-08-05  Dan Williams <dcbw@redhat.com>
21413
21414         * An assload of changes
21415
21416 2004-08-02  Dan Williams <dcbw@redhat.com>
21417
21418         * TODO
21419                 - new task: proper logging support
21420
21421         * info-daemon/NetworkManagerInfo.c
21422                 - Correct spelling of "canceled"
21423                 - Correct casting of objects for g_signal_connect()
21424
21425         * info-daemon/NetworkManagerInfoDbus.c
21426                 - Add defines for NetworkManager namespace and object path, and use them
21427                 - Add filter function to trap new signals from NetworkManager:
21428                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21429
21430         * info-daemon/passphrase.glade
21431                 - Change name of "ok" button to "Login to Network..."
21432                 - Mark invisible
21433
21434         * src/NetworkManager.c
21435                 - Code and debug message cleanups
21436                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21437                 - (nm_add_initial_devices) Check returned string array of devices
21438                         and don't try to add devices if array is NULL
21439                 - (main) Initialize libhal a bit later, make code a bit clearer
21440
21441         * src/NetworkManagerAP.[ch]
21442                 - New accessor and data member "matched": used to speed up AP list
21443                         diffing
21444                 - New accessor and data member "enc_method": will be used during key
21445                         fallback to cache which passphrase->key conversion actually works
21446                         so we don't have to do it every time
21447
21448         * src/NetworkManagerAPList.[ch]
21449                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21450                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21451                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21452                         dbus in response to those differences
21453
21454         * src/NetworkManagerDbus.[ch]
21455                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21456                         make an object path for that access point (NOTE that we don't yet check to
21457                         make sure that access point is actually in the device's AP list yet)
21458                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21459                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21460                         New: signal appearance/disappearance of wireless networks
21461                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21462                         key entry
21463
21464         * src/NetworkManagerDevice.[ch]
21465                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21466                 - (nm_device_ap_list_get) New: return the AP list (static function)
21467                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21468                         new one resulting from the scan with the old one
21469
21470         * src/NetworkManagerWireless.c
21471                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21472
21473         * test/nminfotest.c
21474                 - #define object paths and namespaces and use the #defines rather than static strings
21475                 - Test out user-key functionality of NetworkManagerInfo too
21476
21477 2004-07-29  Dan Williams <dcbw@redhat.com>
21478
21479         * info-daemon/NetworkManagerInfoDbus.c
21480           src/NetworkManagerDbus.c
21481                 - Update to current DBus (ie don't use decomposed paths when registering
21482                         object paths/fallbacks)
21483
21484 2004-07-27  Dan Williams <dcbw@redhat.com>
21485
21486         * Remove various Makefile.in files
21487
21488         * TODO
21489                 - Add some more items
21490
21491         * configure.in
21492                 - Add checks for OpenSSL/md5 headers and libs
21493
21494         * src/Makefile.am
21495                 - Use OpenSSL CFLAGS
21496
21497         * src/NetworkManagerAP.[ch]
21498                 - Remove 'stamp' functions, replace with 'invalid' functions
21499                         to support user cancelling WEP key entry
21500
21501         * src/NetworkManagerDbus.c
21502                 - Remove 'stamp' return functions
21503                 - Treat returned user key as a passphrase and convert to a WEP key,
21504                         but don't actually use the WEP key yet.  We use the returned user
21505                         key as a hexadecimal WEP key until we can figure out a UI for
21506                         passphrase-vs-hex key
21507
21508         * src/NetworkManagerWireless.[ch]
21509                 - Add passphrase-to-128bit-key function
21510
21511 2004-07-27  Dan Williams <dcbw@redhat.com>
21512
21513         * TODO
21514                 - Add a couple of items
21515
21516 2004-07-27  Dan Williams <dcbw@redhat.com>
21517
21518         * info-daemon/NetworkManagerInfo.c
21519                 - Update allowed network's GConf key when user enters a WEP key explicitly
21520
21521         * info-daemon/NetworkManagerDbus.c
21522                 - Fix some comments
21523                 - nmi_dbus_get_allowed_networks(): kill warning
21524
21525 2004-07-27  Dan Williams <dcbw@redhat.com>
21526
21527         * initscript/Makefile.in
21528                 - Remove
21529
21530         * initscript/Makefile.am
21531                 - Add correct rules to install the init.d initscript
21532
21533         * info-daemon/NetworkManagerInfoDbus.c
21534                 - Remove debug fprintf
21535
21536         * src/NetworkManagerDbus.[ch]
21537                 - Remove debug fprintfs
21538                 - Add macros for NetworkManagerInfo object path/namespace
21539                 - Use said macros instead of constant strings
21540
21541 2004-07-27  Dan Williams <dcbw@redhat.com>
21542
21543         * initscript/.cvsignore
21544                 - Add
21545
21546         * info-daemon/Makefile.am
21547                 - Install .glade files and keyring.png
21548                 - Fix stupid omission of a \ that caused half the flags not to be
21549                         passed to gcc
21550
21551         * info-daemon/NetworkManagerInfo.c
21552                 - gtk_signal_connect->g_signal_connect
21553                 - Alert NetworkManagerInfo to new glade file location
21554
21555 2004-07-27  Dan Williams <dcbw@redhat.com>
21556
21557         * test/nmclienttest.c
21558           test/nminfotest.c
21559                 - Add missing <dbus/dbus.h> headers
21560                 - Add GPL message at top
21561
21562 2004-07-27  Dan Williams <dcbw@redhat.com>
21563
21564         * src/NetworkManagerAPList.[ch]
21565           src/Makefile.am
21566                 - Add.  Deal with allowed network list additions, deletions, and updates
21567
21568         * dispatcher-daemon/NetworkManagerDispatcher.c
21569                 - Add missing <dbus/dbus.h> header
21570
21571         * info-daemon/NetworkManagerInfo.[ch]
21572                 - Add missing <dbus/dbus.h> header
21573                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21574                         network change
21575                 - Better error checking
21576
21577         * info-daemon/NetworkManagerInfoDbus.[ch]
21578                 - Add missing <dbus/dbus.h> header
21579                 - Convert to using dbus_message_append_args/dbus_message_get_args
21580                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21581                         that an allowed network changed.  We don't want to signal on individual
21582                         keys _inside_ an allowed network really, just want NM to query the info
21583                         daemon for updated info on all keys.
21584                 - Better error checking
21585
21586         * src/NetworkManager.[ch]
21587                 - Add missing <dbus/dbus.h> header
21588                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21589                 - Zero out NMData structure on free
21590                 - No longer use a thread for allowed_ap_list updating, instead its now done
21591                         through dbus queries against NetworkManagerInfo
21592                 - Populate allowed_ap_list initially before adding existing network devices
21593                         to the device list, so wireless devices can get their "best" AP
21594
21595         * src/NetworkManagerDbus.[ch]
21596                 - Convert to using dbus_message_append_args/dbus_message_get_args
21597                 - Better error checking
21598                 - Implement Allowed Network info functions to request allowed network
21599                         info from NetworkManagerInfo
21600                 - Implement the filter function to process signals from NetworkManagerInfo
21601                         about changing allowed networks
21602
21603         * src/NetworkManagerDevice.c
21604                 - Fix file descriptor leak in nm_device_update_ip4_address()
21605
21606 2004-07-27  Dan Williams <dcbw@redhat.com>
21607
21608         * .cvsignore
21609           src/.cvsignore
21610           test/.cvsignore
21611           dispatcher-daemon/.cvsignore
21612           info-daemon/.cvsignore
21613                 - Add .cvsignore files to reduce noise when diffing
21614
21615 2004-07-24  Dan Williams <dcbw@redhat.com>
21616
21617         * src/NetworkManager.[ch]
21618           src/NetworkManagerDbus.[ch]
21619           src/NetworkManagerDevice.[ch]
21620           src/NetworkManagerPolicy.c
21621           src/NetworkManagerWireless.[ch]
21622                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21623                 - Pass the NMData application data structure through all calls
21624                         that need it so we can get rid of nm_get_global_data()
21625                 - Change deallocation of the allowed_ap_list GSList in preparation
21626                         for not completely clearing it every time we get an update,
21627                         but instead getting incremental updates via GConf/dbus
21628
21629 2004-07-22  Dan Williams <dcbw@redhat.com>
21630
21631         * configure.in
21632                 - Add checks for GConf libs & headers & flags
21633
21634         * info-daemon/Makefile.am
21635                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21636
21637         * info-daemon/NetworkManagerInfo.[ch]
21638                 - Don't use gquarks for data storage, just use normal data storage
21639                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21640
21641         * info-daemon/NetworkManagerDbus.[ch]
21642                 - Add method call for getting allowed networks
21643                 - Add method calls for getting an allowed network's essid, priority, and key
21644                 - Hook the method calls up to GConf
21645                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21646                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21647                 
21648         * src/NetworkManagerDbus.[ch]
21649                 - Switch for enumeration of networks to using essid instead
21650
21651         * test/Makefile.am
21652           test/nminfotest.c
21653                 - Add test program for NetworkManagerInfo
21654
21655 2004-07-19  Dan Williams <dcbw@redhat.com>
21656
21657         * src/NetworkManagerDbus.c
21658                 - Switch from indexed device paths to names.  Less code, more efficient.
21659                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21660
21661 2004-07-19  Dan Williams <dcbw@redhat.com>
21662
21663         * dispatcher-daemon/NetworkManagerDispatcher.c
21664                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21665
21666 2004-07-19  Dan Williams <dcbw@redhat.com>
21667
21668         * Makefile.am
21669                 - Add info-daemon directory
21670
21671         * configure.in
21672                 - Check for glade libs and headers
21673                 - Add info-daemon directory
21674
21675         * src/NetworkManagerAP.c
21676                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21677                         copied over to the new AP.
21678
21679         * src/NetworkManagerDbus.c
21680           src/NetworkManagerDbus.h
21681                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21682                 - Remove nm_dbus_signal_need_key_for_network()
21683                 - Add disabled code for asynchronous user wep key callbacks
21684                 - Add functions for getting, setting, and cancelling user key operations
21685                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21686                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21687
21688         * src/NetworkManagerDevice.c
21689           src/NetworkManagerDevice.h
21690                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21691                         logic is in device activation now
21692                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21693                         key is wrong) trigger get-user-key pending action
21694                 - Implement get-user-key pending action stuff, tie to dbus messages
21695                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21696                 - Add nm_device_ap_list_get_ap_by_essid()
21697                 - Instead of copying "best" access points, ref them instead so that the key we set
21698                         sticks around
21699
21700         * src/NetworkManagerPolicy.c
21701                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21702                 - Don't cancel pending actions on a device if its the same device as last iteration
21703                 - Only promote pending_device->active_device if activation was successfull
21704
21705         * src/Makefile.am
21706                 - Rename nmclienttest->nmtest
21707
21708         * info-daemon/Makefile.am
21709           info-daemon/NetworkManagerInfo.c
21710           info-daemon/NetworkManagerInfo.h
21711           info-daemon/NetworkManagerInfoDbus.c
21712           info-daemon/NetworkManagerInfoDbus.h
21713           info-daemon/passphrase.glade
21714           info-daemon/NetworkManagerInfo.conf
21715           info-daemon/keyring.png
21716                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21717                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21718                         lists to NetworkManager by proxying user's GConf
21719           
21720
21721 2004-07-15  Dan Williams <dcbw@redhat.com>
21722
21723         * src/Makefile.am
21724                 - Turn on warnings
21725
21726         * src/NetworkManager.c
21727                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21728                         that doing the deactivation ourselves
21729                 - Cancel an pending actions on a device if its being removed
21730                 - Break up link state checking a bit, make non-active wireless cards
21731                         deactivated to save power
21732                 - Remove unused variables
21733
21734         * src/NetworkManager.h
21735                 - Add support for "pending" device
21736
21737         * src/NetworkManagerAP.h
21738           src/NetworkManagerAP.c
21739                 - Add support for determining whether and AP has encryption enabled or not
21740                 - AP address is now "struct ether_addr" rather than a string
21741
21742         * src/NetworkManagerDbus.h
21743           src/NetworkManagerDbus.c
21744                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21745                 - Changes for AP address from struct ether_addr->string
21746
21747         * src/NetworkManagerDevice.h
21748           src/NetworkManagerDevice.c
21749                 - Remove unused variables, fix warnings
21750                 - Add support for Pending Actions (things that block a device from being "active"
21751                         until they are completed).
21752                 - First pending action:  Get a WEP key from the user
21753                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21754                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21755                 - Update wireless link checking to try to determine if the AP we are associated
21756                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21757                         trigger the GetUserKey pending action on the device
21758                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21759                         up in that case, otherwise we can't scan or link-check on it
21760                 - Add IP address change notifications at appropriate points (still needs some work)
21761                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21762
21763         * src/NetworkManagerPolicy.h
21764           src/NetworkManagerPolicy.c
21765                 - Split out "best" access point determiniation into separate function
21766                 - Make device activation 2-stage:  first the device is pending, then
21767                         in the next iteration through it becomes "active" unless it has
21768                         pending actions
21769
21770         * src/NetworkManagerUtils.h
21771           src/NetworkManagerUtils.c
21772                 - Clean up unused variables and warnings
21773                 - Wrap our debug macros in {} to prevent possible confusion
21774
21775         * src/NetworkManagerWireless.c
21776                 - Forgot to return current best priority, which lead to last available AP always
21777                         being chosen no matter what its priority was.  Corrected.
21778
21779 2004-07-15  Dan Williams <dcbw@redhat.com>
21780
21781         * dispatcher-daemon/Makefile.am
21782                 - Turn on warnings
21783
21784         * dispatcher-daemon/NetworkManagerDispatcher.c
21785                 - Remove unused variables due to warnings
21786                 - Fix some comments
21787                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21788
21789 2004-07-06  Dan Williams <dcbw@redhat.com>
21790
21791         * src/NetworkManager.c
21792                 - Add IPv4 address update for active device during link state check
21793                 - Don't allow wireless cards to be powered up when they are not the
21794                         active device
21795
21796         * src/NetworkManagerDbus.c
21797           src/NetworkManagerDbus.h
21798                 - Add DBUS IPv4 address change signal
21799                 - Add DBUS IPv4 address get method for devices
21800
21801         * src/NetworkManagerDevice.c
21802                 - Make setting the WEP key actually work
21803                 - Move IP address get/set/update stuff here, per-device
21804                 - Power down/bring down wireless device when deactivated
21805                 - For scanning wireless devices, if first scan returned ENODATA, try again
21806
21807         * src/NetworkManagerPolicy.c
21808                 - Only set the WEP key for an allowed access point if there is one.
21809                         We were setting it to be blank if one wasn't specified.
21810
21811         * src/NetworkManagerUtils.h
21812           src/NetworkManagerUtils.c
21813                 - Move the IP address stuff to NetworkManagerDevice.c
21814
21815         * dispatcher-daemon/NetworkManagerDispatcher.c
21816                 - Add device IPv4 address change notification stuff
21817
21818 2004-07-05  Dan Williams <dcbw@redhat.com>
21819
21820         * dispatcher-daemon/NetworkManagerDispatcher.c
21821                 - A bit more descriptive state message
21822                 - Don't segfault when reading directory
21823
21824         * src/NetworkManager.h
21825                 - Remove NMData desired_ap member, its now
21826                         per-device rather than global
21827
21828         * src/NetworkManager.c
21829                 - Remove references to desired_ap
21830                 - Move the allowed AP list refresh stuff into a thread
21831
21832         * src/NetworkManagerDevice.c
21833           src/NetworkManagerDevice.h
21834                 - Each wireless device now has a "best ap"
21835                 - Make device activate/deactivate functions per-device
21836                 - Make wireless scanning per-device
21837                 - Add IPv4 address discover functions, stub IPv6 ones
21838                 - Move ethernet address validation functions to NetworkManagerUtils.c
21839                 - Add wireless access point accessor function
21840                 - Get/Set functions for "best ap"
21841
21842         * src/NetworkManagerPolicy.c
21843                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21844                 - Deal with per-device "best ap" rather than data->desired_apa
21845                 - Implement allowed access point worker thread
21846                 - Add nm_policy_essid_is_allowed() function
21847
21848         * src/NetworkManagerUtils.c
21849           src/NetworkManagerUtils.h
21850                 - Add nm_ethernet_address_is_valid() function
21851                 - Add IPv4/IPv6 address get functions
21852
21853         * src/NetworkManagerWireless.c
21854           src/NetworkManagerWireless.h
21855                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21856
21857 2004-06-29  Dan Williams <dcbw@redhat.com>
21858
21859         * dispatcher-daemon/NetworkManagerDispatcher.c
21860                 - Implement script callout functionality
21861
21862 2004-06-24  Dan Williams <dcbw@redhat.com>
21863
21864         * NetworkManager.c
21865             - Spacing cleanups
21866             - Flush device routes and ip addresses when added to the device list
21867
21868         * NetworkManagerDbus.c
21869             - Spacing cleanups
21870             - Add missing returns in the two signal functions
21871         
21872         * NetworkManagerPolicy.c
21873             - Spacing and variable cleanups
21874
21875 2004-06-24  Dan Williams <dcbw@redhat.com>
21876
21877         * Makefile.am
21878           Makefile.in
21879           configure.in
21880           dispatcher-daemon/Makefile.am
21881           dispatcher-daemon/Makefile.in
21882           dispatcher-daemon/NetworkManagerDispatcher.c
21883             - Add a daemon that receives signals from NetworkManager
21884                         and will (eventually) call scripts in /etc/somewhere
21885                         when devices go up or down.
21886         
21887         * NetworkManager.c
21888             - Spacing cleanups
21889             - Flush device routes and ip addresses when added to the device list
21890
21891         * NetworkManagerDbus.c
21892             - Spacing cleanups
21893             - Add missing returns in the two signal functions
21894         
21895         * NetworkManagerPolicy.c
21896             - Spacing and variable cleanups
21897             - Rename nm_policy_switch_interface->nm_policy_switch_device
21898             - nm_policy_switch_device():
21899                                 Use kill (pid) instead of system ("kill <pid>")
21900             - nm_state_modification_monitor():
21901                                 Add wireless essid to output of debug statements
21902                                 Correct typo in device compare to switch or not (should be !=)
21903                                 Don't sleep after sending "no longer active" signal, was useless
21904
21905 2004-06-24  Dan Williams <dcbw@redhat.com>
21906
21907         * Initial import