2008-11-21 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-21  Dan Williams  <dcbw@redhat.com>
2
3         * src/nm-dbus-manager.c
4           src/nm-dbus-manager.h
5                 - (nm_dbus_manager_get_name_owner): return error
6
7         * src/nm-manager.c
8                 - (impl_manager_activate_connection): perform additional validation on
9                         ActivateConnection calls of user connections
10                 - (is_user_request_authorized): ensure that the requestor is the same
11                         UID as the UID that owns the user settings service; users shouldn't
12                         be able to control another user's connections
13
14 2008-11-21  Dan Williams  <dcbw@redhat.com>
15
16         * gfilemonitor/inotify-sub.c
17                 - (dup_dirname): actually remove trailing '/' (bgo #561807)
18
19 2008-11-21  Tambet Ingo  <tambet@gmail.com>
20
21         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): Make suse
22         plugin compile again.
23
24 2008-11-20  Dan Williams  <dcbw@redhat.com>
25
26         Patch from Tambet Ingo <tambet@gmail.com>
27
28         * libnm-util/nm-setting.c
29           libnm-util/nm-setting.h
30                 - (NMSettingValueIterFn): instead of just a gboolean for secrets, take
31                         all the GParamSpec flags of the property
32
33         * system-settings/plugins/keyfile/nm-keyfile-connection.c
34           system-settings/plugins/keyfile/reader.c
35           system-settings/plugins/keyfile/writer.c
36                 - Update for NMSettingValueIterFn change
37
38 2008-11-20  Dan Williams  <dcbw@redhat.com>
39
40         * libnm-util/nm-utils.c
41           libnm-util/nm-utils.h
42                 - More documentation updates
43
44 2008-11-20  Dan Williams  <dcbw@redhat.com>
45
46         * libnm-util/libnm-util.ver
47           libnm-util/nm-utils.c
48           libnm-util/nm-utils.h
49           libnm-util/nm-utils-private.h
50           libnm-util/nm-connection.c
51                 - (nm_utils_register_value_transformations): make private, called
52                         from NMConnection registration anyway
53
54 2008-11-20  Dan Williams  <dcbw@redhat.com>
55
56         * libnm-util/Makefile.am
57           libnm-util/nm-utils-private.h
58                 - New header for internal utils private functions
59
60         * libnm-util/libnm-util.ver
61           libnm-util/nm-utils.c
62           libnm-util/nm-utils.h
63                 - Document some functions
64                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
65                    nm_utils_string_slist_validate): un-export, only used within
66                         libnm-util or of limited use in general, and very easy to
67                         re-implement by apps if needed
68
69         * libnm-util/nm-setting-8021x.c
70           libnm-util/nm-setting-wired.c
71           libnm-util/nm-setting-wireless-security.c
72           libnm-util/nm-setting-wireless.c
73                 - Update for private nm_utils_string_* functions
74
75 2008-11-20  Dan Williams  <dcbw@redhat.com>
76
77         * libnm-util/libnm-util.ver
78           libnm-util/nm-setting.c
79           libnm-util/nm-setting.h
80                 - Add NMSetting errors
81                 - (nm_setting_update_secrets): return errors
82
83         * libnm-util/nm-connection.c
84           libnm-util/nm-connection.h
85                 - (nm_connection_update_secrets): return errors
86
87         * libnm-util/nm-setting-vpn.c
88           src/nm-activation-request.c
89           src/vpn-manager/nm-vpn-connection.c
90                 - Handle update secrets errors
91
92 2008-11-20  Dan Williams  <dcbw@redhat.com>
93
94         * libnm-util/nm-setting.c
95           libnm-util/nm-setting.h
96           libnm-util/libnm-util.ver
97                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
98                         consistent with nm_connection_new_from_hash()
99
100         * src/nm-activation-request.c
101           libnm-util/nm-connection.c
102                 - Handle rename
103
104 2008-11-19  Dan Williams  <dcbw@redhat.com>
105
106         * configure.in
107           Makefile.am
108           docs/libnm-util/Makefile.am
109           docs/libnm-util/libnm-util.types
110                 - Start to document libnm-util
111
112 2008-11-19  Dan Williams  <dcbw@redhat.com>
113
114         * libnm-util/nm-connection.h
115           libnm-util/nm-connection.c
116                 - Document public functions
117
118 2008-11-19  Dan Williams  <dcbw@redhat.com>
119
120         * libnm-util/nm-setting.h
121           libnm-util/nm-setting.c
122           src/nm-device.c
123           src/nm-manager.c
124           system-settings/plugins/ifcfg-fedora/plugin.c
125                 - Prefix compare flag defines with NM_SETTING_
126
127 2008-11-19  Dan Williams  <dcbw@redhat.com>
128
129         * libnm-util/nm-connection.c
130           libnm-util/nm-connection.h
131                 - (nm_connection_replace_settings): take a GError
132
133         * libnm-glib/nm-settings.c
134           libnm-glib/nm-dbus-connection.c
135           src/nm-manager.c
136           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
137           system-settings/plugins/keyfile/nm-keyfile-connection.c
138           system-settings/plugins/keyfile/plugin.c
139                 - Handle, or don't handle, errors from nm_connection_replace_settings()
140
141 2008-11-19  Dan Williams  <dcbw@redhat.com>
142
143         * libnm-util/libnm-util.ver
144           libnm-util/nm-connection.c
145                 - (nm_setting_register, nm_setting_unregister): unexport; they are
146                         private and don't have a use outside libnm-util
147
148 2008-11-17  Dan Williams  <dcbw@redhat.com>
149
150         * src/nm-hso-gsm-device.c
151                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
152                         devices
153
154 2008-11-17  Dan Williams  <dcbw@redhat.com>
155
156         * system-settings/plugins/ifcfg-fedora/reader.c
157                 - (read_mac_address): clean up
158                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
159                         expects
160
161         * system-settings/plugins/ifcfg-fedora/plugin.c
162                 - (read_one_connection): don't segfault on NULL errors
163
164 2008-11-14  Dan Williams  <dcbw@redhat.com>
165
166         * Tag 0.7.0-rc2
167
168 2008-11-14  Dan Williams  <dcbw@redhat.com>
169
170         Handle gateways on different subnets
171
172         * src/NetworkManagerSystem.c
173                 - (add_ip4_route_to_gateway): gateway route should be link scope and
174                         a host route
175                 - (replace_default_ip4_route): use a destination address too; gateway
176                         address should be /0; don't leak the gateway route object
177
178 2008-11-14  Dan Williams  <dcbw@redhat.com>
179
180         * libnm-glib/libnm_glib.ver
181           libnm-glib/nm-dbus-settings-system.c
182           libnm-glib/nm-dbus-settings-system.h
183                 - Add libnm-glib bits for CanModify
184
185 2008-11-14  Dan Williams  <dcbw@redhat.com>
186
187         * introspection/nm-settings-system.xml
188           system-settings/src/dbus-settings.c
189           system-settings/src/dbus-settings.h
190                 - Add a "CanModify" property to indicate if any plugins support
191                         connection modification
192
193 2008-11-14  Dan Williams  <dcbw@redhat.com>
194
195         Relicense libnm-glib to LGPLv2+ with agreement from contributors
196
197 2008-11-14  Dan Williams  <dcbw@redhat.com>
198
199         * vpn-manager/nm-vpn-connection.c
200                 - (plugin_state_changed): clear VPN secrets on error to ensure they
201                         are always requested from the settings service (rh #429287)
202
203 2008-11-13  Dan Williams  <dcbw@redhat.com>
204
205         * libnm-util/crypto.c
206                 - (crypto_get_private_key_data): fix bad initial arg type checking
207                         from pkcs#12 patch
208
209 2008-11-13  Dan Williams  <dcbw@redhat.com>
210
211         Add support for PKCS#12 private keys (bgo #558982)
212
213         * libnm-util/crypto.c
214           libnm-util/crypto.h
215                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
216                         take a GByteArray instead of a filename
217                 - (file_to_g_byte_array): handle private key files too
218                 - (decrypt_key): take a GByteArray rather than data + len
219                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
220                         one function that takes a filename, and one that takes raw data;
221                         detect pkcs#12 files as well
222                 - (crypto_load_and_verify_certificate): detect file type
223                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
224                         functions
225
226         * libnm-util/crypto_gnutls.c
227                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
228                         whereby tail padding was incorrectly handled, leading to erroneous
229                         successes when trying to decrypt the data
230                 - (crypto_verify_cert): rework somewhat
231                 - (crypto_verify_pkcs12): validate pkcs#12 keys
232
233         * libnm-util/crypto_nss.c
234                 - (crypto_init): enable various pkcs#12 ciphers
235                 - (crypto_decrypt): take a GByteArray rather than data + len
236                 - (crypto_verify_cert): clean up
237                 - (crypto_verify_pkcs12): validate pkcs#12 keys
238
239         * libnm-util/test-crypto.c
240                 - Handle pkcs#12 keys
241
242         * libnm-util/nm-setting-8021x.c
243           libnm-util/nm-setting-8021x.h
244           libnm-util/libnm-util.ver
245                 - Add two new properties, 'private-key-password' and
246                         'phase2-private-key-password', to be used in conjunction with
247                         pkcs#12 keys
248                 - (nm_setting_802_1x_set_ca_cert_from_file,
249                    nm_setting_802_1x_set_client_cert_from_file,
250                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
251                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
252                         type
253                 - (nm_setting_802_1x_get_private_key_password,
254                    nm_setting_802_1x_get_phase2_private_key_password): return private
255                         key passwords
256                 - (nm_setting_802_1x_set_private_key_from_file,
257                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
258                         key from a file, and update the private key password at the same time
259                 - (nm_setting_802_1x_get_private_key_type,
260                    nm_setting_802_1x_get_phase2_private_key_type): return the private
261                         key type
262
263         * src/supplicant-manager/nm-supplicant-settings-verify.c
264                 - Whitelist private key passwords
265
266         * src/supplicant-manager/nm-supplicant-config.c
267                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
268                         add the private key password to the supplicant config, but do not
269                         add the client certificate (as required by wpa_supplicant)
270
271 2008-11-12  Tambet Ingo  <tambet@gmail.com>
272
273         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
274         (add_secrets): Don't add empty secrets to the secrets hash table.
275
276 2008-11-07  Dan Williams  <dcbw@redhat.com>
277
278         * libnm-util/nm-setting-wireless.c
279                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
280                         that cased this function to return garbage, breaking hidden AP
281                         detection
282
283 2008-11-07  Dan Williams  <dcbw@redhat.com>
284
285         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
286
287         * src/NetworkManagerSystem.c
288           src/NetworkManagerSystem.h
289                 - (nm_system_device_set_ip4_route): return the route that was added
290                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
291                         public, clean up, and return the route that was added
292                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
293                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
294                         flags to allow only certain attributes of the NMIP4Config to be
295                         applied
296
297         * src/nm-device.c
298                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
299                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
300                         what's really changed between the old and new configs; don't export
301                         the new IP4 config on failure; always send the DNS info to the
302                         named manager
303
304         * src/vpn-manager/nm-vpn-connection.c
305                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
306                         parent device's IP4Config and re-add the VPN gateway route when it
307                         changes
308                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
309                         nm_system_apply_ip4_config() no longer does) and cache it for later
310                 - (connection_state_changed): move cleanup code to its own function
311                 - (vpn_cleanup): delete any previously added VPN gateway route; and
312                         re-apply the parent device's addresses and routes using
313                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
314
315 2008-11-07  Dan Williams  <dcbw@redhat.com>
316
317         * src/nm-ip4-config.c
318           src/nm-ip4-config.h
319                 - (nm_ip4_config_diff): new function; return the difference between two
320                         IP4 configs
321                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
322
323 2008-11-05  Dan Williams  <dcbw@redhat.com>
324
325         * nm-ip4-config.c
326           nm-ip4-config.h
327                 - (nm_ip4_config_compare): compare two IP4 configs
328
329 2008-11-05  Dan Williams  <dcbw@redhat.com>
330
331         * src/NetworkManagerPolicy.c
332                 - (update_etc_hosts): only add newline if not the last line of the file
333                         (Jonathan Miner)
334
335 2008-11-05  Dan Williams  <dcbw@redhat.com>
336
337         * src/dhcp-manager/nm-dhcp-dhclient.c
338                 - (get_leasefile_for_iface): move lease files back to where dhclient
339                         puts them
340
341 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
342
343         * initscripts/Debian/NetworkManager
344                 - Update to what Debian is actually using
345
346 2008-11-05  Tambet Ingo  <tambet@gmail.com>
347
348         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
349
350 2008-11-03  Dan Williams  <dcbw@redhat.com>
351
352         * system-settings/src/main.c
353                 - (add_default_dhcp_connection): make the fallback connection read-only
354
355         * libnm-glib/nm-settings.c
356           libnm-glib/nm-settings.h
357                 - Add detailed errors
358                 - (impl_exported_connection_update, impl_exported_connection_delete):
359                         return an error if the connection is read-only
360
361         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
362           system-settings/plugins/keyfile/nm-keyfile-connection.c
363           system-settings/src/main.c
364                 - Use more detailed errors
365
366         * system-settings/src/nm-system-config-error.c
367           system-settings/src/nm-system-config-error.h
368           system-settings/src/dbus-settings.c
369                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
370                         NM_SETTINGS_ERROR_INVALID_CONNECTION
371
372 2008-11-02  Dan Williams  <dcbw@redhat.com>
373
374         * Add license headers to everything in src/
375
376 2008-11-02  Dan Williams  <dcbw@redhat.com>
377
378         * Tag 0.7.0-rc1
379
380 2008-11-02  Dan Williams  <dcbw@redhat.com>
381
382         * src/NetworkManagerAP.c
383                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
384                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
385                         secrets when connecting to an encrypted network failed
386
387 2008-10-30  Dan Williams  <dcbw@redhat.com>
388
389         * libnm-util/libnm-util.ver
390           libnm-util/nm-setting-ip6-config.c
391           libnm-util/nm-setting-ip6-config.h
392           libnm-util/Makefile.am
393                 - Make properties private and add accessor functions
394                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
395
396         * libnm-util/nm-connection.c
397           libnm-util/nm-utils.c
398           libnm-util/nm-utils.h
399                 - Ignore IPv6 stuff for now
400
401 2008-10-30  Dan Williams  <dcbw@redhat.com>
402
403         * libnm-util/libnm-util.ver
404           libnm-util/nm-setting-8021x.c
405           libnm-util/nm-setting-8021x.h
406                 - Make properties private and add accessor functions
407
408         * src/supplicant-manager/nm-supplicant-config.c
409           system-settings/plugins/ifcfg-suse/parser.c
410                 - Use 802.1x setting accessors
411
412 2008-10-30  Dan Williams  <dcbw@redhat.com>
413
414         * libnm-util/libnm-util.ver
415           libnm-util/nm-setting-wireless-security.c
416           libnm-util/nm-setting-wireless-security.h
417                 - Make properties private and add accessor functions
418
419         * libnm-util/nm-setting-wireless.c
420           src/NetworkManagerAP.c
421           src/nm-device-wifi.c
422           src/supplicant-manager/nm-supplicant-config.c
423           system-settings/plugins/ifcfg-fedora/reader.c
424           system-settings/plugins/ifcfg-suse/parser.c
425                 - Use wireless security accessors
426
427 2008-10-30  Dan Williams  <dcbw@redhat.com>
428
429         * src/nm-device-ethernet.c
430           src/nm-device-wifi.c
431           src/nm-device.c
432           src/ppp-manager/nm-ppp-manager.c
433                 - Harmonize return checking of ioctl
434
435         * system-settings/plugins/ifcfg-fedora/reader.c
436                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
437
438 2008-10-30  Dan Williams  <dcbw@redhat.com>
439
440         * src/ppp-manager/nm-ppp-manager.c
441                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
442                         ppp_generic module to create it (bgo #533064)
443
444 2008-10-30  Dan Williams  <dcbw@redhat.com>
445
446         Patch from Alexander Sack <asac@canonical.com>
447
448         Fix "ppp connections don't honour ip4 connection settings"
449
450         * src/nm-device-ethernet.c
451                 - (real_act_stage4_get_ip4_config): merge ip4config settings
452                         with results from ppp manager
453
454         * src/nm-serial-device.c
455                 - (real_act_stage4_get_ip4_config): merge ip4config settings
456                         with results from ppp manager
457
458 2008-10-29  Dan Williams  <dcbw@redhat.com>
459
460         * libnm-util/libnm-util.ver
461           libnm-util/nm-setting-ip4-config.c
462           libnm-util/nm-setting-ip4-config.h
463                 - Make properties private and add accessor functions
464
465         * callouts/nm-dispatcher-action.c
466           libnm-glib/libnm-glib-test.c
467           libnm-util/nm-utils.c
468           src/NetworkManagerPolicy.c
469           src/NetworkManagerSystem.c
470           src/NetworkManagerUtils.c
471           src/dhcp-manager/nm-dhcp-dhclient.c
472           src/dhcp-manager/nm-dhcp-manager.c
473           src/dnsmasq-manager/nm-dnsmasq-manager.c
474           src/nm-device-wifi.c
475           src/nm-device.c
476           src/nm-hso-gsm-device.c
477           src/nm-ip4-config.c
478           src/nm-ip4-config.h
479           src/ppp-manager/nm-ppp-manager.c
480           src/vpn-manager/nm-vpn-connection.c
481           system-settings/plugins/ifcfg-fedora/reader.c
482           system-settings/plugins/ifcfg-suse/parser.c
483           system-settings/plugins/ifcfg-suse/plugin.c
484           system-settings/plugins/ifupdown/parser.c
485           test/nm-tool.c
486           vpn-daemons/vpnc/properties/nm-vpnc.c
487                 - Use IP4 accessor functions
488
489 2008-10-29  Tambet Ingo  <tambet@gmail.com>
490
491         Half of it by Dan Williams <dcbw@redhat.com>
492
493         * libnm-util/libnm-util.ver
494         libnm-util/nm-setting-vpn.c
495         libnm-util/nm-setting-vpn.h
496                 - Make properties private and add accessor functions.
497
498         * src/vpn-manager/nm-vpn-connection.c
499         src/vpn-manager/nm-vpn-manager.c
500         system-settings/plugins/keyfile/reader.c
501         vpn-daemons/openvpn/properties/auth-helpers.c
502         vpn-daemons/openvpn/properties/import-export.c
503         vpn-daemons/openvpn/properties/nm-openvpn.c
504         vpn-daemons/openvpn/src/nm-openvpn-service.c
505         vpn-daemons/pptp/auth-dialog/main.c
506         vpn-daemons/pptp/properties/advanced-dialog.c
507         vpn-daemons/pptp/properties/nm-pptp.c
508         vpn-daemons/pptp/src/nm-pptp-service.c
509         vpn-daemons/vpnc/properties/nm-vpnc.c
510         vpn-daemons/vpnc/src/nm-vpnc-service.c
511                 - Use VPN setting accessors.
512
513 2008-10-28  Dan Williams  <dcbw@redhat.com>
514
515         Patch from Tambet Ingo <tambet@gmail.com>
516
517         * libnm-util/libnm-util.ver
518           libnm-util/nm-setting-wireless.c
519           libnm-util/nm-setting-wireless.h
520                 - Make properties private and add accessor functions
521
522         * src/NetworkManagerAP.c
523           src/nm-device-wifi.c
524           src/nm-manager.c
525           src/supplicant-manager/nm-supplicant-config.c
526           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
527           system-settings/plugins/ifcfg-fedora/reader.c
528           system-settings/plugins/ifcfg-suse/parser.c
529           system-settings/plugins/ifupdown/parser.c
530                 - Use wireless setting accessors
531
532 2008-10-27  Dan Williams  <dcbw@redhat.com>
533
534         Patch from Tambet Ingo <tambet@gmail.com>
535
536         * libnm-util/libnm-util.ver
537           libnm-util/nm-setting-ppp.c
538           libnm-util/nm-setting-ppp.h
539                 - Make properties private and add accessor functions
540
541         * src/ppp-manager/nm-ppp-manager.c
542                 - Use ppp setting accessors
543
544 2008-10-27  Dan Williams  <dcbw@redhat.com>
545
546         Patch from Tambet Ingo <tambet@gmail.com>
547
548         * libnm-util/nm-setting.h
549           libnm-util/nm-setting.c
550                 - Make properties private and add accessor functions
551
552         * libnm-util/nm-connection.c
553           libnm-util/nm-setting-8021x.c
554           libnm-util/nm-setting-cdma.c
555           libnm-util/nm-setting-connection.c
556           libnm-util/nm-setting-gsm.c
557           libnm-util/nm-setting-ip4-config.c
558           libnm-util/nm-setting-ip6-config.c
559           libnm-util/nm-setting-ppp.c
560           libnm-util/nm-setting-pppoe.c
561           libnm-util/nm-setting-serial.c
562           libnm-util/nm-setting-template.c
563           libnm-util/nm-setting-vpn.c
564           libnm-util/nm-setting-wired.c
565           libnm-util/nm-setting-wireless-security.c
566           libnm-util/nm-setting-wireless.c
567           system-settings/plugins/keyfile/reader.c
568           system-settings/plugins/keyfile/writer.c
569                 - Use setting accessors
570
571 2008-10-27  Dan Williams  <dcbw@redhat.com>
572
573         * libnm-util/libnm-util.ver
574           libnm-util/nm-setting-connection.c
575           libnm-util/nm-setting-connection.h
576                 - Add a 'read-only' property that indicates the connection cannot be
577                         modified
578
579         * system-settings/plugins/ifcfg-fedora/reader.c
580           system-settings/plugins/ifcfg-suse/parser.c
581           system-settings/plugins/ifupdown/parser.c
582                 - These plugins are read-only at the moment
583
584         * system-settings/plugins/keyfile/reader.c
585           system-settings/plugins/keyfile/writer.c
586                 - Read-only shouldn't get saved out to files or read in from them
587
588 2008-10-27  Tambet Ingo  <tambet@gmail.com>
589
590         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
591         correct speed reporting for fast devices (kernel >= 2.6.27).
592
593 2008-10-26  Dan Williams  <dcbw@redhat.com>
594
595         Attempt to compensate for modems that don't enable full AT parsing before
596         the PIN has been entered.
597
598         * src/nm-gsm-device.c
599                 - (init_modem): accept different init strings
600                 - (init_done): try different init strings on failure
601                 - (check_pin_done): on PIN success, do full modem init
602
603 2008-10-26  Dan Williams  <dcbw@redhat.com>
604
605         Patch from Tambet Ingo <tambet@gmail.com>
606
607         * libnm-util/libnm-util.ver
608           libnm-util/nm-setting-connection.c
609           libnm-util/nm-setting-connection.h
610                 - Make properties private and add accessor functions
611
612         * src/NetworkManagerPolicy.c
613           src/nm-cdma-device.c
614           src/nm-device-ethernet.c
615           src/nm-device-interface.c
616           src/nm-device-wifi.c
617           src/nm-gsm-device.c
618           src/nm-manager.c
619           src/ppp-manager/nm-ppp-manager.c
620           src/vpn-manager/nm-vpn-connection.c
621           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
622           system-settings/plugins/ifcfg-fedora/plugin.c
623           system-settings/plugins/ifcfg-fedora/reader.c
624           system-settings/plugins/ifcfg-suse/parser.c
625           system-settings/plugins/ifupdown/parser.c
626           system-settings/plugins/keyfile/nm-keyfile-connection.c
627           system-settings/plugins/keyfile/plugin.c
628           system-settings/plugins/keyfile/writer.c
629           system-settings/src/main.c
630                 - Use those accessors
631
632 2008-10-26  Dan Williams  <dcbw@redhat.com>
633
634         Patch from Tambet Ingo <tambet@gmail.com>
635
636         * libnm-util/libnm-util.ver
637           libnm-util/nm-setting-gsm.c
638           libnm-util/nm-setting-gsm.h
639                 - Make properties private and add accessor functions
640
641         * src/nm-gsm-device.c
642           src/nm-hso-gsm-device.c
643           src/ppp-manager/nm-ppp-manager.c
644                 - Use those accessors
645
646 2008-10-26  Dan Williams  <dcbw@redhat.com>
647
648         Patch from Tambet Ingo <tambet@gmail.com>
649
650         * libnm-util/libnm-util.ver
651           libnm-util/nm-setting-cdma.c
652           libnm-util/nm-setting-cdma.h
653                 - Make properties private and add accessor functions
654
655         * src/nm-cdma-device.c
656           src/ppp-manager/nm-ppp-manager.c
657                 - Use those accessors
658
659 2008-10-26  Dan Williams  <dcbw@redhat.com>
660
661         Patch from Tambet Ingo <tambet@gmail.com>
662
663         * libnm-util/libnm-util.ver
664           libnm-util/nm-setting-pppoe.c
665           libnm-util/nm-setting-pppoe.h
666                 - Make properties private and add accessor functions
667
668         * src/nm-device-ethernet.c
669           src/ppp-manager/nm-ppp-manager.c
670                 - Use those accessors
671
672 2008-10-26  Dan Williams  <dcbw@redhat.com>
673
674         Patch from Tambet Ingo <tambet@gmail.com>
675
676         * libnm-util/libnm-util.ver
677           libnm-util/nm-setting-wired.c
678           libnm-util/nm-setting-wired.h
679                 - Make properties private and add accessor functions
680
681         * src/nm-device-ethernet.c
682           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
683           system-settings/plugins/ifcfg-suse/parser.c
684           system-settings/src/main.c
685                 - Use those accessors
686
687 2008-10-26  Dan Williams  <dcbw@redhat.com>
688
689         Patch from Tambet Ingo <tambet@gmail.com>
690
691         * libnm-util/libnm-util.ver
692           libnm-util/nm-setting-serial.c
693           libnm-util/nm-setting-serial.h
694           src/nm-serial-device.c
695                 - Make properties private and use accessors instead
696
697 2008-10-26  Dan Williams  <dcbw@redhat.com>
698
699         * src/supplicant-manager/nm-supplicant-interface.c
700           src/supplicant-manager/nm-supplicant-interface.h
701           src/supplicant-manager/nm-supplicant-manager.c
702           src/supplicant-manager/nm-supplicant-manager.h
703                 - Add state-to-string conversion functions
704
705         * src/nm-device-wifi.c
706           src/nm-device-ethernet.c
707                 - Normalize state info logging and use strings instead of numbers
708
709 2008-10-26  Dan Williams  <dcbw@redhat.com>
710
711         * src/NetworkManagerPolicy.c
712                 - (update_routing_and_dns): ignore host routes when determining whether
713                         a VPN connection should own the default route (bgo #552594)
714
715 2008-10-24  Dan Williams  <dcbw@redhat.com>
716
717         * src/nm-gsm-device.c
718                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
719
720 2008-10-23  Dan Williams  <dcbw@redhat.com>
721
722         * src/ppp-manager/nm-ppp-manager.c
723                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
724                         add really important stuff to the command line to ensure that NM
725                         overrides /etc/ppp/options (bgo #556781)
726
727 2008-10-22  Dan Williams  <dcbw@redhat.com>
728
729         * src/NetworkManagerSystem.c
730           src/nm-device.c
731                 - Use the device's IP interface where appropriate (Per Hallsmark)
732
733 2008-10-22  Dan Williams  <dcbw@redhat.com>
734
735         * src/nm-gsm-device.c
736                 - (schedule_automatic_registration_again): use a short timeout here
737                         instead of an idle handler to avoid using too much CPU polling for
738                         something we should be waiting a bit for anyway
739
740 2008-10-22  Dan Williams  <dcbw@redhat.com>
741
742         * include/NetworkManager.h
743           introspection/nm-device.xml
744                 - Add device state change reason for carrier changes
745
746         * src/nm-device-ethernet.c
747                 - (set_carrier): use the carrier change reason when changing device
748                         state in response to carrier changes
749
750 2008-10-21  Dan Williams  <dcbw@redhat.com>
751
752         * src/NetworkManagerPolicy.c
753                 - (update_etc_hosts): don't leak errors, and ensure that
754                         g_file_set_contents() gets a valid error placeholder (rh #461933)
755
756 2008-10-21  Dan Williams  <dcbw@redhat.com>
757
758         * src/nm-manager.c
759                 - (free_get_settings_info): don't use the DBusGProxy which could be
760                         disposed of by the time the function is called
761                 - (internal_new_connection_cb): save connection scope
762                 - (connection_get_settings_cb): don't replace a connection unless it's
763                         actually different from the existing one; fixes an issue where
764                         killing the settings service wouldn't deactivate an active connection
765                         provided by that settings service, because it was using a connection
766                         that had already been replaced in the system or user hash
767
768 2008-10-21  Dan Williams  <dcbw@redhat.com>
769
770         * src/NetworkManager.c
771                 - (main): keep the DHCP manager around since it's a singleton; fixes
772                         a use-after-free exposed by r4196 since the DHCP manager singleton
773                         variable isn't cleared when the DHCP manager object is finalized
774
775 2008-10-20  Dan Williams  <dcbw@redhat.com>
776
777         * libnm-util/nm-setting-wireless-security.c
778                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
779
780 2008-10-20  Dan Williams  <dcbw@redhat.com>
781
782         * src/supplicant-manager/nm-supplicant-config.c
783                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
784
785 2008-10-20  Dan Williams  <dcbw@redhat.com>
786
787         * src/dhcp-manager/nm-dhcp-manager.c
788                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
789                         manager object already refs it once
790                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
791                         also get cleaned up by nm_dhcp_device_destroy() to prevent
792                         double-frees
793
794 2008-10-20  Dan Williams  <dcbw@redhat.com>
795
796         * src/nm-manager.c
797                 - (initial_get_connections): use private dbus manager, don't keep
798                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
799                         manager object.
800
801 2008-10-18  Dan Williams  <dcbw@redhat.com>
802
803         * libnm-glib/nm-settings.c
804           libnm-glib/nm-settings.h
805                 - Rename the "get_secrets" virtual function "service_get_secrets" to
806                         clarify when it's used; NMExportedConnetion is a base-class for both
807                         the client and service side, which is sort of confusing, and
808                         get_secrets only makes sense on the service side.
809
810         * libnm-glib/nm-dbus-connection.c
811                 - (get_secrets): remove, unused, and clients need to do extra work to
812                         get secrets anyway since the call can block on the remote side
813
814         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
815           system-settings/plugins/keyfile/nm-keyfile-connection.c
816                 - Fix up for get_secrets -> service_get_secrets
817
818 2008-10-16  Dan Williams  <dcbw@redhat.com>
819
820         * src/nm-device-wifi.c
821                 - (constructor): correctly determine encryption capabilities
822
823 2008-10-15  Dan Williams  <dcbw@redhat.com>
824
825         * src/nm-device-wifi.c
826                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
827                         (Johannes Berg)
828
829 2008-10-15  Dan Williams  <dcbw@redhat.com>
830
831         * src/NetworkManagerSystem.c
832                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
833                         if the ip4_dest is in a smaller subnet contained within a subnet
834                         the machine is currently on, the destination is in the same subnet
835                 - (nm_system_device_set_ip4_route): move subnet checks to callers
836                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
837                         subnet as the parent device, and if so, don't add the direct
838                         host route via the parent device's gateway (bgo #481620)
839                 - (nm_system_apply_ip4_config): check whether the route to be added
840                         is contained within a subnet the device is already on
841
842 2008-10-11  Dan Williams  <dcbw@redhat.com>
843
844         * include/NetworkManager.h
845           introspection/nm-device.xml
846           include/NetworkManagerVPN.h
847                 - Add a few more state reasons for the device deactivated state
848
849         * src/nm-device-interface.c
850           src/nm-device-interface.h
851                 - (nm_device_interface_deactivate): add a 'reason' argument
852
853         * src/nm-device.c
854           src/nm-device.h
855                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
856                 - (nm_device_state_changed): pass the state change reason to
857                         nm_device_take_down()
858                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
859                         to the state change function
860
861         * src/nm-manager.c
862           src/nm-manager.h
863                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
864                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
865                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
866                         something reasonable along to VPN deactivation
867
868         * src/vpn-manager/nm-vpn-manager.c
869           src/vpn-manager/nm-vpn-manager.h
870                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
871                         pass that along to nm_vpn_connection_disconnect()
872
873 2008-10-11  Dan Williams  <dcbw@redhat.com>
874
875         * src/nm-device-wifi.c
876                 - (can_scan): remove old madwifi hack for not scanning while connected
877
878 2008-10-11  Dan Williams  <dcbw@redhat.com>
879
880         Add support for VPN subnet gateways (bgo #549196)
881
882         * include/NetworkManager.h
883                 - Add key for internal VPN subnet gateway
884
885         * src/vpn-manager/nm-vpn-connection.c
886                 - (ip_address_to_string): return a const from a static buffer so we
887                         don't leak a lot of strings
888                 - (print_vpn_config): print internal VPN gateway as well
889                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
890                         VPN service too
891                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
892
893         * src/NetworkManagerSystem.c
894           src/NetworkManagerSystem.h
895                 - (nm_system_device_replace_default_ip4_route): split into two, one for
896                         VPN connections and one for normal devices
897                 - (replace_default_ip4_route): break out route stuff into its own function
898                 - (nm_system_replace_default_ip4_route_vpn,
899                    nm_system_replace_default_ip4_route): simplify by having two cases,
900                         one for VPNs and one for normal devices
901
902         * src/NetworkManagerPolicy.c
903                 - (update_routing_and_dns): simplify, use split default route replacement
904                         functions
905
906 2008-10-10  Dan Williams  <dcbw@redhat.com>
907
908         Rework default route handling to consolidate decisions in the policy,
909         and to take active VPN connections into account when changing the default
910         route (bgo #545912)
911
912         * src/NetworkManager.c
913                 - (main): pass the vpn_manager to the policy so it knows about active
914                         VPN connections; clean up the named manager which wasn't done before
915
916         * src/NetworkManagerPolicy.c
917           src/NetworkManagerPolicy.h
918                 - (nm_policy_new): get a clue about the vpn_manager
919                 - (update_default_route): remove, fold into update_routing_and_dns()
920                 - (update_routing_and_dns): handle active VPN connections too; an
921                         active VPN connection becomes the default route if it does not have
922                         server-specified or user-specified custom routes.  Otherwise, the
923                         best active device gets the default route
924                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
925                    nm_policy_destroy): track VPN connection activation and deactivation
926                         and update the default route when appropriate
927
928         * src/NetworkManagerSystem.c
929           src/NetworkManagerSystem.h
930                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
931                         in the VPN connection itself
932                 - (nm_system_vpn_device_set_from_ip4_config,
933                    nm_system_device_set_from_ip4_config): merge together to make
934                         nm_system_apply_ip4_config()
935                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
936                         via the parent device
937                 - (nm_system_apply_ip4_config): simplify
938                 - (add_ip4_route_to_gateway): new function; add a direct route to the
939                         gateway if needed
940                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
941                         route stuff out into add_ip4_route_to_gateway() for clarity
942
943         * src/nm-device.c
944                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
945
946         * src/vpn-manager/nm-vpn-connection.c
947           src/vpn-manager/nm-vpn-connection.h
948                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
949                    nm_vpn_connection_get_parent_device): add
950                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
951                         device explicit
952                 - (connection_state_changed): update the named manager now that
953                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
954                         useful on errors
955
956         * src/vpn-manager/nm-vpn-manager.c
957           src/vpn-manager/nm-vpn-manager.h
958                 - Add a 'connection-activated' signal
959                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
960                         policy to find out about active VPN connections
961
962 2008-10-10  Tambet Ingo  <tambet@gmail.com>
963
964         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
965         a daemon to prevent NM logging spew on console on startup and shutdown (due
966         to dependency loop between NM and syslog).
967
968 2008-10-10  Alexander Sack  <asac@ubuntu.com>
969
970         Implement managed mode. We bind devices configured in /etc/network/interfaces
971         to their connections by updating wired/wireless setting with the
972         mac address of the device.
973
974         * system-settings/plugins/ifupdown/plugin.c
975                 - (get_net_address_for_udi): implement function to retrieve MAC
976                         address of udi from hal in GByteArray format
977                 - (bind_device_to_connection): bind mac address of device to
978                         wired/wireless system connection
979                 - (hal_device_added_cb): call bind_device_to_connection for
980                         system connections with a matching interface.name
981                 - (hal_device_added_cb): ensure that all code paths
982                         properly free the "iface" string.
983
984 2008-10-10  Alexander Sack  <asac@ubuntu.com>
985
986         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
987         mode of the ifupdown system config plugin.
988
989         * system-settings/plugins/ifupdown/plugin.c
990                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
991                         private unmanage_well_known state field accordingly
992
993 2008-10-10  Alexander Sack  <asac@ubuntu.com>
994
995         Implement unmanaged mode that will prevent all devices in the
996         well_known_udis set from being touched by NetworkManager
997
998         * system-settings/plugins/ifupdown/plugin.c
999                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
1000                         unmanage_well_known field used to turn on/off unmanaged
1001                         mode
1002                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
1003                         signal when well_known_udis get added/removed
1004                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
1005                         if we are in unmanaged mode
1006
1007 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1008
1009         Add support to track network devices that have a configuration
1010         with a matching interface.name in /etc/network/interfaces
1011
1012         * system-settings/plugins/ifupdown/plugin.c
1013                 - (typedef struct SCPluginIfupdownPrivate): add hash table
1014                         to track |well_known_udis|
1015                 - (get_iface_for_udi): helper function to get interface.name
1016                         for a udi
1017                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
1018                         that add and remove devices to and from the well_known_udis
1019                         set depending on whether their |interface.name| matches
1020                         any interface definition in /etc/network/interfaces
1021                 - (SCPluginIfupdown_init): connect callbacks from above with
1022                         hal_mgr and setup well_known_udis hashtable
1023                 - (GObject__dispose): destroy well_known_udis hashtable
1024                 - (hal_device_added_cb2): implement wrapper callback with GFunc
1025                         signature. user_data is supposed to be a triple (hal_mgr,
1026                         config and devtype)
1027                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
1028                         startup and call hal_device_added_cb2
1029
1030 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1031
1032         Remove implementation for not used NMSystemConfigInterface callback functions
1033         in ifupdown plugin
1034
1035         * system-settings/plugins/ifupdown/plugin.c
1036                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
1037                 - (SCPluginIfupdown_connection_added): removed
1038
1039 2008-10-08  Dan Williams  <dcbw@redhat.com>
1040
1041         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
1042
1043         * src/NetworkManagerUtils.c
1044                 - (nm_utils_call_dispatcher): add a 'hostname' action
1045
1046         * src/NetworkManagerPolicy.c
1047                 - (set_system_hostname): dispatch hostname changes
1048
1049         * callouts/nm-dispatcher-action.c
1050                 - (nm_dispatcher_action): handle 'hostname' actions
1051
1052 2008-10-08  Dan Williams  <dcbw@redhat.com>
1053
1054         * src/NetworkManagerSystem.c
1055                 - (find_route): ref the route so it doesn't get destroyed when the cache
1056                         is cleared
1057                 - (nm_system_device_set_priority): unref the route here after it's done
1058                         being used
1059
1060 2008-10-08  Dan Williams  <dcbw@redhat.com>
1061
1062         * src/nm-serial-device.c
1063                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1064
1065 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1066
1067         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1068         connection with new settings before saving it.
1069
1070 2008-10-06  Dan Williams  <dcbw@redhat.com>
1071
1072         * src/nm-ip4-config.c
1073           src/nm-ip4-config.h
1074                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1075
1076         * src/nm-device-interface.c
1077                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1078                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1079                         by using '/' for the object path
1080
1081         * src/nm-device.c
1082                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1083                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1084                         dbus handle NULL object paths
1085
1086 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1087
1088         Implement system hostname support for debian/ubuntu
1089
1090         * system-settings/plugins/ifupdown/plugin.c
1091                 - (GObject__get_property): extend announced capabilities; add
1092                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1093                 - (GObject__set_property,write_system_hostname): implement
1094                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1095                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1096                    update_system_hostname, get_hostname):
1097                         implement hostname property that watches and
1098                         parses /etc/hostname
1099
1100 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1101
1102         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1103           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1104           system-settings/plugins/ifcfg-fedora/Makefile.am
1105           system-settings/src/nm-inotify-helper.c
1106           system-settings/src/nm-inotify-helper.h
1107           src/Makefile.am
1108                 - Move ifcfg-fedora inotify helpers to the system settings service so
1109                         they are available to all plugins
1110
1111 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1112
1113         Implement support for wep-tx-keyidx in ifupdown system
1114         config plugin.
1115
1116         * system-settings/plugins/ifupdown/parser.c
1117                 - (update_wireless_security_setting_from_if_block): introduce
1118                         free_type_mapping func table; rename a few local
1119                         variables to improve readability; add wpa security mapping
1120                         for wep-tx-keyidx property
1121                 - (string_to_gpointerint): new function used for the auto_type_mapping
1122                         of new wep-tx-keyidx property
1123                 - (slist_free_all): free func used for mapped slist types
1124
1125 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1126
1127         * system-settings/src/main.c:
1128                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1129                         always used as the hash key; fixes a crash when removing wired
1130                         devices
1131
1132 2008-10-02  Dan Williams  <dcbw@redhat.com>
1133
1134         * src/nm-gsm-device.c
1135                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1136                         pass the required GSM secret along via user_data rather than keeping
1137                         it around in the private data where it sometimes didn't get cleared
1138                 - (real_get_ppp_name): implement using the GSM username
1139
1140 2008-10-02  Dan Williams  <dcbw@redhat.com>
1141
1142         * src/ppp-manager/nm-ppp-manager.c
1143           src/ppp-manager/nm-ppp-manager.h
1144                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1145                         the settings daemon for completely new ones
1146                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1147                         local PPP peer name; allow PPP debuging by launching NM with
1148                         the environment variable NM_PPP_DEBUG defined
1149                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1150                         create_pppd_cmd_line()
1151
1152         * src/nm-serial-device.c
1153           src/nm-serial-device.h
1154                 - New 'get_ppp_name' function for subclasses to implement to return the
1155                         local PPP peer name
1156                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1157                         and pass that name to the PPP manager
1158
1159         * src/nm-device-ethernet.c
1160                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1161                         the local peer name
1162
1163         * src/nm-cdma-device.c
1164                 - (real_get_ppp_name): implement using the CDMA username
1165
1166 2008-10-02  Dan Williams  <dcbw@redhat.com>
1167
1168         Patch from Alexander Sack <asac ubuntu com>
1169
1170         * system-settings/plugins/ifupdown/parser.c
1171                 - Implement more graceful ip4 config parsing for cases where
1172                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1173                   by using default values
1174
1175 2008-10-02  Dan Williams  <dcbw@redhat.com>
1176
1177         * src/NetworkManagerPolicy.c
1178                 - (device_state_changed): when marking a connection invalid, clear its
1179                         secrets too so that fresh secrets get requested the next time
1180
1181 2008-10-01  Dan Williams  <dcbw@redhat.com>
1182
1183         * system-settings/src/dbus-settings.c
1184                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1185                         a fallback if no plugin provides a hostname
1186                 - (get_property): fall back to cached hostname if no plugin provides
1187                         a hostname
1188
1189 2008-10-01  Dan Williams  <dcbw@redhat.com>
1190
1191         Fix setting value comparison issue that caused some settings to look the
1192         same when they were really different (rh #464417)
1193
1194         * libnm-util/nm-param-spec-specialized.c
1195                 - (type_is_fixed_size): return fundamental size of the fixed type too
1196                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1197                         in the comparison so that the _entire_ fixed type collection gets
1198                         compared rather than just the first 'len1' bytes
1199
1200 2008-09-30  Dan Williams  <dcbw@redhat.com>
1201
1202         * src/NetworkManagerPolicy.c
1203                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1204                         idle handler could have already run and freed the LookupThread
1205                         structure
1206
1207 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1208
1209         * src/nm-device.c (nm_device_get_priority): Implement.
1210         (nm_device_set_ip4_config): Send the device priority to system ip4 
1211         config setter.
1212
1213         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1214         Add priority argument and if it's >= 0, set the priority of the network
1215         route added automatically by netlink (or kernel?).
1216         (nm_system_device_set_priority): Implement.
1217
1218         * src/NetworkManagerPolicy.c (get_best_device): Use 
1219         nm_device_get_priority() instead of home-grown version. Revert the
1220         meaning, best priority is the lowest one.
1221
1222 2008-09-29  Dan Williams  <dcbw@redhat.com>
1223
1224         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1225         when it returns EAGAIN (rh #362421)
1226
1227         * src/nm-device-wifi.c
1228                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1229                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1230
1231 2008-09-28  Dan Williams  <dcbw@redhat.com>
1232
1233         * src/nm-serial-device.c
1234           src/nm-serial-device.h
1235                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1236                         cleaned at the right times when subclasses close the serial port too
1237                 - (nm_serial_device_send_command): use a default send delay; don't
1238                         spin forever on EAGAIN
1239                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1240                         remove, no longer used
1241                 - (find_response): return the matched response if any
1242                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1243                         while doing so
1244                 - (wait_for_reply_done): pass the matched response to the callback
1245                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1246                         handling
1247                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1248                         const since they never get modified
1249                 - (cleanup_device): split out common cleanup stuff to a new function
1250                 - (real_deactivate_quickly, finalize): use cleanup_device()
1251
1252         * src/nm-gsm-device.c
1253                 - (modem_get_reply): remove, unused
1254                 - (set_apn): give the card a bit more time to respond
1255                 - (manual_registration_again, schedule_manual_registration_again,
1256                    manual_registration_response, manual_registration): handle manual
1257                         registration timeouts better by retrying registration a few times
1258                         because cards are a bit slow after CFUN=1
1259                 - (automatic_registration_get_network, get_network_response): use
1260                         modem_wait_for_reply() because it interacts better with the serial
1261                         buffer and does more intelligent matching; need to wait for 'OK'
1262                         rather than just matching terminators
1263                 - (schedule_automatic_registration_again,
1264                    automatic_registration_response, automatic_registration): retry
1265                         registration a few times on timeout or "searching" because cards
1266                         take a bit to find a network after being powered up with CFUN=1
1267                 - (power_up_response, power_up, init_full_done, enter_pin,
1268                    check_pin_done): power up the card with CFUN=1 before trying to
1269                         register with the network
1270                 - (init_modem_full, init_modem): use more standard 3G init strings
1271
1272         * src/nm-hso-gsm-device.c
1273                 - (modem_get_reply): remove, unused
1274                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1275                         modem_wait_for_reply() to match actual responses instead of single
1276                         termination characters; it doesn't leave stuff in the serial buffer
1277                         that might confuse later calls
1278                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1279                         to ensure that the call is really disconnected and not leave extra
1280                         stuff in the serial buffer
1281
1282         * src/nm-cdma-device.c
1283                 - (power_up_response, power_up, init_done): try Sierra-style modem
1284                         power up before attempting to connect
1285
1286 2008-09-27  Dan Williams  <dcbw@redhat.com>
1287
1288         * libnm-util/nm-setting-gsm.c
1289                 - (verify): verify GSM network ID
1290
1291 2008-09-25  Dan Williams  <dcbw@redhat.com>
1292
1293         * libnm-util/nm-setting-gsm.c
1294           libnm-util/nm-setting-gsm.h
1295                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1296                         technology terms (bgo #551361)
1297
1298 2008-09-25  Dan Williams  <dcbw@redhat.com>
1299
1300         Fix bgo #549401 (inspired by patch from Alexander Sack)
1301
1302         * src/nm-device-ethernet.c
1303                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1304                 - (remove_supplicant_interface_error_handler): remove the supplicant
1305                         error idle callback too
1306                 - (supplicant_interface_release): rename from supplicant_interface_clean
1307                         to match nm-device-wifi.c; clean up supplicant interface-related
1308                         state tasks when the supplicant interface is disposed of
1309                 - (schedule_state_handler): add scheduled tasks to a list so they can
1310                         be cleaned up later
1311                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1312                    supplicant_iface_connection_state_cb_handler): use
1313                         finish_supplicant_task() to clean up each completed task
1314                 - (supplicant_iface_connection_error_cb_handler,
1315                    supplicant_connection_timeout_cb): clear source id when the task is
1316                         complete
1317                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1318                         later cleanup
1319                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1320                         tasks
1321
1322         * src/nm-device-wifi.c
1323                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1324                 - (remove_supplicant_interface_error_handler): remove the supplicant
1325                         error idle callback too
1326                 - (supplicant_interface_release): clean up supplicant interface-related
1327                         state tasks when the supplicant interface is disposed of
1328                 - (schedule_state_handler): add scheduled tasks to a list so they can
1329                         be cleaned up later
1330                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1331                    supplicant_iface_connection_state_cb_handler): use
1332                         finish_supplicant_task() to clean up each completed task
1333                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1334                         the task is complete
1335                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1336                         later cleanup
1337                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1338
1339 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1340
1341         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1342         method and get/set hostname property.
1343
1344 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1345
1346         * src/supplicant-manager/nm-supplicant-interface.c
1347         (nm_supplicant_interface_disconnect): Don't increment the reference 
1348         count when disconnecting. The problem is on shutdown, when the replies
1349         to these commands do not arrive before NM exits, resulting on never
1350         calling supplicant interface's dispose(), which removes the interface
1351         from supplicant.
1352
1353 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1354
1355         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1356         all the public function arguments.
1357
1358 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1359
1360         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1361         "Failure" signal from VPN plugins, store the failure reason, and
1362         use it when the state is changed to failure.
1363
1364         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1365         description.
1366
1367         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1368         reason to the end of the list to not break the API.
1369         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1370         so it can be shared by plugins and daemon.
1371
1372 2008-09-18  Dan Williams  <dcbw@redhat.com>
1373
1374         Patch from Alexander Sack <asac@ubuntu.com>
1375
1376         * configure.in
1377           system-settings/plugins/Makefile.am
1378           system-settings/plugins/ifupdown/Makefile.am
1379           system-settings/plugins/ifupdown/interface_parser.c
1380           system-settings/plugins/ifupdown/interface_parser.h
1381           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1382           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1383           system-settings/plugins/ifupdown/parser.c
1384           system-settings/plugins/ifupdown/parser.h
1385           system-settings/plugins/ifupdown/plugin.c
1386           system-settings/plugins/ifupdown/plugin.h
1387                 - Implement a Debian/Ubuntu legacy network configuration plugin
1388                         (gnome.org #551941)
1389
1390 2008-09-18  Dan Williams  <dcbw@redhat.com>
1391
1392         Implement support for honoring configured and automatic hostnames, and for
1393         setting the configured hostname.
1394
1395         * introspection/nm-ip4-config.xml
1396           src/nm-ip4-config.c
1397           src/nm-ip4-config.h
1398           src/dhcp-manager/nm-dhcp-manager.c
1399                 - Remove useless hostname property; it's not really part of the IPv4
1400                         config
1401
1402         * introspection/nm-settings-system.xml
1403           libnm-glib/nm-dbus-settings-system.c
1404           libnm-glib/nm-dbus-settings-system.h
1405                 - Add SetHostname() call to system settings D-Bus interface
1406                 - Add Hostname property to system settings D-Bus interface
1407                 - (nm_dbus_settings_system_save_hostname,
1408                    nm_dbus_settings_system_get_hostname): implement
1409
1410         * src/nm-device.c
1411           src/nm-device.h
1412                 - (nm_device_get_dhcp4_config): implement
1413
1414         * src/nm-manager.c
1415           src/nm-manager.h
1416                 - Fetch and track system settings service hostname changes, and proxy
1417                         the changes via a GObject property of the manager
1418
1419         * system-settings/src/nm-system-config-interface.c
1420           system-settings/src/nm-system-config-interface.h
1421                 - Replace nm_system_config_interface_supports_add() with a capabilities
1422                         bitfield
1423
1424         * system-settings/src/nm-system-config-error.c
1425           system-settings/src/nm-system-config-error.h
1426                 - Add additional errors
1427
1428         * system-settings/src/dbus-settings.c
1429           system-settings/src/dbus-settings.h
1430                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1431                         property; first plugin returning a hostname wins
1432                 - (impl_settings_add_connection): use plugin capabilities instead of
1433                         nm_system_config_interface_supports_add()
1434                 - (impl_settings_save_hostname): implement hostname saving
1435
1436         * src/NetworkManagerPolicy.c
1437                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1438                    lookup_thread_die): implement an asynchronous hostname lookup thread
1439                         which given an IPv4 address tries to look up the hostname for that
1440                         address with reverse DNS
1441                 - (get_best_device): split out best device code from
1442                         update_routing_and_dns()
1443                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1444                         to preserve the 127.0.0.1 reverse mapping that so many things require
1445                 - (set_system_hostname): set a given hostname
1446                 - (update_system_hostname): implement hostname policy; a configured
1447                         hostname (from the system settings service) is used if available,
1448                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1449                         If there was no automatically determined hostname, reverse DNS of
1450                         the best device's IP address will be used, and as a last resort the
1451                         hostname 'localhost.localdomain' is set.
1452                 - (update_routing_and_dns): use get_best_device(); update the system
1453                         hostname when the network config changes
1454                 - (hostname_changed): update system hostname if the system settings
1455                         service signals a hostname change
1456                 - (nm_policy_new): list for system settings service hostname changes
1457                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1458                         gets told to die
1459
1460         * system-settings/plugins/keyfile/plugin.c
1461           system-settings/plugins/ifcfg-suse/plugin.c
1462                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1463                         capabilities properties
1464
1465         * system-settings/plugins/ifcfg-fedora/shvar.c
1466                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1467                         writes out /etc/sysconfig/network now
1468
1469         * system-settings/plugins/ifcfg-fedora/plugin.c
1470                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1471                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1472                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1473                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1474                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1475                         hostname get/set and capabilities get
1476
1477 2008-09-18  Dan Williams  <dcbw@redhat.com>
1478
1479         * libnm-util/nm-setting-wireless.c
1480                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1481                         group ciphers if the wireless-security setting explicitly specified
1482                         them, effectively making the default be "all ciphers"  (idea from
1483                         Alexander Sack)
1484
1485 2008-09-15  Dan Williams  <dcbw@redhat.com>
1486
1487         Patch from Alexander Sack <asac@ubuntu.com>
1488
1489         * src/named-manager/nm-named-manager.c
1490                 - (dispatch_resolvconf): respect resolvconf exit code
1491
1492 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1493
1494         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1495         again. Add some debugging.
1496
1497 2008-09-11  Dan Williams  <dcbw@redhat.com>
1498
1499         * system-settings/plugins/keyfile/plugin.c
1500                 - (update_connection_settings): update connection manually, since
1501                         nm_exported_connection_update() does authentication
1502                 - (dir_changed): update_connection_settings() doesn't need to return
1503                         an error
1504
1505 2008-09-09  Dan Williams  <dcbw@redhat.com>
1506
1507         * libnm-glib/nm-vpn-plugin-ui-interface.c
1508           libnm-glib/nm-vpn-plugin-ui-interface.h
1509           libnm-glib/libnm_glib_vpn.ver
1510                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1511                         should clean up resources related to the connection (like keyring
1512                         secrets)
1513                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1514                         should save user-scope secrets (like to the keyring)
1515
1516 2008-09-08  Dan Williams  <dcbw@redhat.com>
1517
1518         Patch from Alexander Sack <asac@ubuntu.com>
1519
1520         * libnm-util/crypto_gnutls.c
1521           libnm-util/crypto_nss.c
1522                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1523
1524         * libnm-util/nm-utils.c
1525           libnm-util/nm-utils.h
1526           libnm-util/libnm-util.ver
1527                 - (nm_utils_init): initialize libnm-util
1528                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1529
1530         * libnm-util/nm-setting-8021x.c
1531                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1532
1533 2008-09-05  Dan Williams  <dcbw@redhat.com>
1534
1535         Patch from Roy Marples <roy@marples.name> and others
1536
1537         * configure.in
1538           src/named-manager/nm-named-manager.c
1539                 - Add support for resolvconf; use --with-resolvconf at configure time
1540                         to enable it
1541
1542 2008-09-05  Dan Williams  <dcbw@redhat.com>
1543
1544         * libnm-util/crypto_nss.c
1545           libnm-util/crypto_gnutls.c
1546           libnm-util/crypto.h
1547                 - (crypto_init): return error when init fails
1548
1549 2008-09-05  Dan Williams  <dcbw@redhat.com>
1550
1551         * libnm-glib/nm-device-wifi.c
1552                 - (access_point_removed_proxy): clean up the active access point too
1553                         just in case the active ap changed signal didn't come through yet
1554                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1555
1556 2008-09-05  Dan Williams  <dcbw@redhat.com>
1557
1558         * libnm-glib/nm-client.c
1559                 - (constructor): get initial state after we know whether NM is running
1560                         or not
1561
1562 2008-09-05  Dan Williams  <dcbw@redhat.com>
1563
1564         * libnm-glib/nm-ip4-config.c
1565           libnm-glib/nm-dhcp4-config.c
1566                 - (finalize): clean up the DBusGProxy
1567
1568 2008-09-04  Dan Williams  <dcbw@redhat.com>
1569
1570         * src/nm-ip4-config.c
1571           src/nm-ip4-config.h
1572                 - (nm_ip4_config_new): don't export over D-Bus here
1573                 - (nm_ip4_config_export): new function; export the config over D-Bus
1574                 - (nm_ip4_config_is_exported): new function
1575
1576         * src/nm-device.c
1577                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1578                         objects by balancing the IP4Config constructor; the device holds
1579                         a reference to the IP4Config already
1580                 - (nm_device_set_ip4_config): export the IP4Config when needed
1581
1582 2008-09-04  Dan Williams  <dcbw@redhat.com>
1583
1584         * src/supplicant-manager/nm-supplicant-settings-verify.c
1585                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1586
1587 2008-09-04  Dan Williams  <dcbw@redhat.com>
1588
1589         * libnm-util/nm-setting-vpn.c
1590           libnm-util/nm-setting-vpn.h
1591                 - Split VPN secrets from VPN data so that settings services can actually
1592                         figure out that they are secrets and store them accordingly
1593
1594         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1595           system-settings/plugins/keyfile/reader.c
1596           system-settings/plugins/keyfile/reader.h
1597           system-settings/plugins/keyfile/writer.c
1598                 - Store VPN secrets separately from VPN data so that they can be fetched
1599                         on demand
1600                 - Implement the get_secrets() call so that (a) secrets don't leak out
1601                         to unprivileged callers, and (b) secrets can be sent to privileged
1602                         callers when needed
1603
1604         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1605                 - Handle split VPN secrets
1606
1607 2008-08-27  Dan Williams  <dcbw@redhat.com>
1608
1609         * system-settings/plugins/ifcfg-fedora/reader.c
1610                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1611
1612 2008-08-27  Dan Williams  <dcbw@redhat.com>
1613
1614         Ensure zombie children get cleaned up.  To get notifications when children
1615         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1616         that requires calling waitpid() yourself if you've removed the child watch
1617         handler before the process has actually died, which NM needs to do in a few
1618         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1619         cleans up after the child when required.  Should fix problems trying to
1620         activate mobile broadband connections after a previous failure.
1621
1622         * src/dhcp-manager/nm-dhcp-dhclient.c
1623           src/dhcp-manager/nm-dhcp-dhcpcd.c
1624                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1625
1626         * src/dhcp-manager/nm-dhcp-manager.c
1627                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1628                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1629                         block on child quitting, since the non-blocking functionality was
1630                         never actually used
1631
1632         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1633                 - (dm_watch_cb): child is already reaped here
1634                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1635
1636         * src/nm-device.c
1637                 - (aipd_cleanup): block until child is dead
1638
1639         * src/named-manager/nm-named-manager.c
1640                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1641                         event bothering to watch the child
1642
1643         * src/ppp-manager/nm-ppp-manager.c
1644                 - (ppp_watch_cb): child is already reaped here
1645                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1646
1647         * src/vpn-manager/nm-vpn-service.c
1648                 - (vpn_service_watch_cb): child is already reaped here
1649                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1650                         status of the child is actually tracked
1651                 - (ensure_killed, finalize): block until child is dead
1652
1653 2008-08-26  Dan Williams  <dcbw@redhat.com>
1654
1655         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1656                 - (update): Update filename of the connection if the connection id
1657                         was changed
1658
1659         * system-settings/plugins/keyfile/plugin.c
1660                 - (dir_changed): first pass at handling connection renames correctly
1661
1662         * system-settings/plugins/keyfile/writer.c
1663           system-settings/plugins/keyfile/writer.h
1664                 - (write_connection): replace '/' with '*' when writing out the filename
1665                         from the connection id
1666
1667 2008-08-26  Dan Williams  <dcbw@redhat.com>
1668
1669         Add connection UUIDs, since connection names can be changed, and since
1670         old-style connection IDs could change over the life of the connection.  The
1671         UUID should be assigned at connection creation time, be stable for a given
1672         connection, and should be unique among all connections for a given settings
1673         service.
1674
1675         * configure.in
1676           libnm-util/Makefile.am
1677                 - Require libuuid
1678
1679         * introspection/nm-exported-connection.xml
1680                 - Remove "GetID" method
1681
1682         * libnm-glib/nm-dbus-connection.c
1683           libnm-glib/nm-settings.c
1684           libnm-glib/nm-settings.h
1685                 - Remove id-related stuff
1686
1687         * libnm-util/nm-utils.c
1688           libnm-util/nm-utils.h
1689           libnm-util/libnm-util.ver
1690                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1691                         utility functions to generate UUIDs
1692
1693         * libnm-util/nm-setting-connection.c
1694           libnm-util/nm-setting-connection.h
1695                 - Add 'uuid' member to the connection setting
1696                 - (verify): require valid 'uuid' for a valid connection
1697
1698         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1699           system-settings/plugins/ifcfg-fedora/reader.c
1700           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1701           system-settings/plugins/ifcfg-suse/parser.c
1702           system-settings/plugins/keyfile/nm-keyfile-connection.c
1703           system-settings/src/main.c
1704                 - Remove id-related stuff
1705                 - Give connections UUIDs where needed
1706
1707 2008-08-25  Dan Williams  <dcbw@redhat.com>
1708
1709         * libnm-util/crypto_gnutls.c
1710           libnm-util/crypto_nss.c
1711                 - (crypto_init, crypto_deinit): refcount init/deinit
1712                 - (crypto_md5_hash): allow NULL salt
1713
1714 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1715
1716         * libnm-glib/Makefile.am
1717           libnm-util/Makefile.am
1718           libnm-glib/libnm_glib.ver
1719           libnm-glib/libnm_glib_vpn.ver
1720           libnm-util/libnm-util.ver
1721                 - Use linker version scripts to control the list of exported 
1722                 symbols. List each exported symbol explicitely.
1723         * libnm-util/Makefile.am
1724                 - Fix compilation of the test-crypto binary. The crypto
1725                 functions are no longer part of the libnm-util API. Add 
1726                 crypto_*.c to test_crypto_SOURCES and link against the correct
1727                 crypto libraries.
1728
1729 2008-08-19  Dan Williams  <dcbw@redhat.com>
1730
1731         * configure.in
1732           test/Makefile.am
1733                 - Don't build test/test-common
1734                 - Remove unused stuff
1735
1736         * test/nm-set-fallback
1737           test/nmtestdevices.c
1738           test/test-common/.cvsignore
1739           test/test-common/Makefile.am
1740           test/test-common/test-common.c
1741           test/test-common/test-common.h
1742                 - delete
1743
1744 2008-08-18  Dan Williams  <dcbw@redhat.com>
1745
1746         * libnm-util/nm-utils.c
1747           libnm-util/nm-utils.h
1748                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1749                         export anything that needs to be converted with this function
1750
1751         * src/dhcp-manager/nm-dhcp-manager.c
1752                 - (garray_to_string): convert a byte array to a UTF-8 string with
1753                         minimal validation; the DHCP client sends it in ASCII anyway
1754                 - (get_option, copy_option): use garray_to_string()
1755
1756 2008-08-18  Dan Williams  <dcbw@redhat.com>
1757
1758         * include/NetworkManager.h
1759           introspection/nm-device.xml
1760                 - Add a "missing firmware" device state reason
1761
1762         * src/NetworkManagerSystem.c
1763           src/NetworkManagerSystem.h
1764                 - (nm_system_device_set_up_down): add a no_firmware argument
1765                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1766                         IFF_UP is ENOENT, that almost always means missing firmware
1767
1768         * src/backends/NetworkManagerGeneric.c
1769           src/nm-device-ethernet.c
1770           src/nm-device-private.h
1771           src/nm-device-wifi.c
1772           src/nm-device.c
1773           src/nm-device.h
1774           src/nm-hso-gsm-device.c
1775           src/vpn-manager/nm-vpn-connection.c
1776                 - Pass no_firmware along; check it where appropriate
1777
1778 2008-08-18  Dan Williams  <dcbw@redhat.com>
1779
1780         Patch from Robert Buchholz <rbu@gentoo.org>
1781
1782         * autogen.sh
1783           configure.in
1784                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1785                         1003.1-1988, allowing for file names longer than 99 characters
1786
1787 2008-08-17  Dan Williams  <dcbw@redhat.com>
1788
1789         * include/NetworkManager.h
1790           introspection/nm-device.xml
1791           src/nm-gsm-device.c
1792                 - Finer-grained GSM registration failure error codes
1793
1794 2008-08-17  Dan Williams  <dcbw@redhat.com>
1795
1796         * callouts/Makefile.am
1797           src/Makefile.am
1798                 - Move dispatcher directory creation to callouts/Makefile.am
1799
1800         * system-settings/plugins/keyfile/Makefile.am
1801                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1802
1803 2008-08-15  Dan Williams  <dcbw@redhat.com>
1804
1805         Do connection sharing in a cleaner manner; all required iptables rules
1806         are now stored in the activation request and pertain only to the device
1807         which is being shared to other computers. (rh #458625)
1808
1809         * src/nm-activation-request.c
1810           src/nm-activation-request.h
1811                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1812                         the activation request which will get torn down automatically when
1813                         the activation request dies
1814                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1815                         is started, and tear them down when sharing is stopped
1816
1817         * src/nm-device.c
1818                 - (start_sharing): start up sharing by doing the required iptables magic
1819                 - (share_init): poke the right bits of the kernel and load the right
1820                         modules for NAT
1821                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1822                         connection if it's a 'shared' connection
1823
1824         * src/NetworkManagerPolicy.c
1825                 - Remove all sharing stuff; done in the device code itself
1826
1827 2008-08-15  Dan Williams  <dcbw@redhat.com>
1828
1829         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1830                 - (create_dm_cmd_line): send the right router address
1831
1832 2008-08-15  Dan Williams  <dcbw@redhat.com>
1833
1834         * src/ppp-manager/nm-ppp-manager.c
1835                 - (pppd_timed_out): ensure timeouts fail the connection
1836
1837 2008-08-14  Dan Williams  <dcbw@redhat.com>
1838
1839         * src/nm-properties-changed-signal.c
1840           src/nm-properties-changed-signal.h
1841                 - Add a property spec flag for "don't export this property" in
1842                         property changed signals
1843
1844         * src/nm-hso-gsm-device.c
1845           src/nm-gsm-device.c
1846           src/nm-cdma-device.c
1847                 - Don't export monitor interface or netdev interface properties
1848
1849 2008-08-14  Dan Williams  <dcbw@redhat.com>
1850
1851         * src/NetworkManagerPolicy.c
1852                 - (update_routing_and_dns): 'hso' devices can be default even if they
1853                         don't have a gateway
1854
1855 2008-08-14  Dan Williams  <dcbw@redhat.com>
1856
1857         * src/nm-device.c
1858                 - (nm_device_deactivate_quickly): tear down activation request after
1859                         calling device-specific deactivation
1860
1861         * src/nm-hso-gsm-device.c
1862                 - (real_deactivate_quickly): terminate connection when deactivating
1863
1864 2008-08-14  Dan Williams  <dcbw@redhat.com>
1865
1866         * src/nm-activation-request.h
1867                 - Add HSO secrets caller
1868
1869         * src/nm-gsm-device.c
1870           src/nm-gsm-device.h
1871                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1872                         something to the callback function
1873                 - (set_apn, set_apn_done): call class dial function, not a static one
1874                 - (nm_gsm_device_class_init): add a class 'dial' function
1875
1876         * src/nm-hal-manager.c
1877                 - (get_hso_netdev): find the hso-driven hardware's net device
1878                 - (modem_device_creator): recognize hso-driven hardware and create the
1879                         right type of device object for it
1880
1881         * src/Makefile.am
1882           src/nm-hso-gsm-device.c
1883           src/nm-hso-gsm-device.h
1884                 - Implement support for devices driven by the 'hso' driver as a subclass
1885                         of NMGsmDevice
1886
1887 2008-08-14  Dan Williams  <dcbw@redhat.com>
1888
1889         * src/NetworkManagerSystem.c
1890                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1891                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1892                         success if the operation really was successful
1893
1894 2008-08-14  Dan Williams  <dcbw@redhat.com>
1895
1896         * src/nm-netlink-monitor.c
1897           src/nm-netlink-monitor.h
1898           src/nm-device-ethernet.c
1899                 - (nm_netlink_monitor_request_status): return an error on failure
1900                 - (constructor): don't segfault on missing error
1901
1902 2008-08-13  Dan Williams  <dcbw@redhat.com>
1903
1904         * callouts/nm-dispatcher-action.c
1905                 - Add IP4 config info to script environment
1906
1907 2008-08-12  Dan Williams  <dcbw@redhat.com>
1908
1909         * src/nm-device.c
1910                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1911                         that want to use DHCP hostnames should use dispatcher scripts
1912                         for that
1913
1914         * src/NetworkManagerSystem.h
1915           src/backends/NetworkManagerArch.c
1916           src/backends/NetworkManagerDebian.c
1917           src/backends/NetworkManagerFrugalware.c
1918           src/backends/NetworkManagerGeneric.c
1919           src/backends/NetworkManagerGeneric.h
1920           src/backends/NetworkManagerGentoo.c
1921           src/backends/NetworkManagerMandriva.c
1922           src/backends/NetworkManagerPaldo.c
1923           src/backends/NetworkManagerRedHat.c
1924           src/backends/NetworkManagerSlackware.c
1925           src/backends/NetworkManagerSuSE.c
1926                 - Remove nm_system_set_hostname(), no longer used
1927           
1928         * src/backends/Makefile.am
1929           src/backends/shvar.c
1930           src/backends/shvar.h
1931                 - Remove shvar.*; no longer used
1932
1933 2008-08-12  Dan Williams  <dcbw@redhat.com>
1934
1935         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1936         hostname is updated at runtime.  Distros or users who want hostname updates
1937         can use dispatcher scripts to update the hostname if they need it.
1938
1939 2008-08-12  Dan Williams  <dcbw@redhat.com>
1940
1941         * introspection/nm-settings-system.xml
1942           system-settings/src/dbus-settings.c
1943           system-settings/src/dbus-settings.h
1944                 - Add a 'Hostname' property (rw) which represents the configured
1945                         hostname and domain of the system, if any
1946
1947         * system-settings/src/nm-system-config-error.c
1948           system-settings/src/nm-system-config-error.h
1949           system-settings/src/nm-system-config-interface.c
1950           system-settings/src/nm-system-config-interface.h
1951                 - Add a 'hostname' property to the plugin interface
1952                 - Add a method to send updated hostname to plugins to save in their
1953                         backing configuration store
1954
1955         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1956           system-settings/plugins/keyfile/plugin.c
1957           system-settings/plugins/keyfile/writer.c
1958           system-settings/plugins/keyfile/writer.h
1959           system-settings/plugins/ifcfg-suse/plugin.c
1960                 - Add minimal hostname support
1961
1962         * system-settings/plugins/ifcfg-fedora/plugin.c
1963                 - Add support for updating system hostname in /etc/sysconfig/network
1964
1965 2008-08-12  Dan Williams  <dcbw@redhat.com>
1966
1967         * system-settings/plugins/ifcfg-fedora/shvar.c
1968           system-settings/plugins/ifcfg-fedora/shvar.c
1969                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1970
1971 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1972
1973         * Makefile.am: Fix distcheck.
1974
1975 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1976
1977         * libnm-glib/*.c. Document some more.
1978
1979 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1980
1981         Start documenting libnm-glib public API using gtk-doc.
1982
1983         * libnm-glib/nm-serial-device.c: 
1984         * libnm-glib/nm-object.c: 
1985         * libnm-glib/nm-gsm-device.c: 
1986         * libnm-glib/nm-device.c: 
1987         * libnm-glib/nm-device-wifi.c: 
1988         * libnm-glib/nm-device-ethernet.c: 
1989         * libnm-glib/nm-client.c: 
1990         * libnm-glib/nm-cdma-device.c: Document the public API.
1991
1992         * docs/libnm-glib/libnm-glib.types: Implement.
1993
1994         * docs/libnm-glib/Makefile.am: Implement.
1995
1996         * autogen.sh: 
1997         * configure.in: 
1998         * Makefile.am: Add gtk-doc support.
1999
2000 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2001
2002         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
2003
2004         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
2005         the composite result of all the IP4 configurations and call a distro
2006         specific update_resolv_conf().
2007         (update_resolv_conf): Implement one for directly writing to 
2008         /etc/resolv.conf and one for opensuse to call netconfig.
2009
2010 2008-08-11  Dan Williams  <dcbw@redhat.com>
2011
2012         * src/ppp-manager/nm-ppp-manager.c
2013                 - (impl_ppp_manager_need_secrets): pass interface as required
2014
2015 2008-08-11  Dan Williams  <dcbw@redhat.com>
2016
2017         Merge the vpn-properties setting with the vpn setting since it was pointless
2018         to keep both of them around.  Convert the vpn 'data' hash table to a hash
2019         of string:string (instead of string:variant) so that system settings plugins
2020         can have an easier time dealing with the arbitrary key/value pairs.
2021
2022 2008-08-11  Dan Williams  <dcbw@redhat.com>
2023
2024         * libnm-util/nm-utils.c
2025                 - (nm_utils_register_value_transformations): add value transform for
2026                         a hash table of string:string
2027
2028 2008-08-10  Dan Williams  <dcbw@redhat.com>
2029
2030         * libnm-glib/nm-vpn-plugin.c
2031                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
2032                         an idle handler so the Connect reply gets delivered before the
2033                         stop StateChanged signal
2034
2035 2008-08-10  Dan Williams  <dcbw@redhat.com>
2036
2037         * src/nm-ip4-config.c
2038                 - (get_property): use common ip4 address/route conversion functions
2039                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
2040                         copy the new route here, not take ownership
2041
2042 2008-08-08  Tambet Ingo  <tambet@gmail.com>
2043
2044         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
2045         Update the IP4 setting's method name.
2046
2047 2008-08-07  Dan Williams  <dcbw@redhat.com>
2048
2049         * introspection/nm-ip4-config.xml
2050           libnm-glib/libnm-glib-test.c
2051           libnm-glib/nm-ip4-config.c
2052           libnm-glib/nm-ip4-config.h
2053           src/NetworkManagerSystem.h
2054           src/backends/NetworkManagerArch.c
2055           src/backends/NetworkManagerDebian.c
2056           src/backends/NetworkManagerFrugalware.c
2057           src/backends/NetworkManagerGeneric.c
2058           src/backends/NetworkManagerGeneric.h
2059           src/backends/NetworkManagerGentoo.c
2060           src/backends/NetworkManagerMandriva.c
2061           src/backends/NetworkManagerPaldo.c
2062           src/backends/NetworkManagerRedHat.c
2063           src/backends/NetworkManagerSlackware.c
2064           src/backends/NetworkManagerSuSE.c
2065           src/dhcp-manager/nm-dhcp-manager.c
2066           src/nm-device.c
2067           src/nm-ip4-config.c
2068           src/nm-ip4-config.h
2069                 - Remove NIS logic; should be done from dispatcher scripts instead
2070
2071 2008-08-07  Dan Williams  <dcbw@redhat.com>
2072
2073         * src/dhcp-manager/nm-dhcp-manager.c
2074                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2075                         mis-handling of DHCP responses that returned more than one router
2076                         (found by Grant Williamson)
2077
2078 2008-08-07  Dan Williams  <dcbw@redhat.com>
2079
2080         * callouts/nm-dispatcher-action.c
2081                 - (nm_dispatcher_action): grab device path and create the device; pass
2082                         the device's DHCP4 config to script caller
2083                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2084                         scripts
2085
2086         * libnm-glib/nm-dhcp4-config.c
2087           libnm-glib/nm-dhcp4-config.h
2088                 - (nm_dhcp4_config_get_options): expose
2089                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2090
2091 2008-08-07  Dan Williams  <dcbw@redhat.com>
2092
2093         * include/NetworkManager.h
2094                 - Add the DHCP4Config D-Bus interface
2095
2096         * libnm-glib/Makefile.am
2097           libnm-glib/nm-dhcp4-config.c
2098           libnm-glib/nm-dhcp4-config.h
2099                 - Handle DHCP4 config objects exported by NM over D-Bus
2100
2101         * libnm-glib/nm-device.c
2102           libnm-glib/nm-device.h
2103                 - Add a 'dhcp4-config' property
2104
2105         * libnm-glib/libnm-glib-test.c
2106                 - Print out DHCP4 config for devices
2107                 - Fix some crashes when no connections are active
2108
2109         * src/nm-device-interface.c
2110           src/nm-device.c
2111           src/nm-dhcp4-config.c
2112           src/nm-dhcp4-config.h
2113                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2114                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2115                         doesn't let us do when the property type is G_TYPE_OBJECT
2116
2117 2008-08-07  Dan Williams  <dcbw@redhat.com>
2118
2119         * src/NetworkManager.c
2120           src/NetworkManagerSystem.h
2121           src/backends/NetworkManagerArch.c
2122           src/backends/NetworkManagerDebian.c
2123           src/backends/NetworkManagerFrugalware.c
2124           src/backends/NetworkManagerGeneric.c
2125           src/backends/NetworkManagerGeneric.h
2126           src/backends/NetworkManagerGentoo.c
2127           src/backends/NetworkManagerMandriva.c
2128           src/backends/NetworkManagerPaldo.c
2129           src/backends/NetworkManagerRedHat.c
2130           src/backends/NetworkManagerSlackware.c
2131           src/backends/NetworkManagerSuSE.c
2132                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2133
2134 2008-08-06  Dan Williams  <dcbw@redhat.com>
2135
2136         * libnm-glib/nm-ip4-config.c
2137           libnm-glib/nm-ip4-config.h
2138                 - Add 'routes' property
2139
2140         * libnm-util/nm-setting-vpn.c
2141           libnm-util/nm-setting-vpn.h
2142                 - Remove 'routes' property
2143
2144         * libnm-util/nm-setting-ip4-config.c
2145           libnm-util/nm-setting-ip4-config.h
2146                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2147                 - Add 'ignore-auto-routes' property
2148                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2149                         accomodate route metrics
2150                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2151
2152         * libnm-util/nm-utils.c
2153           libnm-util/nm-utils.h
2154                 - Add helpers for marshalling IP4 routes
2155
2156         * src/NetworkManagerUtils.c
2157                 - (nm_utils_merge_ip4_config): handle property renames and new route
2158                         structure
2159
2160         * src/NetworkManagerSystem.c
2161                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2162                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2163
2164         * src/dhcp-manager/nm-dhcp-manager.c
2165                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2166
2167         * system-settings/plugins/ifcfg-fedora/reader.c
2168           system-settings/plugins/ifcfg-fedora/writer.c
2169                 - Handle routes separately from addresses now that routes have a different
2170                         format
2171
2172         * introspection/nm-ip4-config.xml
2173           src/nm-ip4-config.c
2174           src/nm-ip4-config.h
2175                 - Rename internal routing functions
2176                 - 'static-routes' renamed to 'routes'
2177
2178 2008-08-04  Dan Williams  <dcbw@redhat.com>
2179
2180         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2181
2182         * src/NetworkManager.c
2183           src/nm-manager.c
2184           src/nm-manager.h
2185                 - More explicitly make the NMManager a singleton
2186
2187 2008-08-04  Dan Williams  <dcbw@redhat.com>
2188
2189         * libnm-util/nm-connection.c
2190           libnm-util/nm-connection.h
2191                 - (nm_connection_verify): return error on missing 'connection' setting
2192                         (found by Sjoerd Simons)
2193
2194 2008-08-04  Dan Williams  <dcbw@redhat.com>
2195
2196         Handle multiple concurrent PPP connections.
2197
2198         * src/ppp-manager/nm-ppp-manager.c
2199           src/ppp-manager/nm-ppp-manager.h
2200                 - (constructor): only PPP Manager request bus name once; each
2201                         NMPPPManager object gets a unique object path
2202                 - (nm_ppp_manager_class_init, get_property, set_property,
2203                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2204                         at construct time
2205                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2206                         remove timeout until PPP manager gets an IP4 config
2207                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2208                         the plugin can call back to this specific PPP manager instance
2209
2210         * src/nm-device-ethernet.c
2211           src/nm-serial-device.c
2212                 - Pass parent device in nm_ppp_manager_new()
2213
2214         * src/nm-gsm-device.c
2215           src/nm-cdma-device.c
2216                 - (device_state_changed): don't close serial device on NEED_AUTH
2217                         state changed, that's not a failure case like the rest are
2218
2219         * src/ppp-manager/nm-pppd-plugin.c
2220                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2221                         binds one interface to any pppd process, thus the correct index
2222                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2223                         problems; try harder to get a peer address in spite of pppd
2224                 - (plugin_init): use 'ipparam' as the object path back to our specific
2225                         PPP manager instance
2226
2227 2008-08-04  Dan Williams  <dcbw@redhat.com>
2228
2229         * src/ppp-manager/nm-ppp-manager.c
2230                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2231                         since the GSM and CDMA settings now implement need_secrets, we can
2232                         rely on them to do the right thing.  Where secrets are not required,
2233                         just pass empty strings back to the pppd plugin.
2234                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2235                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2236                         on successful IP4 config receipt
2237
2238 2008-08-04  Dan Williams  <dcbw@redhat.com>
2239
2240         * libnm-util/nm-setting-cdma.c
2241           libnm-util/nm-setting-gsm.c
2242                 - (verify): validate username & password if they exist
2243                 - (need_secrets): if username given, require a password too
2244
2245 2008-08-04  Dan Williams  <dcbw@redhat.com>
2246
2247         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2248                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2249                         manpage says about --listen-address without --interface
2250                         (bgo #546033)
2251
2252 2008-08-01  Dan Williams  <dcbw@redhat.com>
2253
2254         * libnm-glib/nm-device.c
2255                 - (proxy_get_string): util function for querying a HAL property
2256                 - (get_ancestor_device): split out from get_product_and_vendor()
2257                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2258                         from PCI devices by querying subsys properties
2259                 - (nm_device_update_description): simplify
2260
2261 2008-08-01  Dan Williams  <dcbw@redhat.com>
2262
2263         * libnm-util/nm-setting-ip4-config.c
2264           libnm-util/nm-setting-ip4-config.h
2265                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2266                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2267                         settings, and they don't necessarily use DHCP.
2268
2269         * src/NetworkManagerPolicy.c
2270           src/nm-device.c
2271           system-settings/plugins/ifcfg-fedora/reader.c
2272           system-settings/plugins/ifcfg-suse/parser.c
2273                 - Fixup for method changes
2274
2275 2008-07-31  Dan Williams  <dcbw@redhat.com>
2276
2277         * src/nm-activation-request.c
2278           src/vpn-manager/nm-vpn-connection.c
2279                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2280                         itself should be attached to the activation request or the VPN
2281                         connection, not the NMConnection object, since the call is not
2282                         expected to live as long as the NMConnection itself
2283
2284 2008-07-31  Dan Williams  <dcbw@redhat.com>
2285
2286         * src/nm-device-wifi.c
2287                 - (real_act_stage2_config): fix issue where association would continue
2288                         even though secrets were needed; 'goto out' was in wrong scope and
2289                         result of handle_auth_or_fail() should have been dumped directly to
2290                         'ret' to ensure that the association was postponed until secrets
2291                         are available
2292
2293 2008-07-31  Dan Williams  <dcbw@redhat.com>
2294
2295         * system-settings/plugins/ifcfg-fedora/plugin.c
2296           system-settings/plugins/ifcfg-fedora/reader.c
2297                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2298                         valid NM connection
2299
2300 2008-07-29  Dan Williams  <dcbw@redhat.com>
2301
2302         * src/nm-gsm-device.c
2303                 - (automatic_registration_response, automatic_registration): recognize
2304                         denied registration and reorder responses
2305
2306 2008-07-29  Dan Williams  <dcbw@redhat.com>
2307
2308         * src/nm-serial-device.c
2309                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2310                         time(2) is used for current time, which returns seconds, we shouldn't
2311                         be multiplying by 1000.
2312
2313 2008-07-28  Dan Williams  <dcbw@redhat.com>
2314
2315         Patch from Fabrice Bellet <fabrice@bellet.info>
2316
2317         * src/NetworkManagerSystem.c
2318                 - (route_in_same_subnet): mask addresses and compare them so that the
2319                         function actually does what it says it's going to do (rh #456685)
2320
2321 2008-07-27  Dan Williams  <dcbw@redhat.com>
2322
2323         * libnm-util/nm-setting-ip6-config.c
2324                 - (set_property): add missing break that caused routes to be overwritten
2325                         with addresses
2326
2327         * libnm-util/nm-setting-ip6-config.c
2328                 - (verify): validate routes and return GError everywhere on invalid setting
2329                 - (finalize): don't leak routes
2330                 - (set_property): add missing break that caused routes to be overwritten
2331                         with addresses
2332
2333 2008-07-27  Dan Williams  <dcbw@redhat.com>
2334
2335         * libnm-util/*
2336                 - Relicense to LGPLv2+
2337
2338 2008-07-27  Dan Williams  <dcbw@redhat.com>
2339
2340         * system-settings/plugins/ifcfg-fedora/reader.c
2341                 - (make_ip4_setting): fix parsing automatic configs
2342
2343 2008-07-27  Dan Williams  <dcbw@redhat.com>
2344
2345         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2346           src/nm-device.c
2347           src/ppp-manager/nm-ppp-manager.c
2348                 - Ensure child process gets reaped.  The child watch function may be
2349                         removed from the mainloop before the child gets killed, so we have
2350                         to make sure the child is reaped when it's told to die intentionally
2351
2352 2008-07-27  Dan Williams  <dcbw@redhat.com>
2353
2354         Patch from Roy Marples <roy@marples.name>
2355
2356         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2357                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2358
2359 2008-07-27  Dan Williams  <dcbw@redhat.com>
2360
2361         * src/nm-gsm-device.c
2362                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2363                         Huawei devices turn echo back on after CPIN (rh #456770)
2364
2365 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2366
2367         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2368         format argument to g_set_error() call.
2369
2370         * src/backends/interface_parser.[ch]: Remove.
2371
2372         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2373
2374 2008-07-21  Dan Williams  <dcbw@redhat.com>
2375
2376         * src/ppp-manager/nm-ppp-manager.c
2377                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2378                         to prevent pppd from picking up some random local address from an
2379                         interface that doesn't have anything to do with the one we're
2380                         interested in (rh #455348)
2381
2382 2008-07-17  Dan Williams  <dcbw@redhat.com>
2383
2384         * libnm-util/nm-utils.c
2385                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2386                         by locale
2387                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2388                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2389
2390 2008-07-17  Dan Williams  <dcbw@redhat.com>
2391
2392         * introspection/Makefile.am
2393           introspection/nm-device.xml
2394           introspection/nm-dhcp4-config.xml
2395                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2396                         itself
2397         * src/nm-device-interface.c
2398           src/nm-device-interface.h
2399                 - Add the DHCP4Config property
2400
2401         * src/nm-device.c
2402                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2403                         D-Bus clients when it changes
2404
2405         * src/nm-dhcp4-config.c
2406           src/nm-dhcp4-config.h
2407                 - Simple object to store DHCP4 options, export them over D-Bus, and
2408                         notify when they change
2409
2410         * src/dhcp-manager/nm-dhcp-manager.c
2411           src/dhcp-manager/nm-dhcp-manager.h
2412                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2413                         filter server-returned DHCP options into an NMDHCP4Config object
2414
2415 2008-07-16  Dan Williams  <dcbw@redhat.com>
2416
2417         * introspection/nm-device.xml
2418                 - Add device state reasons
2419
2420 2008-07-16  Dan Williams  <dcbw@redhat.com>
2421
2422         Patch from Roy Marples <roy@marples.name>
2423
2424         * configure.in
2425                 - Add --with-dhcp-client option
2426
2427         * src/dhcp-manager/Makefile.am
2428                 - pass DHCP_CLIENT_PATH on compile line
2429
2430         * src/dhcp-manager/nm-dhcp-manager.c
2431           src/dhcp-manager/nm-dhcp-manager.h
2432                 - Genericize for both dhcpcd and dhclient
2433
2434         * src/dhcp-manager/nm-dhcp-dhclient.c
2435                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2436
2437         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2438                 - Implement support for dhcpcd too
2439
2440 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2441
2442         * system-settings/src/nm-system-config-interface.c 
2443         (nm_system_config_interface_supports_add): Implement.
2444         (nm_system_config_interface_add_connection): Return a boolean to notify
2445         of errors.
2446
2447         * system-settings/src/nm-polkit-helpers.c: 
2448         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2449         a separate file.
2450
2451         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2452         Return an error when none of the plugins support add or if addition
2453         failed for some reason.
2454
2455         * system-settings/src/nm-system-config-error.h: 
2456         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2457         here from nm-polkit-helpers.[ch].
2458
2459         * system-settings/src/Makefile.am: Build new files.
2460
2461         * system-settings/plugins/keyfile/reader.c 
2462         (read_array_of_array_of_uint): Make it more general so that it would
2463         work for routes as well.
2464
2465         * system-settings/plugins/keyfile/writer.c
2466         (write_array_of_array_of_uint): Ditto.
2467         Fix the netmask/prefix writing.
2468
2469         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2470         boolean to notify errors.
2471
2472         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2473         Return more specific error.
2474         (delete): Ditto.
2475
2476 2008-07-11  Dan Williams  <dcbw@redhat.com>
2477
2478         Modify the NMDevice::state-changed signal to include the previous state
2479         and reason. Enables the applet to provide more information why device
2480         activation failed.
2481
2482 2008-07-09  Dan Williams  <dcbw@redhat.com>
2483
2484         * callouts/Makefile.am
2485           callouts/nm-avahi-autoipd-action.c
2486           callouts/nm-avahi-autoipd.conf
2487                 - avahi-autoipd callout to send options back to NM
2488
2489         * src/autoip.c
2490           src/autoip.h
2491                 - remove
2492
2493         * src/nm-device.c
2494           src/nm-device-private.h
2495           src/nm-manager.c
2496                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2497                         old custom stuff
2498
2499 2008-07-07  Dan Williams  <dcbw@redhat.com>
2500
2501         * system-settings/plugins/ifcfg-fedora/reader.c
2502                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2503                         handle PREFIX too; clean up
2504
2505 2008-07-07  Dan Williams  <dcbw@redhat.com>
2506
2507         Convert to using IPv4 prefixes instead of netmasks.
2508
2509 2008-07-03  Dan Williams  <dcbw@redhat.com>
2510
2511         * libnm-util/nm-setting-ip4-config.c
2512           libnm-util/nm-setting-ip4-config.h
2513                 - Add properties for DHCP Client Identifier and DHCP Hostname
2514
2515         * src/dhcp-manager/nm-dhcp-manager.c
2516           src/dhcp-manager/nm-dhcp-manager.h
2517                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2518                         setting as an argument to pass on to the dhclient config file
2519                         creation function
2520                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2521                         DHCP is torn down
2522                 - (dhclient_run): punt config file handling to create_dhclient_config()
2523                 - (create_dhclient_config): create an interface-specific dhclient
2524                         config file since there may need to be interface-specific options
2525                         passed to dhclient
2526                 - (merge_dhclient_config): merge normal distro dhclient config file and
2527                         add options from the connection
2528                 - (nm_dhcp_device_new): generate the interface specific dhclient
2529                         config file path once
2530                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2531                         dhclient config file path
2532
2533         * src/nm-device.c
2534                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2535                         DHCP manager when starting DHCP
2536
2537 2008-07-02  Dan Williams  <dcbw@redhat.com>
2538
2539         * libnm-util/nm-setting-8021x.c
2540                 - (verify): allow forcing the PEAP label to 0
2541
2542 2008-07-02  Dan Williams  <dcbw@redhat.com>
2543
2544         * introspection/nm-active-connection.xml
2545           introspection/nm-vpn-connection.xml
2546           libnm-glib/nm-active-connection.c
2547           src/nm-activation-request.c
2548           src/nm-active-connection.h
2549           src/vpn-manager/nm-vpn-connection.c
2550                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2551                         and libnm-glib API since sharing didn't get implemented that way
2552
2553 2008-07-02  Dan Williams  <dcbw@redhat.com>
2554
2555         * src/nm-device-wifi.c
2556                 - (can_scan): don't scan when a shared connection is activated since
2557                         that makes drivers mad (causing disconnects); also NM doesn't need
2558                         to hedge against disconnects by keeping up-to-date network topology
2559                         because the connection originates from the local machine, and thus
2560                         there should be no disconnects
2561
2562 2008-07-01  Dan Williams  <dcbw@redhat.com>
2563
2564         Fix mobile broadband username/password issues.  NM was never requesting
2565         mobile broadband secrets, nor was it passing back the username and password
2566         if it had them.
2567
2568         * marshallers/nm-marshal.list
2569                 - Add some new types for activation request objects
2570
2571         * src/nm-activation-request.c
2572           src/nm-activation-request.h
2573                 - (get_secrets_cb): pass the caller type in the signal
2574                 - (nm_act_request_request_connection_secrets): take a caller type, so
2575                         that GetSecrets() reply handlers know who asked for the secrets in
2576                         the first place; use secret hints too so the settings service can
2577                         figure out exactly what NM wants (ie, PIN or the PPP password)
2578
2579         * src/ppp-manager/nm-ppp-manager.c
2580           src/ppp-manager/nm-ppp-manager.h
2581                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2582                         detect needed secrets when the secret could be blank, like GSM/CDMA
2583                         passwords.  So always ask for secrets, and send a hint as to what
2584                         secret we really want.
2585                 - (nm_ppp_manager_update_secrets): make function more generic by making
2586                         the device specific class figure out the username and password, and
2587                         accept an error argument to return back over D-Bus
2588
2589         * src/nm-device-wifi.c
2590                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2591                         nm_act_request_request_connection_secrets()
2592                 - (real_connection_secrets_updated): update for 'caller' changes
2593
2594         * src/nm-device.c
2595           src/nm-device.h
2596                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2597                         for 'caller' changes
2598
2599         * src/nm-device-ethernet.c
2600                 - (real_connection_secrets_updated): update for 'caller' changes and
2601                         move logic for getting PPPoE username and password here before
2602                         calling nm_ppp_manager_update_secrets()
2603                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2604                         nm_act_request_request_connection_secrets()
2605
2606         * src/nm-cdma-device.c
2607                 - (real_connection_secrets_updated): pass username and password back
2608                         to the PPP manager when required
2609
2610         * src/nm-gsm-device.c
2611                 - (enter_pin): send the required secret name to the settings service
2612                 - (real_connection_secrets_updated): pass username and password back
2613                         to the PPP manager when required
2614
2615 2008-06-30  Dan Williams  <dcbw@redhat.com>
2616
2617         * src/nm-device-wifi.c
2618                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2619
2620 2008-06-30  Dan Williams  <dcbw@redhat.com>
2621
2622         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2623         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2624         priv->supplicant.iface.  When either condition is false, the device should
2625         transition back to UNAVAILABLE because it cannot be used.
2626
2627         * src/nm-device-wifi.c
2628                 - (constructor): cleanup; connect to supplicant manager here since the
2629                         supplicant manager is always around
2630                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2631                         ensure the supplicant manager is in the IDLE state
2632                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2633                         cancel any pending scans too
2634                 - (real_bring_up): don't set up the supplicnat interface here, because
2635                         we need the supplicant interface at times when the device may not
2636                         be "up"
2637                 - (real_take_down): just remove the periodic source
2638                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2639                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2640                         do anything if there's no supplicant interface
2641                 - (cleanup_association_attempt): cleanup
2642                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2643                         the interface enters the READY state; transition to UNAVAILABLE
2644                         state when the interface goes down because the device can't be used
2645                         without a supplicant interface
2646                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2647                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2648                         acquire the supplicant interface and transition to DISCONNECTED
2649                         if the radio isn't killed
2650                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2651                 - (state_changed_cb): release any existing supplicant interface; if the
2652                         radio is enabled then try to acquire a new supplicant interface;
2653                         if the radio is enabled and a supplicant interface has been acquired,
2654                         we can transition to DISCONNECTED
2655                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2656                         don't enable the radio, because HAL probably lied to us about the
2657                         killswitch being off.  If bringing the hardware up worked, then
2658                         try to grab a supplicant interface, and if that was successful,
2659                         transition to DISCONNECTED
2660
2661 2008-06-30  Dan Williams  <dcbw@redhat.com>
2662
2663         * src/supplicant-manager/nm-supplicant-interface.c
2664                 - (request_scan_results, nm_supplicant_interface_dispose,
2665                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2666                         the id of the timeout, not a GSource
2667
2668 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2669
2670         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2671         bunch of typoes introduced by "Patch from David Cantrell 
2672         <dcantrell@redhat.com> and me".
2673
2674 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2675
2676         * src/nm-serial-device.c: 
2677         * src/nm-gsm-device.c: 
2678         * src/nm-cdma-device.c: Move the pending call handling to a common location
2679         in serial device. Handle setting device state to failed in one place as well.
2680
2681 2008-06-29  Dan Williams <dcbw@redhat.com>
2682
2683         * src/nm-hal-manager.c
2684                 - Rework killswitch handling to query killswitch status immediately
2685                         when the first killswitch is added, so that rfkill state is
2686                         known as early as possible
2687                 - Also treat failure of GetPower() as rfkill when the dbus method
2688                         call times out (but not when the HAL callout returns an error)
2689
2690 2008-06-26  Dan Williams <dcbw@redhat.com>
2691
2692         Patch from David Cantrell <dcantrell@redhat.com> and me
2693
2694         * include/nm-dbus-glib-types.h
2695                 - Add IP6 address types
2696
2697         * libnm-util/Makefile.am
2698           libnm-util/nm-setting-ip6-config.c
2699           libnm-util/nm-setting-ip6-config.h
2700                 - Add IP6 settings object
2701
2702         * libnm-util/nm-connection.c
2703                 - (register_default_settings): register ip6 settings object
2704
2705         * libnm-util/nm-utils.c
2706           libnm-util/nm-utils.h
2707                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2708                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2709                         ip6 address conversion functions
2710         
2711 2008-06-26  Dan Williams <dcbw@redhat.com>
2712
2713         Patch from David Cantrell <dcantrell@redhat.com>
2714         
2715         * Use inet_ntop() and inet_pton() everwhere and check for errors
2716
2717 2008-06-26  Dan Williams <dcbw@redhat.com>
2718
2719         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2720
2721 2008-06-26  Dan Williams <dcbw@redhat.com>
2722
2723         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2724
2725         * src/nm-device-wifi.c
2726                 - (link_timeout_cb): don't ignore disconnects due to scanning
2727                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2728                         a longer timeout when scanning; avoids case where supplicant can't
2729                         find the AP and just keeps scanning forever but isn't connected
2730
2731 2008-06-26  Dan Williams <dcbw@redhat.com>
2732
2733         Patch from Michael Biebl <biebl@debian.org>
2734
2735         * Clean up build system stuff
2736
2737 2008-06-23  Christian Persch  <chpe@gnome.org>
2738
2739         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2740         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2741         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2742         (impl_get_object):
2743         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2744         (impl_get_object):
2745         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2746         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2747         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2748         (impl_get_object):
2749         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2750         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2751         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2752         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2753         * vpn-daemons/pptp/properties/vpnui_opt.c:
2754         (vpnui_opt_connect_signals):
2755         * vpn-daemons/pptp/properties/vpnui_opt.h:
2756         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2757         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2758         deprecated gtk type macros. Bug #539325.
2759
2760 2008-06-20  Dan Williams  <dcbw@redhat.com>
2761
2762         * libnm-glib/nm-vpn-plugin-ui-interface.c
2763           libnm-glib/nm-vpn-plugin-ui-interface.h
2764                 - 'validity-changed' -> 'changed' to work better with the connection
2765                         editor.  Plugin UI widgets should emit 'changed' whenever their
2766                         UI values change in a meaningful way.
2767                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2768                         update_connection member now returns validity of the UI widget
2769
2770 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2771
2772         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2773
2774 2008-06-17  Dan Williams  <dcbw@redhat.com>
2775
2776         * libnm-glib/nm-vpn-plugin-ui-interface.c
2777           libnm-glib/nm-vpn-plugin-ui-interface.h
2778                 - Add "desc" property for longer descriptions of the VPN plugin
2779
2780 2008-06-16  Dan Williams  <dcbw@redhat.com>
2781
2782         * configure.in
2783           libnm-glib/libnm_glib_vpn.pc.in
2784                 - add a .pc file for libnm_glib_vpn
2785
2786         * libnm-glib/nm-vpn-plugin-ui-interface.c
2787           libnm-glib/nm-vpn-plugin-ui-interface.h
2788                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2789                         rework it substantially
2790
2791 2008-06-12  Dan Williams  <dcbw@redhat.com>
2792
2793         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2794         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2795         returns a descriptive GError when verification fails.
2796
2797 2008-06-11  Dan Williams  <dcbw@redhat.com>
2798
2799         Patch from Tambet Ingo <tambet@gmail.com>
2800
2801         * libnm-util/nm-setting-gsm.c
2802                 - (verify): validate APN
2803
2804         * src/nm-gsm-device.c
2805                 - (manual_registration_done): start setting APN if needed
2806                 - (set_apn, set_apn_done): set the APN
2807                 - (do_dial): use the APN when dialing
2808
2809 2008-06-11  Dan Williams  <dcbw@redhat.com>
2810
2811         * src/NetworkManagerSystem.c
2812                 - (nm_system_device_set_ip4_route,
2813                    nm_system_device_replace_default_ip4_route): check for the right
2814                         return value from rtnl_route_add() to know when to add a gateway
2815                         route (from Tambet)
2816
2817 2008-06-11  Dan Williams  <dcbw@redhat.com>
2818
2819         * src/NetworkManagerPolicy.c
2820                 - do_ipt_cmd -> do_cmd
2821                 - (sharing_init): use do_cmd() instead of system()
2822
2823 2008-06-10  Dan Williams  <dcbw@redhat.com>
2824
2825         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2826         and use "wifi" everwhere instead.
2827
2828 2008-06-10  Dan Williams  <dcbw@redhat.com>
2829
2830         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2831
2832 2008-06-10  Dan Williams  <dcbw@redhat.com>
2833
2834         Patch from Tambet Ingo <tambet@gmail.com>
2835
2836         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2837                 changes.
2838
2839         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2840                 a signal to emit these changes over dbus.
2841
2842         * src/Makefile.am: Genereate nm-serial-device-glue.
2843
2844         * libnm-glib/nm-serial-device.[ch]: Implement.
2845
2846         * libnm-glib/nm-cdma-device.[ch]
2847           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2848
2849         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2850
2851         * introspection/nm-device-serial.xml: Implement.
2852
2853         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2854
2855         * introspection/Makefile.am: Add nm-device-serial.xml.
2856
2857         * include/NetworkManager.h: Add a DBus interface for serial device.
2858
2859 2008-06-10  Dan Williams  <dcbw@redhat.com>
2860
2861         * configure.in
2862                 - Add TARGET_* define to config.h to distinguish distros
2863
2864         * src/dhcp-manager/nm-dhcp-manager.c
2865                 - (dhclient_run): use distro-specific path for dhclient config file
2866
2867 2008-06-09  Dan Williams  <dcbw@redhat.com>
2868
2869         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2870           src/dnsmasq-manager/nm-dnsmasq-manager.h
2871                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2872                         calculate the addresses passed to dnsmasq instead of hard-coding
2873                         them
2874
2875         * src/nm-device.c
2876                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2877                         IP addresses for shared connections to guard against shared
2878                         connection address collisions
2879                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2880                         error conditions
2881                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2882                         the dnsmasq manager
2883
2884 2008-06-09  Dan Williams  <dcbw@redhat.com>
2885
2886         * src/NetworkManagerPolicy.c
2887                 - (update_routing_and_dns): set the default connection _after_ unsetting
2888                         default on all non-default connections so that two connections can
2889                         never be default at the same time
2890                 - (device_state_changed): start and stop connection sharing when
2891                         needed
2892                 - (active_connection_default_changed): restart or stop sharing when
2893                         the default connection changes to keep shared connections always
2894                         NAT-ed through the default connection
2895                 - (check_sharing): handle activation/deactivation of shared connections
2896                 - (sharing_restart): atom-bomb approach to connection sharing until we
2897                         can use libnl; reinit all sharing when the default connection or
2898                         shared connections change
2899                 - (sharing_init, sharing_stop): evil functions that init and deinit
2900                         iptables
2901
2902 2008-06-09  Dan Williams  <dcbw@redhat.com>
2903
2904         * src/nm-activation-request.c
2905           src/nm-activation-request.h
2906                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2907                    nm_act_request_get_device): new functions to facilitate connection
2908                         sharing
2909
2910 2008-06-09  Dan Williams  <dcbw@redhat.com>
2911
2912         * src/nm-device.c
2913                 - (clear_act_request): unset the 'default' property of the activation
2914                         request when clearing it to ensure the property changed signal gets
2915                         delivered and handled
2916
2917 2008-06-09  Dan Williams  <dcbw@redhat.com>
2918
2919         * libnm-glib/nm-device-802-11-wireless.c
2920                 - (access_point_removed_proxy): actually unref the AP after removing
2921                         it from the device's AP list.  Fixes refcounting bug for APs that
2922                         caused them to get mixed up in the applet's menu.
2923
2924 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2925
2926         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2927         (nm_dhcp_device_destroy): Destroy the device options hash table.
2928
2929 2008-06-06  Dan Williams <dcbw@redhat.com>
2930
2931         * system-settings/src/nm-polkit-helpers.c
2932                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2933                         unref the context if the initialization fails; also avoid spew when
2934                         the error isn't set
2935
2936 2008-06-06  Dan Williams <dcbw@redhat.com>
2937
2938         Patch from Tambet Ingo  <tambet@gmail.com>
2939
2940         * src/NetworkManagerSystem.c
2941           src/NetworkManagerSystem.h
2942                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2943                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2944                 - (nm_system_device_set_ip4_route): clean up
2945                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2946
2947         * src/nm-device.c
2948                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2949
2950         * src/vpn-manager/nm-vpn-connection.c
2951                 - (ip_address_to_string): new function
2952                 - (print_vpn_config): use ip_address_to_string
2953                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2954                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2955
2956         * include/NetworkManagerVPN.h
2957                 - Add 'routes' key
2958
2959 2008-06-05  Dan Williams <dcbw@redhat.com>
2960
2961         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2962
2963         * test/nm-tool.c
2964                 - Show which device is the default device
2965
2966 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2967
2968         Fix memory leaks.
2969
2970         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2971         Free data returned from dbus method call.
2972
2973         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2974         dbus_g_method_get_sender() returns a duplicated string, free it 
2975         when done.
2976         (check_polkit_privileges): Looks like policykit sometimes returns
2977         error and non-null return value, don't leak errors in that case.
2978
2979         * system-settings/src/main.c (find_plugin): Don't leak existing 
2980         plugin names.
2981         (load_stuff): Don't leak device list and list items.
2982         (have_connection_for_device): Don't leak connection list.
2983
2984         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2985         Free the data received from g_keyfile_get_*.
2986
2987         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2988         the key when the security object is updated.
2989
2990         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2991         Free data returned from dbus method call.
2992         (iface_state_cb): Ditto.
2993         (add_network_cb): Ditto.
2994         (nm_supplicant_interface_add_cb): Don't make another copy of already
2995         duplicated object path.
2996         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2997         when done.
2998
2999         * src/supplicant-manager/nm-supplicant-config.c 
3000         (ADD_STRING_LIST_VAL): Fix a memory leak.
3001
3002         * src/nm-manager.c (free_get_settings_info): Free the allocated
3003         memory slice.
3004         (list_connections_cb): Free data returned from dbus method call.
3005         (system_settings_get_unmanaged_devices_cb): Ditto.
3006
3007         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
3008
3009         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
3010         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
3011         * src/backends/shvar.c (svCloseFile): Free the duplicated content
3012         of the GList.
3013
3014         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
3015         arguments after the object is created.
3016
3017 2008-06-04  Dan Williams <dcbw@redhat.com>
3018
3019         * libnm-util/Makefile.am
3020                 - Don't distribute nm-param-spec-specialized.h
3021
3022 2008-06-02  Tambet Ingo  <tambet@gmail.com>
3023
3024         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
3025
3026         * src/nm-ip4-config.[ch]: Store the static routes as a list of
3027         NMIP4Address, update the getters and setters.
3028
3029         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3030         Use the updated NMIP4Config routes api.
3031
3032         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
3033         static routes as well.
3034
3035         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
3036         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
3037         routes api.
3038
3039 2008-05-30  Dan Williams <dcbw@redhat.com>
3040
3041         * src/named-manager/nm-named-manager.c
3042           src/named-manager/nm-named-manager.h
3043                 - Remove stale/obsolete bits for controlling bind over DBus
3044
3045 2008-05-29  Dan Williams <dcbw@redhat.com>
3046
3047         * src/dnsmasq-manager/nm-dnsmasq-manager.c
3048           src/dnsmasq-manager/nm-dnsmasq-manager.h
3049                 - (nm_dnsmasq_manager_new): move iface argument here
3050                 - (constructor): remove, not needed
3051                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
3052                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3053
3054         * src/nm-device.c
3055                 - (real_act_stage4_get_ip4_config,
3056                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3057                         changes
3058
3059 2008-05-29  Dan Williams <dcbw@redhat.com>
3060
3061         * src/nm-device.c
3062                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3063                         something happens to dnsmasq
3064                 - (nm_device_new_ip4_shared_config): new function; create a new
3065                         ip4-config for shared connections.  Shared connections always use a
3066                         fixed static IP address.
3067                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3068                         autoip connections by actually using the returned ip4-config and
3069                         not leaking it
3070                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3071                         connections
3072                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3073                         if its active
3074
3075 2008-05-29  Dan Williams <dcbw@redhat.com>
3076
3077         * src/nm-device-802-11-wireless.c
3078                 - (real_get_best_auto_connection): auto-activate 'shared' method
3079                         connections too
3080
3081 2008-05-29  Dan Williams <dcbw@redhat.com>
3082
3083         * libnm-util/nm-setting-ip4-config.c
3084           libnm-util/nm-setting-ip4-config.h
3085                 - Add a 'shared' method to indicate that this connection should be
3086                         brought up with a DHCP and proxy DNS server to facilitate
3087                         connection sharing.
3088                 - (verify): 'shared' method doesn't allow DNS or searches either
3089
3090 2008-05-29  Dan Williams <dcbw@redhat.com>
3091
3092         * configure.in
3093           src/Makefile.am
3094           src/dnsmasq-manager/Makefile.am
3095           src/dnsmasq-manager/nm-dnsmasq-manager.c
3096           src/dnsmasq-manager/nm-dnsmasq-manager.h
3097                 - Add a dnsmasq daemon manager to facilitate connection sharing
3098
3099 2008-05-29  Dan Williams <dcbw@redhat.com>
3100
3101         * src/nm-device-private.h
3102                 - Remove unused prototypes and clean up
3103
3104         * src/nm-device.c
3105                 - Remove anything related to system_config_data, which is no longer used
3106                 - (nm_device_new_ip4_autoip_config): make static
3107
3108 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3109
3110         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3111         (file_changed): Fix a bug where suse system settings plugin didn't
3112         update the connections automatically when the files changed.
3113
3114 2008-05-28  Dan Williams  <dcbw@redhat.com>
3115
3116         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3117
3118 2008-05-28  Dan Williams  <dcbw@redhat.com>
3119
3120         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3121
3122         * src/NetworkManagerSystem.c
3123                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3124                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3125                         was causing -EINVAL errors since the libnl code actually does flush
3126                         the routes on VPN interfaces now
3127
3128         * src/backends/NetworkManagerArch.c
3129           src/backends/NetworkManagerDebian.c
3130           src/backends/NetworkManagerFrugalware.c
3131           src/backends/NetworkManagerGeneric.c
3132           src/backends/NetworkManagerGentoo.c
3133           src/backends/NetworkManagerMandriva.c
3134           src/backends/NetworkManagerPaldo.c
3135           src/backends/NetworkManagerRedHat.c
3136           src/backends/NetworkManagerSlackware.c
3137           src/backends/NetworkManagerSuSE.c
3138                 - (nm_system_device_flush_ip4_routes,
3139                    nm_system_device_flush_ip4_routes_with_iface): remove
3140
3141 2008-05-28  Dan Williams  <dcbw@redhat.com>
3142
3143         * libnm-util/nm-setting-wireless.c
3144           libnm-util/nm-setting-wireless.h
3145                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3146                         'adhoc-create' property, which when TRUE indicates that NM should
3147                         create this connection as an adhoc wifi network if it's not found
3148                         as an adhoc network during scanning.  Can be used to auto-create
3149                         adhoc networks when used in combination with autoconnect.
3150
3151 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3152
3153         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3154
3155         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3156         checked, it doesn't work on some devices.
3157
3158 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3159
3160         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3161         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3162
3163         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3164         Use inet_aton() everywhere to improve error detection.
3165         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3166         provided.
3167
3168 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3169
3170         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3171         Fix a typo.
3172
3173 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3174
3175         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3176         reference counting issue.
3177
3178 2008-05-23  Dan Williams  <dcbw@redhat.com>
3179
3180         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3181
3182         * src/backends/NetworkManagerGeneric.c
3183                 - (nm_generic_enable_loopback): use libnl
3184
3185 2008-05-23  Dan Williams  <dcbw@redhat.com>
3186
3187         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3188
3189         * src/NetworkManagerSystem.h
3190           src/backends/NetworkManagerArch.c
3191           src/backends/NetworkManagerDebian.c
3192           src/backends/NetworkManagerFrugalware.c
3193           src/backends/NetworkManagerGentoo.c
3194           src/backends/NetworkManagerMandriva.c
3195           src/backends/NetworkManagerPaldo.c
3196           src/backends/NetworkManagerRedHat.c
3197           src/backends/NetworkManagerSlackware.c
3198           src/backends/NetworkManagerSuSE.c
3199                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3200                    nm_system_flush_arp_cache): remove, unused
3201
3202         * src/backends/NetworkManagerGeneric.c
3203           src/backends/NetworkManagerGeneric.h
3204                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3205                    nm_generic_flush_arp_cache): remove, unused
3206
3207 2008-05-23  Dan Williams  <dcbw@redhat.com>
3208
3209         * system-settings/plugins/ifcfg-fedora/reader.c
3210                 - (make_ip4_setting): honor PEERDNS setting
3211
3212 2008-05-23  Dan Williams  <dcbw@redhat.com>
3213
3214         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3215
3216         * src/NetworkManagerSystem.c
3217                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3218                         libnl
3219
3220         * src/backends/NetworkManagerArch.c
3221           src/backends/NetworkManagerDebian.c
3222           src/backends/NetworkManagerFrugalware.c
3223           src/backends/NetworkManagerGentoo.c
3224           src/backends/NetworkManagerMandriva.c
3225           src/backends/NetworkManagerPaldo.c
3226           src/backends/NetworkManagerRedHat.c
3227           src/backends/NetworkManagerSlackware.c
3228           src/backends/NetworkManagerSuSE.c
3229                 - (nm_system_device_flush_ip4_addresses,
3230                    nm_system_device_flush_ip4_addresses_with_iface): remove
3231
3232         * src/backends/NetworkManagerGeneric.c
3233                 - (nm_generic_device_flush_ip4_addresses,
3234                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3235
3236 2008-05-23  Dan Williams  <dcbw@redhat.com>
3237
3238         * src/supplicant-manager/nm-supplicant-settings-verify.c
3239                 - Switch 'bssid' from bytes to keyword type
3240                 - (validate_type_keyword): allow NULL keyword lists
3241
3242         * src/supplicant-manager/nm-supplicant-config.c
3243                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3244                         a byte array to string form, which is what the supplicant expects
3245
3246 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3247
3248         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3249         information received from DHCP.
3250
3251         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3252         to make it possible to ignore the DNS information (both servers and 
3253         searches) returned by DHCP server.
3254
3255         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3256         name servers and searches if "ignore_dhcp_dns" is set.
3257
3258         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3259         (nm_ip4_config_reset_searches): Implement.
3260
3261 2008-05-22  Dan Williams  <dcbw@redhat.com>
3262
3263         Remove anything mDNS related.  This is better done from a distro-specific
3264         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3265         avahi, since avahi can handle interface changes just fine using netlink.
3266
3267         * configure.in
3268                 - Remove --with-mdns-provider
3269
3270         * src/NetworkManagerPolicy.c
3271                 - (global_state_changed): don't restart the mdns provider
3272
3273         * src/NetworkManagerSystem.h
3274           src/backends/NetworkManagerArch.c
3275           src/backends/NetworkManagerDebian.c
3276           src/backends/NetworkManagerFrugalware.c
3277           src/backends/NetworkManagerGentoo.c
3278           src/backends/NetworkManagerMandriva.c
3279           src/backends/NetworkManagerPaldo.c
3280           src/backends/NetworkManagerRedHat.c
3281           src/backends/NetworkManagerSlackware.c
3282           src/backends/NetworkManagerSuSE.c
3283                 - (nm_system_restart_mdns_responder): remove
3284
3285         * src/backends/NetworkManagerGeneric.c
3286           src/backends/NetworkManagerGeneric.h
3287                 - (nm_generic_restart_mdns_responder): remove
3288
3289 2008-05-22  Dan Williams  <dcbw@redhat.com>
3290
3291         * configure.in
3292                 - clean up crypto options; just use --with-crypto=nss or
3293                         --with-crypto=gnutls
3294
3295 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3296
3297         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3298         anymore, do it right away.
3299
3300 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3301
3302         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3303         serial device open when we're not connecting or connected.
3304
3305         * src/nm-cdma-device.c (device_state_changed): Ditto.
3306
3307 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3308
3309         Don't remove all devices on waking up, sync with HAL.
3310
3311         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3312         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3313         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3314
3315 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3316
3317         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3318         If the default gateway is unreachable, add a route to gateway and try
3319         again.
3320
3321 2008-05-20  Dan Williams  <dcbw@redhat.com>
3322
3323         * system-settings/plugins/ifcfg-fedora/reader.c
3324                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3325
3326 2008-05-19  Dan Williams  <dcbw@redhat.com>
3327
3328         * system-settings/plugins/ifcfg-fedora/reader.c
3329                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3330                         if the ifcfg doesn't specify one (rh #446527)
3331
3332 2008-05-19  Dan Williams  <dcbw@redhat.com>
3333
3334         Make the system settings service exit when the bus goes away.  Since it's
3335         a bus-activated service, it's lifetime is limited to the bus that activated
3336         it (rh #444976).
3337
3338         * system-settings/src/Makefile.am
3339           system-settings/src/nm-system-config-hal-manager-private.h
3340                 - Remove nm-system-config-hal-manager-private.h
3341
3342         * system-settings/src/nm-system-config-hal-manager.c
3343                 - (nm_system_config_hal_manager_reinit_dbus,
3344                    nm_system_config_hal_manager_deinit_dbus): remove
3345
3346         * system-settings/src/main.c
3347                 - (dbus_reconnect): remove
3348                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3349                 - (destroy_cb): just quit when the bus goes away
3350                 - (start_dbus_service, dbus_init): simplify
3351                 - (main): destroy the wired devices hash table after destroying
3352                         the HAL manager so we don't have to disconnect signals from the
3353                         HAL manager
3354
3355 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3356
3357         Move crypto functions from nm-applet to libnm-util.
3358
3359         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3360         (nm_setting_802_1x_set_client_cert)
3361         (nm_setting_802_1x_set_phase2_ca_cert)
3362         (nm_setting_802_1x_set_phase2_client_cert)
3363         (nm_setting_802_1x_set_private_key)
3364         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3365         file (or private key and it's password), read the certificate data.
3366
3367         * libnm-util/crypto_nss.c: 
3368         * libnm-util/crypto_gnutls.c: 
3369         * libnm-util/crypto.[ch]: Move here from nm-applet.
3370
3371         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3372
3373         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3374         Imlement WPA-EAP configuration reading from sysconfig.
3375
3376 2008-05-16  Dan Williams  <dcbw@redhat.com>
3377
3378         * src/nm-device-802-11-wireless.c
3379                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3380                         wireless
3381
3382 2008-05-14  Dan Williams  <dcbw@redhat.com>
3383
3384         Fix Linus' bug in rh #134886
3385
3386         * src/nm-device-802-3-ethernet.c
3387                 - (constructor): request initial carrier state
3388
3389         * src/nm-netlink-monitor.c
3390                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3391                         signals after refilling the link cache.  Because the refill is a 
3392                         synchronous operation, the normal message hander won't get called
3393                         since libnl has already consumed the messages.
3394                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3395
3396 2008-05-14  Dan Williams  <dcbw@redhat.com>
3397
3398         * src/NetworkManagerSystem.c
3399                 - (nm_system_device_is_up_with_iface): clean up
3400
3401 2008-05-13  Dan Williams  <dcbw@redhat.com>
3402
3403         Fix refcounting issues over sleep/wake when a VPN connection was active that
3404         caused NM to try registering an object path for a device upon wake that was
3405         the same as an already registered object path.
3406
3407         * src/nm-device.c
3408                 - (nm_device_take_down): properly handle cases where the device is
3409                         no longer active but was just active, and therefore must be
3410                         deactivated.  When a device moves to unmanaged mode, this function
3411                         previously would not deactivate the device, because the state was
3412                         already unmanaged by the time this function was called.
3413
3414         * src/vpn-manager/nm-vpn-connection.c
3415                 - (device_state_changed): properly handle multiple devices states in
3416                         which the device is now deactivated.  Code previously didn't handle
3417                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3418                         UNMANAGED states.
3419
3420 2008-05-13  Dan Williams  <dcbw@redhat.com>
3421
3422         * src/nm-device-private.h
3423           src/nm-device.c
3424                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3425
3426         * src/nm-device-802-11-wireless.c
3427                 - (nm_device_802_11_wireless_set_enabled): take devices up
3428                         and down as appropriate for the rfkill state
3429
3430 2008-05-13  Dan Williams  <dcbw@redhat.com>
3431
3432         * marshallers/nm-marshal.list
3433                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3434
3435         * system-settings/plugins/ifcfg-fedora/Makefile.am
3436           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3437           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3438                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3439                         events.  Solely for use watching ifcfg files to pick up changes
3440                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3441
3442         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3443                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3444                         file contents change
3445                 - (finalize): clean up inotify watches
3446                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3447                         and the connection ifcfg for changes on their hardlinks
3448                 - (files_changed_cb): proxy the changed signal back out to listeners
3449
3450         * system-settings/plugins/ifcfg-fedora/plugin.c
3451                 - (dir_changed): 
3452                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3453                         changes
3454                 - (read_one_connection): connect to change signals on the new connection
3455                 - (dir_changed, connection_changed_handler,
3456                    handle_connection_remove_or_new): break out connection change
3457                         handling and connection new/remove handling so it can be used from
3458                         both the GFileMonitor callback and the NMIfcfgConnection changed
3459                         signals
3460
3461         * system-settings/plugins/ifcfg-fedora/reader.c
3462           system-settings/plugins/ifcfg-fedora/reader.h
3463                 - (connection_from_file): return the keyfile path the connection would use
3464
3465 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3466
3467         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3468         single PolKitContext which is shared by all. PolKitContext::unref leaks
3469         just about everything, including all open file descriptiors and results
3470         in 99% cpu usage when data arrives to any of the fds that don't belong
3471         to any context anymore.
3472
3473 2008-05-12  Dan Williams  <dcbw@redhat.com>
3474
3475         * gfilemonitor/glocaldirectorymonitor.c
3476           gfilemonitor/glocaldirectorymonitor.h
3477                 - (g_local_directory_monitor_constructor): actually subscribe to the
3478                         watch
3479                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3480
3481         * gfilemonitor/glocalfilemonitor.c
3482           gfilemonitor/glocalfilemonitor.h
3483                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3484                 - (_g_local_file_monitor_new): ensure that inotify is started up
3485
3486 2008-05-11  Dan Williams  <dcbw@redhat.com>
3487
3488         * configure.in
3489                 - record PolicyKit version
3490
3491         * system-settings/src/nm-polkit-helpers.c
3492                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3493                         with PolicyKit <= 0.6
3494
3495 2008-05-11  Dan Williams  <dcbw@redhat.com>
3496
3497         Update Fedora system-settings plugin to support latest API and use
3498         GFileMonitor rather than home-rolled inotify code.
3499
3500         * system-settings/plugins/ifcfg-fedora/Makefile.am
3501           system-settings/plugins/ifcfg-fedora/common.h
3502           system-settings/plugins/ifcfg-fedora/plugin.c
3503                 - Update to latest system settings plugin API; use GIO instead of
3504                         custom inotify code; use NMIfcfgConnection objects instead of
3505                         ConnectionData structures tacked onto NMConnection objects
3506
3507         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3508           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3509                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3510                         connections
3511
3512         * system-settings/plugins/ifcfg-fedora/reader.c
3513           system-settings/plugins/ifcfg-fedora/reader.h
3514                 - Move ifcfg parsing bits here from parser.c
3515
3516         * system-settings/plugins/ifcfg-fedora/parser.c
3517           system-settings/plugins/ifcfg-fedora/parser.h
3518                 - Remove; most code moved to reader.c
3519
3520 2008-05-11  Dan Williams  <dcbw@redhat.com>
3521
3522         * configure.in
3523           Makefile.am
3524           gfilemonitor/*
3525                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3526                         implementation, so that the same change monitoring code can be used
3527                         on systems without glib-2.14 (like Fedora 8)
3528
3529         * system-settings/plugins/keyfile/Makefile.am
3530           system-settings/plugins/keyfile/plugin.c
3531           system-settings/plugins/ifcfg-suse/Makefile.am
3532           system-settings/plugins/ifcfg-suse/plugin.c
3533                 - Use private gfilemonitor code if GIO is not present
3534
3535 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3536
3537         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3538         NMExportedConnection's 'update' and 'delete' and return error with
3539         descriptive message.
3540
3541 2008-05-08  Dan Williams  <dcbw@redhat.com>
3542
3543         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3544
3545         * src/nm-gsm-device.c
3546           src/nm-cdma-device.c
3547                 - (real_get_best_auto_connection): implement; allow autoconnection
3548                         to GSM & CDMA devices
3549
3550 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3551
3552         Use PolicyKit to authorize the system settings' AddConnection method
3553         and the system settings connections' Update and Delete methods.
3554         
3555         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3556         (impl_exported_connection_delete, nm_exported_connection_update)
3557         (nm_exported_connection_delete): Return boolean and fill GError
3558         to notify the callers of the reasons why it might have failed.
3559
3560         * libnm-glib/nm-dbus-settings-system.c
3561         (nm_dbus_settings_system_add_connection): Return the error from dbus
3562         call so that the callers can see why it failed.
3563
3564         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3565         signatures.
3566
3567         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3568
3569         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3570         abstract base class that checks PolicyKit permissions.
3571
3572         * system-settings/src/dbus-settings.c:
3573         (impl_settings_add_connection): Check the policy before carring out
3574         the request.
3575
3576         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3577         Inherit from NMSysconfigConnection, check the policies before
3578         allowing updating or removing.
3579
3580         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3581         Inherit from NMSysconfigConnection.
3582
3583         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3584         "Delete" methods with async flag so that the implementations can get
3585         access to DBusGMethodInvocation.
3586
3587         * system-settings/src/dbus-settings.c 
3588         (settings_add_connection_check_privileges): Implement.
3589         (impl_settings_add_connection): Check the privileges before adding a new
3590         connection. Improve error reporting.
3591
3592         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3593         async so that the implementation can access DBusGMethodInvocation.
3594
3595         * configure.in: Check for PolicyKit.
3596
3597         * policy/org.freedesktop.network-manager-settings.system.policy: 
3598         New file.
3599
3600         * policy/Makefile.am: Install the policy file.
3601
3602         * configure.in: Add 'policy' subdir.
3603
3604 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3605
3606         Rewrite the suse system settings plugin.
3607
3608         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3609
3610         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3611
3612         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3613
3614         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3615
3616         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3617
3618         * system-settings/src/main.c (load_plugins): Improve error reporting.
3619
3620         * system-settings/src/sha1.[ch] Add.
3621
3622         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3623
3624 2008-05-07  Dan Williams  <dcbw@redhat.com>
3625
3626         * system-settings/plugins/keyfile/reader.c
3627                 - (read_one_setting_value): handle IP address items separately
3628                 - (read_array_of_uint): read IPv4 DNS option as a string array
3629                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3630                         array
3631
3632         * system-settings/plugins/keyfile/writer.c
3633                 - (write_setting_value): handle IP address items separately
3634                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3635                         not an array of uint, so that it's user-editable
3636                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3637                         arrays, so they are user-editable
3638
3639 2008-05-07  Dan Williams  <dcbw@redhat.com>
3640
3641         * system-settings/plugins/keyfile/Makefile.am
3642                 - Change location of the keyfile plugin settings to
3643                         /etc/NetworkManager/system-connections
3644
3645 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3646
3647         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3648
3649         * system-settings/plugins/keyfile/plugin.c: Work with
3650         NMKeyfileConnections.
3651
3652         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3653         Plugins are supposed to return NMExportedConnections now and handle the
3654         updated(), removed(), and GetSecrets().
3655         Store the internal list of connections in hash table to make it easier
3656         to find duplicates.
3657
3658 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3659
3660         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3661         for multiple IP addresses.
3662
3663 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3664
3665         Patch from André Lemos.
3666
3667         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3668         corruption.
3669
3670 2008-05-06  Dan Williams  <dcbw@redhat.com>
3671
3672         * src/dhcp-manager/nm-dhcp-manager.c
3673                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3674                         NMIP4Config to support multiple IP addresses
3675
3676         * src/NetworkManagerUtils.c
3677                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3678
3679         * src/nm-ip4-config.c
3680           src/nm-ip4-config.h
3681                 - Store a list of IPv4 address/netmask/gateway tuples
3682                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3683                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3684                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3685                    nm_ip4_config_set_address): remove
3686                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3687                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3688                         new functions; handle multiple IPv4 addresses
3689
3690         * src/nm-device.c
3691           src/ppp-manager/nm-ppp-manager.c
3692           src/vpn-manager/nm-vpn-connection.c
3693           src/NetworkManagerPolicy.c
3694           test/nm-tool.c
3695           libnm-glib/libnm-glib-test.c
3696                 - update for changes to NMIP4Config for multiple IPv4 addresses
3697
3698         * src/NetworkManagerSystem.c
3699                 - (nm_system_device_set_ip4_route): don't add the route if any address
3700                         is on the same subnet as the destination
3701                 - (check_one_address): ignore the exact match, just match family and
3702                         interface index
3703                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3704                         an interface
3705                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3706                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3707
3708         * introspection/nm-ip4-config.xml
3709                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3710                 - Add 'addresses' property which is an array of (uuu) tuples of
3711                         address/netmask/gateway
3712
3713         * libnm-util/nm-setting-ip4-config.c
3714                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3715
3716         * libnm-glib/nm-ip4-config.c
3717           libnm-glib/nm-ip4-config.h
3718                 - Handle D-Bus interface changes to support multiple IP addresses
3719
3720 2008-05-06  Dan Williams  <dcbw@redhat.com>
3721
3722         * libnm-util/nm-utils.c
3723           libnm-util/nm-utils.h
3724                 - (nm_utils_ip4_addresses_from_gvalue,
3725                    nm_utils_ip4_addresses_to_gvalue): new functions
3726
3727 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3728
3729         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3730         the returned connection paths.
3731
3732 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3733
3734         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3735         "PropertiesChanged" signal signature.
3736
3737         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3738         defined in nm-dbus-glib-types.h.
3739         Don't register the connection on dbus, we're a proxy class to 
3740         communicate with an already registered connection over dbus.
3741
3742 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3743
3744         Implement new subclasses of NMSettings and NMExportedConnection to make
3745         it easier for the applet to access and modify system settings.
3746
3747         * libnm-glib/nm-dbus-connection.[ch]:
3748         * libnm-glib/nm-dbus-settings.[ch]:
3749         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3750
3751         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3752         bindings and glue.
3753
3754         * include/NetworkManager.h: Define the system settings DBus interface.
3755
3756 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3757
3758         Implement additional C API for exported connections to make them identical
3759         with the DBus API. Change the (list_connections) virtual function to be
3760         more usable from C - instead of requiring implementers to return a GPtrArray
3761         of dbus paths, return a list of connections.
3762
3763         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3764         (nm_settings_list_connections):
3765         (nm_exported_connection_new):
3766         (nm_exported_connection_update):
3767         (nm_exported_connection_delete): Implement.
3768
3769         (impl_settings_list_connections):
3770         (impl_exported_connection_update):
3771         (impl_exported_connection_delete): Use the new public functions to make 
3772         sure the C and dbus interfaces stay in sync.
3773
3774         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3775         connections.
3776
3777 2008-05-02  Dan Williams  <dcbw@redhat.com>
3778
3779         * system-settings/plugins/ifcfg-fedora/plugin.c
3780                 - (dispose): use right unref call on the DBusGConnection
3781
3782 2008-05-02  Dan Williams  <dcbw@redhat.com>
3783
3784         * src/nm-serial-device.c
3785                 - (find_terminator): don't compare the whole line, just the size of the
3786                         terminator, since some modems put stuff after the terminator, like
3787                         "CONNECT 9600"
3788
3789 2008-05-01  Dan Williams  <dcbw@redhat.com>
3790
3791         Patch from Michael Biebl <biebl@debian.org>
3792
3793         * callouts/Makefile.am
3794           callouts/org.freedesktop.nm_dispatcher.service.in
3795           system-settings/src/Makefile.am
3796           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3797                 - use the right install location for dbus-activated stuff
3798
3799 2008-04-30  Dan Williams  <dcbw@redhat.com>
3800
3801         * src/nm-gsm-device.c
3802                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3803                         PIN or PUK
3804
3805 2008-04-30  Dan Williams  <dcbw@redhat.com>
3806
3807         * src/nm-manager.c
3808                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3809
3810 2008-04-30  Dan Williams  <dcbw@redhat.com>
3811
3812         * src/nm-device-802-3-ethernet.c
3813           src/nm-device-802-11-wireless.c
3814                 - (real_is_up): return true instead of chaining up to unimplemented
3815                         parent method
3816
3817 2008-04-30  Dan Williams  <dcbw@redhat.com>
3818
3819         * src/NetworkManagerSystem.c
3820           src/NetworkManagerSystem.h
3821                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3822                         functions to check device flags for IFF_UP
3823
3824         * src/nm-serial-device.c
3825                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3826                         implement is_up
3827
3828         * src/nm-device-802-3-ethernet.c
3829           src/nm-device-802-11-wireless.c
3830                 - (real_hw_is_up): call nm_system_device_is_up()
3831
3832         * src/nm-device.c
3833                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3834                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3835                         does not implement
3836
3837 2008-04-29  Dan Williams  <dcbw@redhat.com>
3838
3839         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3840
3841         * marshallers/nm-marshal.list
3842                 - Add marshaller
3843
3844         * src/NetworkManager.c
3845                 - (main): let the NMManager handle the NMHalManager
3846
3847         * src/nm-hal-manager.c
3848           src/nm-hal-manager.h
3849                 - convert to a GObject, and emit singals when stuff changes.  Let the
3850                         NMManager handle the signals, instead of the NMHalManager calling
3851                         into the NMManager.  
3852
3853         * src/nm-manager.c
3854           src/nm-manager.h
3855                 - (remove_one_device): consolidate device removals here
3856                 - (dispose): use remove_one_device()
3857                 - (nm_manager_get_device_by_udi): make static
3858                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3859                         manager for devices at startup or wakeup time
3860                 - (nm_manager_new): create and monitor the HAL manager
3861                 - (hal_manager_udi_added_cb): new function; do what
3862                         nm_manager_add_device() used to do when signalled by the hal manager
3863                 - (hal_manager_udi_removed_cb): new function; do what
3864                         nm_manager_remove_device() used to do when signalled by the hal
3865                         manager
3866                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3867                         hal manager
3868                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3869                         in our device list that aren't known to HAL
3870                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3871                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3872                         commits ago
3873                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3874                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3875                    nm_manager_wireless_hardware_enabled,
3876                    nm_manager_set_wireless_hardware_enabled): remove, unused
3877
3878 2008-04-28  Dan Williams  <dcbw@redhat.com>
3879
3880         Fix the device up/down ambiguities.  Up/down state used to be a
3881         conglomeration of hardware state (IFF_UP) and any device-specific things
3882         (supplicant, periodic timers, etc) that the device used to indicate
3883         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3884         reason, then the device specific stuff wouldn't get run, and the device
3885         would be stuck.
3886
3887         * src/nm-device.c
3888           src/nm-device.h
3889                 - Create hw_is_up, hw_bring_up, and hw_take_down
3890                 - Rename bring_down -> take_down
3891                 - (real_hw_is_up): check interface flags for IFF_UP
3892                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3893                 - (nm_device_is_up): make static; only used locally
3894                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3895                         if the device is already up; if the device isn't up, bring it up
3896                 - (nm_device_hw_take_down): just take down hardware
3897                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3898                 - (nm_device_take_down): always deactivate device when called; always
3899                         try to take hardware down too
3900                 - (nm_device_state_changed): take device down when entering unmanaged
3901                         state from a higher state
3902
3903         * src/nm-device-802-11-wireless.c
3904                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3905                         check IFF_UP really
3906                 - (real_take_down, supplicant_iface_state_cb_handler, 
3907                    supplicant_iface_connection_state_cb_handler,
3908                    supplicant_mgr_state_cb_handler): fix some messages
3909
3910         * src/nm-device-802-3-ethernet.c
3911                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3912                         check IFF_UP really
3913
3914 2008-04-28  Dan Williams  <dcbw@redhat.com>
3915
3916         * src/nm-manager.c
3917           src/nm-manager.h
3918                 - (nm_manager_error_get_type): add new error
3919                 - (nm_manager_remove_device): don't bother taking down the device here,
3920                         the state change from unmanaging the device will do it
3921                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3922                         uses it; when going to sleep, just unmanage the device instead of
3923                         taking it down, because stuff will cleaned up correctly when the
3924                         device gets unmanaged
3925
3926 2008-04-28  Dan Williams  <dcbw@redhat.com>
3927
3928         * src/nm-hal-manager.c
3929                 - (add_initial_devices): convert to a GSourceFunc prototype
3930                 - (nm_manager_state_changed): when coming out of sleep, punt the
3931                         device re-addition to an idle handler to let D-Bus events go out
3932                         first, fixing a potential dbus-glib assert if the old device was
3933                         not yet disposed (due to references held while emitting the D-Bus
3934                         signals) but the new device was found, because the mainloop didn't
3935                         run between signal emission and add_initial_devices()
3936
3937 2008-04-27  Dan Williams  <dcbw@redhat.com>
3938
3939         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3940
3941         * initscript/paldo/NetworkManager.in
3942           initscript/SUSE/networkmanager.in
3943                 - Remove last bits of dhcdbd
3944
3945 2008-04-27  Dan Williams  <dcbw@redhat.com>
3946
3947         * src/nm-device-802-11-wireless.c
3948                 - (link_timeout_cb): don't ask for secrets when disconnected during
3949                         association/authentication phase, drivers are still just too crappy
3950
3951 2008-04-27  Dan Williams  <dcbw@redhat.com>
3952
3953         * Makefile.am
3954           configure.in
3955           dispatcher-daemon/Makefile.am
3956           dispatcher-daemon/NetworkManagerDispatcher.c
3957           initscript/Arch/Makefile.am
3958           initscript/Arch/networkmanager-dispatcher.in
3959           initscript/Gentoo/Makefile.am
3960           initscript/Gentoo/NetworkManagerDispatcher.in
3961           initscript/Mandriva/Makefile.am
3962           initscript/Mandriva/networkmanagerdispatcher.in
3963           initscript/RedHat/Makefile.am
3964           initscript/RedHat/NetworkManagerDispatcher.in
3965           initscript/SUSE/Makefile.am
3966           initscript/SUSE/networkmanager-dispatcher.in
3967           initscript/Slackware/Makefile.am
3968           initscript/Slackware/rc.networkmanager-dispatcher.in
3969           initscript/paldo/Makefile.am
3970           initscript/paldo/NetworkManagerDispatcher.in
3971           man/Makefile.am
3972           man/NetworkManagerDispatcher.8.in
3973                 - Remove the dispatcher daemon
3974
3975 2008-04-27  Dan Williams  <dcbw@redhat.com>
3976
3977         * callouts/Makefile.am
3978           callouts/nm-dispatcher-action.c
3979           callouts/nm-dispatcher-action.h
3980           callouts/nm-dispatcher.conf
3981           callouts/nm-dispatcher.xml
3982           callouts/org.freedesktop.nm_dispatcher.service
3983                 - Re-implement the dispatcher as a system-bus activated service that
3984                         NM calls on-demand, rather than an always running daemon
3985
3986         * src/Makefile.am
3987                 - Add callouts dir to includes to pick up dispatcher defines
3988
3989         * src/nm-device.c
3990                 - (nm_device_state_changed): call dispatcher on device activated/
3991                         deactivated
3992
3993         * src/vpn-manager/nm-vpn-connection.c
3994                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3995                         go up and down
3996
3997         * src/NetworkManagerUtils.c
3998           src/NetworkManagerUtils.h
3999                 - (nm_utils_call_dispatcher): helper to call dispatcher
4000
4001 2008-04-27  Dan Williams  <dcbw@redhat.com>
4002
4003         * src/NetworkManagerUtils.c
4004           src/NetworkManagerUtils.h
4005                 - remove unneeded includes
4006                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
4007                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
4008                    nm_timeval_cmp, nm_timeval_add): remove, unused
4009                 - clean up formatting
4010                 - (nm_spawn_process): de-uglify
4011
4012         * src/nm-device-802-11-wireless.c
4013                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
4014
4015 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
4016
4017         * initscript/Gentoo/NetworkManager.in:
4018                 Fix for starting the daemon.
4019
4020 2008-04-25  Dan Williams  <dcbw@redhat.com>
4021
4022         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4023
4024         * src/NetworkManagerSystem.c
4025                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
4026
4027 2008-04-25  Dan Williams  <dcbw@redhat.com>
4028
4029         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4030
4031         * src/NetworkManagerSystem.c
4032                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
4033                         implementation of nm_system_device_replace_default_route()
4034
4035         * src/NetworkManagerPolicy.c
4036                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
4037
4038         * src/backends/NetworkManagerArch.c
4039           src/backends/NetworkManagerDebian.c
4040           src/backends/NetworkManagerFrugalware.c
4041           src/backends/NetworkManagerGeneric.c
4042           src/backends/NetworkManagerGeneric.h
4043           src/backends/NetworkManagerGentoo.c
4044           src/backends/NetworkManagerMandriva.c
4045           src/backends/NetworkManagerPaldo.c
4046           src/backends/NetworkManagerRedHat.c
4047           src/backends/NetworkManagerSlackware.c
4048           src/backends/NetworkManagerSuSE.c
4049                 - (nm_system_device_replace_default_route): remove
4050
4051 2008-04-25  Dan Williams  <dcbw@redhat.com>
4052
4053         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4054
4055         * src/NetworkManagerSystem.c
4056                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4057                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4058                         replace nm_system_device_add_route_via_device_with_iface() in the
4059                         backends
4060
4061         * src/backends/NetworkManagerArch.c
4062           src/backends/NetworkManagerDebian.c
4063           src/backends/NetworkManagerFrugalware.c
4064           src/backends/NetworkManagerGeneric.c
4065           src/backends/NetworkManagerGeneric.h
4066           src/backends/NetworkManagerGentoo.c
4067           src/backends/NetworkManagerMandriva.c
4068           src/backends/NetworkManagerPaldo.c
4069           src/backends/NetworkManagerRedHat.c
4070           src/backends/NetworkManagerSlackware.c
4071           src/backends/NetworkManagerSuSE.c
4072                 - Remove nm_system_device_add_route_via_device_with_iface()
4073
4074 2008-04-25  Dan Williams  <dcbw@redhat.com>
4075
4076         * system-settings/plugins/ifcfg-fedora/parser.c
4077                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4078
4079 2008-04-24  Dan Williams  <dcbw@redhat.com>
4080
4081         * dispatcher-daemon/NetworkManagerDispatcher.c
4082                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4083
4084 2008-04-24  Dan Williams  <dcbw@redhat.com>
4085
4086         * initscript/RedHat/NetworkManager.in
4087           initscript/RedHat/NetworkManagerDispatcher.in
4088                 - Be active at runlevel 2
4089                 - Adjust priorities earlier
4090
4091 2008-04-22  Dan Williams  <dcbw@redhat.com>
4092
4093         * src/NetworkManagerPolicy.c
4094                 - (update_routing_and_dns): when checking for a gateway, look at the
4095                         composite IP4 config, not the connection's ip4-config setting, which
4096                         doesn't include DHCP-returned information
4097
4098 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4099
4100         Implement GKeyFile system settings plugin.
4101         Implement writing system settings (currently supported only by GKeyFile plugin).
4102
4103         * system-settings/src/main.c: 
4104         * system-settings/src/dbus-settings.c: Move the communication with plugins
4105         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4106         plugins for adding/updating/removing connections.
4107
4108         * system-settings/src/nm-system-config-interface.c
4109         (nm_system_config_interface_add_connection): Implement
4110         (nm_system_config_interface_update_connection): Implement.
4111         (nm_system_config_interface_remove_connection): Implement.
4112
4113         * system-settings/plugins/keyfile/Makefile.am:
4114         * system-settings/plugins/keyfile/plugin.[ch]:
4115         * system-settings/plugins/keyfile/writer.[ch]:
4116         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4117
4118         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4119
4120         * configure.in: Generate GKeyFile Makefile.
4121
4122         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4123         corruption, need to duplicate the returned string.
4124         (impl_exported_connection_update): Implement.
4125         (impl_exported_connection_delete): Implement.
4126
4127         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4128
4129         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4130
4131 2008-04-22  Dan Williams  <dcbw@redhat.com>
4132
4133         Patch from Charles R. Anderson (cra@wpi.edu)
4134
4135         * src/NetworkManagerPolicy.c
4136                 - (update_routing_and_dns): don't select devices without a gateway
4137                         as having the default route (rh #437338)
4138
4139 2008-04-21  Dan Williams  <dcbw@redhat.com>
4140
4141         * src/nm-activation-request.c
4142           src/nm-activation-request.h
4143                 - (dispose): ensure to disconnect from the device's state-changed signal
4144                         when appropriate so the signal doesn't get handled by an already
4145                         disposed NMActRequest
4146                 - (device_state_changed): update is_default here too just to make sure
4147                         default is only True when the child device is activated
4148                 - (nm_act_request_set_default): new function
4149
4150         * src/NetworkManagerPolicy.c
4151                 - (update_routing_and_dns): set 'default' on the active connection which
4152                         has the default route and DNS
4153
4154 2008-04-21  Dan Williams  <dcbw@redhat.com>
4155
4156         * src/NetworkManagerPolicy.c
4157                 - (device_state_changed): update routing and DNS when a device goes
4158                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4159
4160 2008-04-21  Dan Williams  <dcbw@redhat.com>
4161
4162         * include/NetworkManager.h
4163                 - Add NMActiveConnectionState enum
4164
4165         * introspection/nm-active-connection.xml
4166           introspection/nm-vpn-connection.xml
4167                 - Add 'State' property for overall active connection state
4168                 - Add 'Default' property, when True means this active connection
4169                         has the default route
4170                 - Add PropertyChanged signals so changes actually go out over the bus
4171
4172         * src/nm-active-connection.h
4173                 - Add defines for State & Default properties
4174
4175         * src/nm-activation-request.c
4176                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4177                         signal to determine active connection state
4178
4179         * src/vpn-manager/nm-vpn-connection.c
4180           src/vpn-manager/nm-vpn-connection.h
4181           src/vpn-manager/nm-vpn-manager.c
4182           src/vpn-manager/nm-vpn-service.c
4183                 - Rename old 'state' to 'vpn-state'
4184                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4185                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4186                         'vpn-state-changed' signal
4187
4188         * libnm-glib/nm-active-connection.c
4189           libnm-glib/nm-active-connection.h
4190                 - Add new 'state' and 'default' properties and accessors
4191
4192         * libnm-glib/nm-vpn-connection.c
4193           libnm-glib/nm-vpn-connection.h
4194                 - Rename old 'state' property to 'vpn-state'
4195                 - Add new 'state' and 'default' properties and accessors
4196
4197 2008-04-21  Dan Williams  <dcbw@redhat.com>
4198
4199         * src/nm-ip4-config.c
4200                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4201                         not specified (rh #443474)
4202
4203 2008-04-20  Dan Williams  <dcbw@redhat.com>
4204
4205         * src/NetworkManagerUtils.c
4206           src/NetworkManagerUtils.h
4207                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4208                         NMSettingIP4Config to an NMIP4Config object
4209
4210         * src/nm-device.c
4211                 - (merge_ip4_config): move to NetworkManagerUtils.c
4212
4213         * src/vpn-manager/nm-vpn-connection.c
4214                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4215                         too
4216
4217 2008-04-18  Dan Williams  <dcbw@redhat.com>
4218
4219         * libnm-util/nm-setting-ppp.c
4220           libnm-util/nm-setting-ppp.h
4221                 - Add 'no-vj-comp' option for TCP header compression
4222                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4223                         uint32
4224
4225 2008-04-18  Dan Williams  <dcbw@redhat.com>
4226
4227         * libnm-util/nm-setting-ppp.c
4228           libnm-util/nm-setting-ppp.h
4229           src/ppp-manager/nm-ppp-manager.c
4230                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4231
4232 2008-04-18  Dan Williams  <dcbw@redhat.com>
4233
4234         * libnm-util/nm-setting-ppp.c
4235           libnm-util/nm-setting-ppp.h
4236           src/ppp-manager/nm-ppp-manager.c
4237                 - Remove the 'usepeerdns' option and always request DNS servers from
4238                         the PPP server; the connection chooses to use/override/ignore the
4239                         DNS servers returned from the PPP server
4240
4241 2008-04-18  Dan Williams  <dcbw@redhat.com>
4242
4243         * libnm-util/nm-setting-ppp.c
4244           libnm-util/nm-setting-ppp.h
4245           src/ppp-manager/nm-ppp-manager.c
4246                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4247                         it seems to have been an erroneous addition to the PPTP plugin in
4248                         the first place (from which the ppp-manager is derived)
4249
4250 2008-04-17  Dan Williams  <dcbw@redhat.com>
4251
4252         * libnm-util/nm-setting-pppoe.c
4253                 - (verify): require a PPP setting too
4254
4255         * src/ppp-manager/nm-ppp-manager.c
4256                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4257                         segfaulting
4258
4259 2008-04-17  Dan Williams  <dcbw@redhat.com>
4260
4261         * src/nm-device.c
4262                 - (nm_device_state_changed): do deactivation and and promotion to
4263                         unavailable here, so that the device gets cleaned up before the
4264                         manager runs and starts emitting signals; do the
4265                         FAILED->DISCONNECTED transition from an idle handler rather than
4266                         immediately to guard against recursion
4267                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4268                         FAILED->DISCONNECTED handler if it's scheduled
4269
4270 2008-04-17  Dan Williams  <dcbw@redhat.com>
4271
4272         * src/nm-device-802-11-wireless.c
4273                 - (state_changed_cb): clear AP list when device transitions to
4274                         unavailable or unmanaged
4275                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4276                         since this is already done in device_cleanup()
4277                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4278                         isn't available or managed
4279                 - (device_cleanup): use remove_all_aps()
4280                 - (remove_all_aps): consolidate code removing all APs
4281
4282 2008-04-17  Dan Williams  <dcbw@redhat.com>
4283
4284         * src/nm-serial-device.c
4285           src/nm-serial-device.h
4286                 - (wait_for_reply_got_data): break input into lines, and search each
4287                         line for responses _and_ terminator strings; also make sure that
4288                         the read loop doesn't continue after the timeout is supposed to fire
4289                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4290
4291         * src/nm-gsm-device.c
4292           src/nm-cdma-device.c
4293                 - Send terminators to nm_serial_device_wait_for_reply()
4294
4295 2008-04-16  Dan Williams  <dcbw@redhat.com>
4296
4297         Patch from 陈鑫 <znscnchen@gmail.com>
4298
4299         * src/ppp-manager/nm-pppd-plugin.c
4300                 - (get_credentials): return correct value for success; handle case where
4301                         pppd just does some checking but doesn't want a password
4302                 - (plugin_init): make CHAP work too
4303
4304 2008-04-16  Dan Williams  <dcbw@redhat.com>
4305
4306         Patch from 陈鑫 <znscnchen@gmail.com>
4307
4308         * src/ppp-manager/nm-ppp-manager.c
4309                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4310
4311 2008-04-16  Dan Williams  <dcbw@redhat.com>
4312
4313         Patch from 陈鑫 <znscnchen@gmail.com>
4314
4315         * src/nm-device-802-3-ethernet.c
4316                 - (real_deactivate_quickly): clear the IP interface name on
4317                         deactivation, otherwise the wrong interface might get used later
4318                         for routing and IP management
4319
4320 2008-04-15  Dan Williams  <dcbw@redhat.com>
4321
4322         * libnm-glib/nm-device.c
4323                 - (get_product_and_vendor): handle serial devices correctly
4324                 - (nm_device_update_description): pass device to get_product_and_vendor()
4325
4326 2008-04-15  Dan Williams  <dcbw@redhat.com>
4327
4328         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4329
4330         * src/NetworkManagerSystem.h
4331           src/backends/NetworkManagerArch.c
4332           src/backends/NetworkManagerDebian.c
4333           src/backends/NetworkManagerFrugalware.c
4334           src/backends/NetworkManagerGeneric.c
4335           src/backends/NetworkManagerGeneric.h
4336           src/backends/NetworkManagerGentoo.c
4337           src/backends/NetworkManagerMandriva.c
4338           src/backends/NetworkManagerPaldo.c
4339           src/backends/NetworkManagerRedHat.c
4340           src/backends/NetworkManagerSlackware.c
4341           src/backends/NetworkManagerSuSE.c
4342           src/nm-device.c
4343                 - (nm_generic_device_add_ip6_link_address,
4344                    nm_system_device_add_ip6_link_address): remove
4345
4346 2008-04-15  Dan Williams  <dcbw@redhat.com>
4347
4348         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4349
4350         * src/backends/NetworkManagerArch.c
4351           src/backends/NetworkManagerDebian.c
4352           src/backends/NetworkManagerFrugalware.c
4353           src/backends/NetworkManagerGeneric.c
4354           src/backends/NetworkManagerGeneric.h
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           src/NetworkManagerSystem.h
4362                 - flush_routes -> flush_ip4_routes
4363                 - flush_addresses -> flush_ip4_addresses
4364
4365         * src/NetworkManagerSystem.c
4366           src/nm-device.c
4367           src/vpn-manager/nm-vpn-connection.c
4368                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4369
4370 2008-04-15  Dan Williams  <dcbw@redhat.com>
4371
4372         Remove exposure of wireless-tools mode types in the API.
4373
4374         * include/NetworkManager.h
4375                 - Define NM80211Mode enum
4376
4377         * introspection/generic-types.xml
4378                 - Describe NM_802_11_MODE enum
4379                 - Remove IW_MODE_* enum
4380
4381         * introspection/nm-access-point.xml
4382           libnm-glib/nm-access-point.c
4383           libnm-glib/nm-access-point.h
4384                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4385
4386         * introspection/nm-device-802-11-wireless.xml
4387           libnm-glib/nm-device-802-11-wireless.c
4388           libnm-glib/nm-device-802-11-wireless.h
4389                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4390
4391         * libnm-util/nm-setting-wireless.c
4392           src/NetworkManagerAP.c
4393           src/NetworkManagerAP.h
4394           src/nm-device-802-11-wireless.c
4395           src/nm-device-802-11-wireless.h
4396           test/nm-tool.c
4397                 - Use NM80211Mode not IW_MODE_*
4398
4399 2008-04-15  Dan Williams  <dcbw@redhat.com>
4400
4401         Enhance nm-online based on a patch from Bill Nottingham.
4402
4403         * test/nm-online.c
4404                 - Add a '-q' option
4405                 - Add help messages and option summary
4406                 - Add long-format options
4407                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4408
4409 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4410
4411         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4412
4413         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4414
4415 2008-04-15  Dan Williams  <dcbw@redhat.com>
4416
4417         * nm-setting-ip4-config.c
4418                 - (ip4_addresses_from_gvalue): handle NULL address array
4419
4420         * nm-setting-8021x.c
4421                 - (verify_tls, verify_ttls): warn on failed verification
4422
4423 2008-04-10  Dan Williams  <dcbw@redhat.com>
4424
4425         * src/nm-gsm-device.c
4426                 - (automatic_registration): accept "+CREG: 0,0"
4427                 - (automatic_registration_response): fail on "+CREG: 0,0"
4428
4429 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4430
4431         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4432
4433 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4434
4435         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4436         Make it compile again by commenting out broken code that at first didn't work and
4437         now didn't compile either.
4438
4439 2008-04-08  Dan Williams  <dcbw@redhat.com>
4440
4441         * libnm-glib/nm-object-cache.c
4442           libnm-glib/nm-settings.c
4443           src/dhcp-manager/nm-dhcp-manager.c
4444           system-settings/plugins/ifcfg-fedora/plugin.c
4445           system-settings/plugins/ifcfg-suse/plugin.c
4446           system-settings/src/nm-system-config-hal-manager.c
4447           libnm-util/nm-utils.c
4448                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4449                         not threadsafe anyway
4450
4451 2008-04-08  Dan Williams  <dcbw@redhat.com>
4452
4453         * system-settings/src/main.c
4454                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4455                         callbacks take a device type too
4456
4457 2008-04-08  Dan Williams  <dcbw@redhat.com>
4458
4459         The system settings service will now create a new default DHCP connection
4460         for wired devices that have no existing applicable connection.
4461
4462         * system-settings/src/nm-system-config-hal-manager.c
4463           system-settings/src/nm-system-config-hal-manager.h
4464                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4465
4466         * system-settings/src/dbus-settings.c
4467           system-settings/src/dbus-settings.h
4468                 - (nm_sysconfig_settings_get_connections): new function
4469                 - (nm_sysconfig_settings_is_device_managed): new function
4470
4471         * system-settings/src/main.c
4472                 - (load_stuff): check for wired devices that need a default connection
4473                 - (get_details_for_udi): get interface and MAC address from HAL
4474                 - (add_default_dhcp_connection): add a default connection for a wired
4475                         device if needed
4476                 - (device_added_cb, device_removed_cb): do the right thing with
4477                         wired devices and their default connections on HAL device events
4478
4479 2008-04-07  Dan Williams  <dcbw@redhat.com>
4480
4481         * libnm-glib/nm-device.c
4482           libnm-glib/nm-device.h
4483                 - Proxy the 'managed' property
4484
4485 2008-04-07  Dan Williams  <dcbw@redhat.com>
4486
4487         * src/nm-gsm-device.c
4488           src/nm-cdma-device.c
4489                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4490                         handler to transition to DISCONNECTED
4491
4492 2008-04-07  Dan Williams  <dcbw@redhat.com>
4493
4494         Patch from Bill Nottingham
4495
4496         * dispatcher-daemon/NetworkManagerDispatcher.c
4497                 - ignore backup/packaging crufy (rh #440143)
4498
4499 2008-04-07  Dan Williams  <dcbw@redhat.com>
4500
4501         * include/NetworkManager.h
4502                 - Remove the DOWN and CANCELLED device states
4503                 - Add UNMANAGED and UNAVAILABLE device states
4504                 - Document the device states
4505
4506         * introspection/nm-device.xml
4507           src/nm-device-interface.c
4508           src/nm-device-interface.h
4509                 - Add the 'managed' property
4510
4511         * test/nm-tool.c
4512                 - (detail_device): print out device state
4513
4514         * src/NetworkManagerSystem.h
4515           src/backends/NetworkManagerArch.c
4516           src/backends/NetworkManagerDebian.c
4517           src/backends/NetworkManagerFrugalware.c
4518           src/backends/NetworkManagerGentoo.c
4519           src/backends/NetworkManagerMandriva.c
4520           src/backends/NetworkManagerPaldo.c
4521           src/backends/NetworkManagerRedHat.c
4522           src/backends/NetworkManagerSlackware.c
4523           src/backends/NetworkManagerSuSE.c
4524                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4525                    nm_system_device_free_system_config): remove; they were unused and
4526                         their functionality should be re-implemented in each distro's
4527                         system settings service plugin 
4528
4529         * src/nm-gsm-device.c
4530           src/nm-gsm-device.h
4531           src/nm-cdma-device.c
4532           src/nm-cdma-device.h
4533                 - (*_new): take the 'managed' argument
4534
4535         * src/nm-device.c
4536                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4537                 - (nm_device_init): start in unmanaged state, not disconnected
4538                 - (constructor): don't start device until the system settings service
4539                         has had a chance to figure out if the device is managed or not
4540                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4541                         don't set device state here, let callers handle that as appropriate
4542                 - (nm_device_dispose): don't touch the device if it's not managed
4543                 - (set_property, get_property, nm_device_class_init): implement the
4544                         'managed' property
4545                 - (nm_device_state_changed): bring the device up if its now managed,
4546                         and deactivate it if it used to be active
4547                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4548                         with the managed state
4549
4550         * src/nm-hal-manager.c
4551                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4552                         take initial managed state and pass it along to device constructors
4553                 - (create_device_and_add_to_list): get managed state and pass to
4554                         type creators
4555
4556         * src/nm-device-802-11-wireless.c
4557                 - (real_can_activate): fold in most of
4558                         nm_device_802_11_wireless_can_activate()
4559                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4560                 - (link_timeout_cb): instead of deactivating, change device state and
4561                         let the device state handler to it
4562                 - (real_update_hw_address): clean up
4563                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4564                         handler to transition to DISCONNECTED if the device isn't rfkilled
4565
4566         * src/nm-device-802-3-ethernet.c
4567                 - (set_carrier): move above callers and get rid of prototype
4568                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4569                         idle handler to transition to DISCONNECTED if the device has a
4570                         carrier
4571                 - (real_update_hw_address): clean up
4572                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4573                         deactivation directly as deactivation doesn't change state anymore
4574
4575         * src/NetworkManagerPolicy.c
4576                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4577                         the NMManager and wireless devices work that out themselves now
4578                 - (device_state_changed): change to a switch and update for new device
4579                         states
4580                 - (device_carrier_changed): remove; device handles this now through
4581                         state changes
4582                 - (device_added): don't care about carrier any more; the initial
4583                         activation check will happen when the device transitions to
4584                         DISCONNECTED
4585
4586         * src/nm-manager.c
4587                 - (dispose): clear unmanaged devices
4588                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4589                         the managed property on each device when needed
4590                 - (system_settings_properties_changed_cb): handle signals from the
4591                         system settings service
4592                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4593                         getting the unmanaged device list method call
4594                 - (query_unmanaged_devices): ask the system settings service for its
4595                         list of unmanaged devices
4596                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4597                         devices
4598                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4599                         devices directly and let them handle the necessary state transitions
4600                 - (manager_device_state_changed): update for new device states
4601                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4602                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4603                 - (nm_manager_activate_connection): return error if the device is
4604                         unmanaged
4605                 - (nm_manager_sleep): handle new device states correctly; don't change
4606                         the state of unavailable/unmanaged devices
4607
4608         * libnm-glib/nm-device-802-11-wireless.c
4609                 - (state_changed_cb): update for new device states
4610
4611 2008-04-07  Dan Williams  <dcbw@redhat.com>
4612
4613         * marshallers/nm-marshal.list
4614                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4615
4616 2008-04-07  Dan Williams  <dcbw@redhat.com>
4617
4618         * system-settings/src/main.c
4619                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4620                         plugins to the dbus settings object
4621                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4622                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4623                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4624                 - (main): switch default logging to syslog with a 'debug' option to
4625                         output to console; start up the HAL manager
4626
4627 2008-04-07  Dan Williams  <dcbw@redhat.com>
4628
4629         * introspection/nm-settings-system.xml
4630           introspection/Makefile.am
4631                 - Define the unmanaged devices interface for the system settings service
4632
4633         * system-settings/src/nm-system-config-hal-manager.c
4634           system-settings/src/nm-system-config-hal-manager.h
4635           system-settings/src/nm-system-config-hal-manager-private.h
4636           system-settings/src/Makefile.am
4637                 - Add a lightweight HAL manager object for tracking network devices for
4638                         the purpose of determining unmanaged devices and which devices need
4639                         the default DHCP connections
4640
4641         * system-settings/src/nm-system-config-interface.c
4642           system-settings/src/nm-system-config-interface.h
4643                 - (nm_system_config_interface_init): add the HAL manager as an argument
4644                 - (nm_system_config_interface_get_unmanaged_devices): implement
4645                 - Define 'unmanaged-devices-changed' signal
4646
4647         * system-settings/src/dbus-settings.c
4648           system-settings/src/dbus-settings.h
4649                 - Implement the unmanaged devices interface; some cleanups
4650
4651         * system-settings/plugins/ifcfg-suse/plugin.c
4652                 - Fixup for plugin interface changes
4653
4654         * system-settings/plugins/ifcfg-fedora/plugin.c
4655                 - (get_ether_device_udi): new function; find the device that has
4656                         a specified MAC address and return its UDI
4657                 - (get_udi_for_connection): new function; try to find the specific
4658                         device a connection is locked to, if any
4659                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4660                         response to HAL events
4661                 - (get_unmanaged_devices): new function; return unmanaged device list
4662                 - (build_one_connection): set the connection's locked device, if any
4663                 - (write_auto_wired_connection): remove
4664                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4665                 - (handle_connection_changed): alert listeners that the unmanaged device
4666                         list has changed
4667                 - (init): fixup for plugin interface changes, implement unmanaged devices
4668
4669         * system-settings/plugins/ifcfg-fedora/parser.c
4670           system-settings/plugins/ifcfg-fedora/parser.h
4671                 - (connection_data_free): clean up connection UDI
4672
4673 2008-04-07  Dan Williams  <dcbw@redhat.com>
4674
4675         * system-settings/plugins/ifcfg-fedora/parser.c
4676                 - (make_ip4_setting): fix parsing of DNS servers
4677
4678 2008-04-05  Dan Williams  <dcbw@redhat.com>
4679
4680         * Makefile.am
4681           configure.in
4682           marshallers/Makefile.am
4683           marshallers/nm-marshal-main.c
4684           marshallers/nm-marshal.list
4685                 - Consolidate marshallers
4686
4687         * libnm-glib/nm-marshal-main.c
4688           libnm-glib/nm-marshal.list
4689           src/marshallers/Makefile.am
4690           src/marshallers/nm-marshal-main.c
4691           src/marshallers/nm-marshal.list
4692                 - Remove
4693
4694         * libnm-glib/Makefile.am
4695           src/Makefile.am
4696           src/dhcp-manager/Makefile.am
4697           src/ppp-manager/Makefile.am
4698           src/supplicant-manager/Makefile.am
4699           src/vpn-manager/Makefile.am
4700                 - Use consolidated marshallers
4701
4702 2008-04-04  Dan Williams  <dcbw@redhat.com>
4703
4704         * src/nm-hal-manager.c
4705           src/nm-hal-manager.h
4706                 - (hal_init): don't look for hardware here
4707                 - (nm_hal_manager_start): new function; look for hardware here instead,
4708                         which can be done at a later time than hal_init()
4709
4710         * src/NetworkManager.c
4711                 - (main): start HAL manager after entering the main loop
4712
4713 2008-04-03  Dan Williams  <dcbw@redhat.com>
4714
4715         * libnm-glib/nm-settings.c
4716           libnm-glib/nm-settings.h
4717             - (nm_exported_connection_get_id): new function
4718                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4719
4720 2008-04-02  Dan Williams  <dcbw@redhat.com>
4721
4722         * src/nm-device-interface.c
4723           src/nm-device-interface.h
4724           src/nm-device.c
4725           src/nm-device.h
4726                 - Rename check_connection_conflicts() to check_connection_compatible()
4727
4728         * src/nm-device-802-11-wireless.c
4729                 - (real_check_connection_conflicts): remove
4730                 - (real_check_connection_compatible): implement; match MAC address
4731
4732         * src/nm-device-802-3-ethernet.c
4733                 - (real_check_connection_conflicts): remove
4734                 - (real_check_connection_compatible): implement; match MAC address
4735                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4736
4737         * src/nm-manager.c
4738                 - (check_connection_allowed): remove; unused until PolicyKit integration
4739                 - (internal_activate_device): check whether the connection is compatible
4740                         with the device before trying to activate it
4741
4742 2008-04-02  Dan Williams  <dcbw@redhat.com>
4743
4744         * system-settings/plugins/ifcfg-fedora/parser.c
4745                 - (read_mac_address): new function; read in MAC address and stuff it
4746                         into the connection
4747                 - (add_one_wep_key): remove debug spew
4748                 - (make_wireless_security_setting): validate the default TX key; don't
4749                         add the wireless-security setting if the connection doesn't need
4750                         security; don't leak the keys shvarFile on error cases
4751                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4752                         address
4753
4754 2008-04-02  Dan Williams  <dcbw@redhat.com>
4755
4756         * libnm-util/nm-setting-connection.c
4757           libnm-util/nm-setting-connection.h
4758                 - (set_property, get_property, nm_setting_connection_class_init): remove
4759                         the 'lockdown' property; it's functionality will be replaced by
4760                         PolicyKit instead
4761
4762 2008-04-01  Dan Williams  <dcbw@redhat.com>
4763
4764         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4765
4766         * configure.in
4767           initscript/Makefile.am
4768           initscript/Mandriva/Makefile.am
4769           initscript/Mandriva/networkmanager.in
4770           initscript/Mandriva/networkmanagerdispatcher.in
4771           src/backends/Makefile.am
4772           src/backends/NetworkManagerMandriva.c
4773           system-settings/plugins/Makefile.am
4774                 - Add Mandriva support
4775
4776 2008-03-31  Dan Williams  <dcbw@redhat.com>
4777
4778         * src/vpn-manager/nm-vpn-service.c
4779                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4780                         errors can be passed back to the caller; also no longer scheduled
4781                         as an idle handler, but called directly; and bump up VPN service
4782                         spawn timeout, 2s is really short
4783                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4784                         but call it directly so that errors are reported on return from
4785                         ActivateConnection() and don't get lost.  If scheduled as an idle
4786                         handler, clients don't have the time to query NM for the new VPN
4787                         connection's properties before the VPN connection is torn down again
4788                         if the service couldn't be launched, and therefore launch errors
4789                         get lost.
4790
4791 2008-03-31  Dan Williams  <dcbw@redhat.com>
4792
4793         * src/vpn-manager/nm-vpn-connection.c
4794                 - (device_state_changed): send correct state on device failure too
4795                 - (plugin_state_changed): failed state means unexpected disconnection,
4796                         thus if the service goes away while the VPN connection is activated
4797                         that's a failure too
4798
4799 2008-03-31  Dan Williams  <dcbw@redhat.com>
4800
4801         * src/vpn-manager/nm-vpn-manager.c
4802           src/vpn-manager/nm-vpn-manager.h
4803                 - Make VPNManager errors more available; add a service-start-failed error
4804
4805 2008-03-31  Dan Williams  <dcbw@redhat.com>
4806
4807         * libnm-glib/nm-client.c
4808           libnm-glib/nm-client.h
4809                 - (activate_cb): pass the new active connection to callback; fix
4810                         message when no callback is specified
4811
4812 2008-03-30  Dan Williams  <dcbw@redhat.com>
4813
4814         * libnm-util/nm-setting-wireless-security.c
4815                 - (need_secrets): only require key0 if the transmit key index is also
4816                         0
4817                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4818
4819 2008-03-29  Dan Williams  <dcbw@redhat.com>
4820
4821         * libnm-util/nm-setting-8021x.c
4822           libnm-util/nm-setting-ip4-config.c
4823           libnm-util/nm-setting-vpn-properties.c
4824           libnm-util/nm-setting-vpn.c
4825           libnm-util/nm-setting-wireless-security.c
4826           libnm-util/nm-setting-wireless.c
4827           libnm-util/nm-utils.c
4828           src/dhcp-manager/nm-dhcp-manager.c
4829           src/nm-activation-request.c
4830           src/nm-ip4-config.c
4831           src/nm-manager.c
4832           src/nm-properties-changed-signal.c
4833           src/ppp-manager/nm-pppd-plugin.c
4834           src/supplicant-manager/nm-supplicant-interface.c
4835           src/vpn-manager/nm-vpn-connection.c
4836                 - consistently use nm-dbus-glib-types.h
4837
4838 2008-03-29  Dan Williams  <dcbw@redhat.com>
4839
4840         * src/vpn-manager/nm-vpn-connection.c
4841                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4842                         not string
4843
4844         * src/nm-activation-request.c
4845                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4846                         not string
4847
4848 2008-03-29  Dan Williams  <dcbw@redhat.com>
4849
4850         * libnm-glib/nm-device-802-11-wireless.c
4851                 - (access_point_added_proxy): create new APs if not found
4852
4853 2008-03-29  Dan Williams  <dcbw@redhat.com>
4854
4855         * libnm-glib/nm-client.c
4856                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4857                         before freeing them
4858
4859 2008-03-29  Dan Williams  <dcbw@redhat.com>
4860
4861         * system-settings/plugins/ifcfg-fedora/parser.c
4862                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4863                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4864
4865 2008-03-29  Dan Williams  <dcbw@redhat.com>
4866
4867         * system-settings/plugins/ifcfg-fedora/parser.c
4868                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4869
4870 2008-03-27  Dan Williams  <dcbw@redhat.com>
4871
4872         * nm-object.c
4873                 - (nm_object_queue_notify): don't notify multiple times for the same
4874                         property
4875
4876         * nm-object-private.h
4877                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4878                         if it has zero elements
4879
4880         * nm-ip4-config.c
4881                 - (finalize): use g_ptr_array_foreach() when freeing domains
4882                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4883
4884         * nm-active-connection.c
4885                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4886
4887         * nm-device-802-11-wireless.c
4888           nm-device-802-11-wireless.h
4889                 - (nm_device_802_11_wireless_get_access_points): return const; use
4890                         handle_ptr_array_return()
4891
4892         * nm-types.c
4893                 - (nm_object_array_demarshal): always create an array, even of length
4894                         zero, to distinguish between "NM returned no items" and "haven't
4895                         asked NM yet"
4896
4897         * nm-client.c
4898                 - (dispose): free active connections too
4899                 - (proxy_name_owner_changed): free active connections too when NM goes
4900                         away
4901                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4902                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4903
4904 2008-03-26  Dan Williams  <dcbw@redhat.com>
4905
4906         Rework VPN connection handling for a more consistent D-Bus API.  The
4907         VPNManager object has been removed, and active VPN connections are now the
4908         same as any other active connection.  The Manager object's ActivateConnection
4909         and DeactivateConnection methods are used to start and stop a VPN connection,
4910         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4911         When activating a VPN connection, pass the path of the active connection
4912         to which the VPN connection is tied in the 'specific_object' argument.
4913
4914         Consequently, the libnm-glib API has been reworked to match this arrangement,
4915         with the VPNManager object removed, and the NMVPNConnection objects now
4916         being subclasses of NMActiveConnection.
4917
4918 2008-03-25  Dan Williams  <dcbw@redhat.com>
4919
4920         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4921
4922         * initscript/Arch/networkmanager.in
4923           initscript/Arch/networkmanager-dispatcher.in
4924                 - Updates for Arch Linux (gnome.org #523701)
4925
4926 2008-03-25  Dan Williams  <dcbw@redhat.com>
4927
4928         * libnm-glib/nm-ip4-config.c
4929           libnm-glib/nm-active-connection.c
4930           libnm-glib/nm-access-point.c
4931                 - Use nm_object_queue_notify() instead of g_object_notify()
4932
4933         * libnm-glib/nm-device.c
4934                 - (demarshal_ip4_config): distinguish between successful but missing
4935                         ip4-config request, and unsuccessful and missing ip4-config request
4936                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4937                         path
4938                 - Use nm_object_queue_notify() instead of g_object_notify()
4939
4940         * libnm-glib/nm-device-802-11-wireless.c
4941                 - (demarshal_active_ap): distinguish between successfull but missing
4942                         active-ap request, and unsuccessful and missing active-ap request
4943                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4944                         code
4945                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4946                         for the NMClient to notify the device that wireless is disabled,
4947                         and therefore to clear the AP list and active AP
4948                 - Use nm_object_queue_notify() instead of g_object_notify()
4949
4950         * libnm-glib/nm-client.c
4951                 - (poke_wireless_devices_with_rf_status): new function
4952                 - (update_wireless_status): notify wireless devices of the rfkill status
4953                         so they can clean up if needed
4954                 - Use nm_object_queue_notify() instead of g_object_notify()
4955
4956 2008-03-25  Dan Williams  <dcbw@redhat.com>
4957
4958         * libnm-glib/nm-object.c
4959           libnm-glib/nm-object-private.h
4960                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4961                         signals to an idle handler
4962                 - (nm_object_get_property): add a timeout to the D-Bus method call
4963
4964 2008-03-25  Dan Williams  <dcbw@redhat.com>
4965
4966         * introspection/nm-device-cdma.xml
4967           introspection/nm-device-gsm.xml
4968           introspection/Makefile.am
4969           introspection/all.xml
4970                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4971
4972         * src/nm-gsm-device.h
4973           src/nm-gsm-device.c
4974           src/nm-cdma-device.h
4975           src/nm-cdma-device.c
4976           src/Makefile.am
4977                 - Implement PropertiesChanged signals
4978
4979         * libnm-glib/nm-cdma-device.c
4980           libnm-glib/nm-cdma-device.c
4981                 - Attach to PropertiesChanged signals
4982
4983 2008-03-24  Dan Williams  <dcbw@redhat.com>
4984
4985         * libnm-glib/nm-client.c
4986                 - (client_device_added_proxy): add new devices to the internal device
4987                         list so they appear to clients
4988
4989 2008-03-24  Dan Williams  <dcbw@redhat.com>
4990
4991         Massive fixup of libnm-glib to:
4992         a) have all objects (with the exception of VPN) cache their properties and
4993                 update them asynchronously on PropertiesChanged signals from NM
4994         b) return internal const data for most attributes/properties instead of
4995                 allocated values that the caller must free
4996         c) cache wrapped objects such that a given D-Bus path will always map to the
4997                 same GObject returned by libnm-glib
4998         d) remove a few signals and move them to GObject property notifications
4999         e) match recent NM D-Bus API changes for activation/deactivation
5000         f) remove some private functions from libnm-glib headers
5001
5002 2008-03-20  Dan Williams  <dcbw@redhat.com>
5003
5004         * src/nm-manager.c
5005                 - (nm_manager_update_state, manager_device_state_changed,
5006                    nm_manager_activate_device, connection_added_default_handler,
5007                    impl_manager_activate_connection, impl_manager_deactivate_connection):
5008                         queue PropertyChanged singals when the active connections change
5009
5010 2008-03-20  Dan Williams  <dcbw@redhat.com>
5011
5012         * introspection/nm-manager.xml
5013           introspection/nm-manager-client.xml
5014                 - (ActivateConnection): return the object path of the active connection
5015                         on success
5016                 - (GetActiveConnections): remove
5017                 - (DeactivateConnection): new function; deactivate a currently active
5018                         connection
5019                 - Add an ActiveConnections property which returns an array of
5020                         active connection object paths
5021
5022         * introspection/nm-device.xml
5023                 - (Deactivate): remove
5024
5025         * introspection/all.xml
5026                 - Add ActiveConnection introspection
5027
5028         * introspection/nm-active-connection.xml
5029                 - Add the ActiveConnection object
5030
5031         * include/NetworkManager.h
5032                 - Add the Connection.Active D-Bus interface
5033
5034         * src/nm-device-interface.c
5035                 - (impl_device_deactivate): remove
5036
5037         * src/nm-activation-request.c
5038           src/nm-activation-request.c
5039           src/Makefile.am
5040                 - Implement the Connection.Active D-Bus interface
5041
5042         * src/nm-manager.c
5043                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
5044                 - (nm_manager_activate_device): return the active connection path
5045                 - (connection_added_default_handler, impl_manager_activate_connection):
5046                         return the active connection to the caller
5047                 - (add_one_connection_element, impl_manager_get_active_connections):
5048                         remove
5049                 - (impl_manager_deactivate_connection): new function; deactivate an
5050                         active connection
5051
5052         * libnm-glib/nm-device.c
5053           libnm-glib/nm-device.h
5054                 - Remove Deactivate() function
5055
5056 2008-03-19  Dan Williams  <dcbw@redhat.com>
5057
5058         * introspection/nm-manager.xml
5059           introspection/nm-manager-client.xml
5060                 - Rename the ActivateDevice method to ActivateConnection to better
5061                         reflect it's usage; it's arguments get reordered a bit too
5062                 - Convert GetActiveConnections method return from a struct to a dict
5063
5064         * include/NetworkManager.h
5065                 - Define the dict keys for return value of GetActiveConnections
5066
5067         * src/nm-manager.c
5068                 - impl_manager_activate_device -> impl_manager_activate_connection
5069                 - (add_one_connection_element): return a populated hash table, not
5070                         a structure
5071
5072         * libnm-glib/nm-client.c
5073           libnm-glib/nm-client.h
5074                 - nm_client_activate_device -> nm_client_activate_connection
5075                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5076                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5077                         instead of the custom structures.  Each element of the returned list
5078                         must be freed with nm_client_free_active_connections_element()
5079
5080 2008-03-18  Dan Williams  <dcbw@redhat.com>
5081
5082         * system-settings/plugins/ifcfg-fedora/parser.c
5083           system-settings/plugins/ifcfg-fedora/parser.h
5084           system-settings/plugins/ifcfg-fedora/plugin.c
5085                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5086                         profiles.  DNS servers and searches must now be stored in the ifcfg
5087                         files themselves
5088
5089 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5090
5091         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5092         print out username and password, it's supposed to be a secret.
5093
5094         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5095         request and set the device state accordingly.
5096
5097 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5098
5099         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5100
5101         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5102
5103 2008-03-18  Dan Williams  <dcbw@redhat.com>
5104
5105         * src/vpn-manager/nm-vpn-connection.c
5106                 - (get_secrets_cb): handle new GetSecrets return format
5107
5108 2008-03-18  Dan Williams  <dcbw@redhat.com>
5109
5110         Adapt system settings service for split 802.1x.
5111
5112         * system-settings/src/nm-system-config-interface.h
5113                 - clarify return value of get_secrets()
5114
5115         * system-settings/src/dbus-settings.c
5116                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5117                 - (check_for_secrets): check if there actually secrets returned by a
5118                         plugin
5119                 - (exported_connection_get_secrets): just return the plugin-returned
5120                         hash of settings' secrets if it looks valid
5121
5122         * system-settings/plugins/ifcfg-fedora/plugin.c
5123                 - (get_secrets): add split secrets with correct format to reply hash
5124
5125         * system-settings/plugins/ifcfg-fedora/parser.c
5126           system-settings/plugins/ifcfg-fedora/parser.h
5127                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5128                    connection_data_free, connection_data_add): keep secrets for
5129                         different settings in different hashes
5130
5131 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5132
5133         Clean up activating device deactivation.
5134
5135         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5136         should be done whether the device activation gets cancelled or the device
5137         is just getting deactivated.
5138         (nm_device_activation_cancel): Remove.
5139         (nm_device_deactivate_quickly): Handle the case where device is activating.
5140
5141         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5142         It does the exact same thing as real_deactivate_quickly().
5143
5144 2008-03-17  Dan Williams  <dcbw@redhat.com>
5145
5146         Split the 802.1x bits out of the wireless-security setting so they are
5147         generalized enough for wired 802.1x to use too.
5148
5149         * introspection/nm-exported-connection.xml
5150                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5151                         of just a hash of the secrets for one setting
5152
5153         * libnm-util/nm-setting-wireless-security.c
5154           libnm-util/nm-setting-wireless-security.h
5155                 - Remove 802.1x-specific stuff
5156                 - Added leap-username and leap-password properties for old-school LEAP
5157
5158         * src/nm-device.c
5159           src/nm-device.h
5160                 - (connection_secrets_updated_cb): take a list of updated settings names,
5161                         not just one
5162
5163         * src/supplicant-manager/nm-supplicant-config.c
5164           src/supplicant-manager/nm-supplicant-config.h
5165                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5166                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5167                         to nm_supplicant_config_add_setting_8021x()
5168                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5169                         the supplicant config
5170
5171         * src/nm-device-802-11-wireless.c
5172                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5173                 - (real_connection_secrets_updated): take a list of updated settings
5174                         names, not just one
5175
5176         * src/nm-device-802-3-ethernet.c
5177           src/nm-cdma-device.c
5178           src/nm-gsm-device.c
5179                 - (real_connection_secrets_updated_cb): take a list of updated settings
5180                         names, not just one
5181
5182         * src/nm-activation-request.c
5183           src/nm-activation-request.h
5184                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5185                         now passes a list of updated settings names, not just one
5186                 - (update_one_setting): new function; handle one updated setting
5187                 - (get_secrets_cb): handle multiple settings returned from the
5188                         settings service; have to be careful of ordering here as there are
5189                         some dependencies between settings (ex. wireless-security and 802.1x
5190                         in some cases)
5191
5192         * src/marshallers/nm-marshal.list
5193                 - new marshaller for connection-secrets-updated signal
5194
5195         * libnm-util/nm-setting-8021x.c
5196                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5197                         methods
5198                 - (verify): a valid 'eap' property is now required
5199
5200         * libnm-util/nm-connection.c
5201                 - (register_default_settings): add priorities to settings; there are
5202                         some dependencies between settings, and during the need_secrets
5203                         calls this priority needs to be respected.  For example, only the
5204                         wireless-security setting knows whether or not the connection is
5205                         going to use 802.1x or now, so it must be asked for secrets before
5206                         any existing 802.1x setting is
5207                 - (nm_connection_lookup_setting_type): expose
5208
5209         * libnm-util/nm-setting-wireless.c
5210                 - (verify): should verify even if all_settings is NULL; otherwise won't
5211                         catch the case where there is missing security
5212
5213         * libnm-util/nm-setting-wireless-security.c
5214                 - Remove everything to do with 802.1x
5215                 - Add old-school LEAP specific properties for username and password
5216                 - (need_secrets): rework LEAP secrets checking
5217                 - (verify): rework for LEAP and 802.1x verification
5218
5219 2008-03-17  Dan Williams  <dcbw@redhat.com>
5220
5221         * src/NetworkManagerPolicy.c
5222                 - (auto_activate_device): always remove the current activation check
5223                         from the pending activation list, otherwise when the policy gets
5224                         destroyed on NM exit it will attempt to free the already freed
5225                         activation check
5226
5227 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5228
5229         * src/backends/NetworkManagerSlackware.c 
5230         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5231
5232         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5233
5234 2008-03-14  Dan Williams  <dcbw@redhat.com>
5235
5236         * src/nm-manager.c
5237                 - (nm_device_interface_get_iface): g_object_get() will return an
5238                         allocated value, so this function must not return const
5239                 - (nm_device_interface_activate): free returned iface
5240
5241 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5242
5243         * libnm-util/Makefile.am: Add new files to build.
5244
5245         * libnm-util/nm-connection.c: Register NMSetting8021x.
5246
5247         * libnm-util/nm-setting-8021x.c
5248         * libnm-util/nm-setting-8021x.h: Implement.
5249
5250 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5251
5252         * libnm-util/Makefile.am: Add new files to build.
5253
5254         * libnm-util/nm-connection.c: Register NMSetting8021x.
5255
5256         * libnm-util/nm-setting-8021x.c
5257         * libnm-util/nm-setting-8021x.h: Implement.
5258
5259 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5260
5261         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5262         data.
5263
5264 2008-03-14  Dan Williams  <dcbw@redhat.com>
5265
5266         * include/wireless-helper.h
5267           include/Makefile.am
5268                 - One place for all the junk needed for #including wireless.h
5269
5270         * test/nm-tool.c
5271           src/NetworkManagerAP.c
5272           src/wpa.c
5273           src/Makefile.am
5274           libnm-util/nm-utils.c
5275           libnm-util/nm-setting-wireless.c
5276           libnm-glib/nm-device-802-11-wireless.c
5277           libnm-glib/nm-access-point.c
5278           libnm-glib/libnm-glib-test.c
5279                 - include wireless-helper.h, not iwlib.h
5280
5281         * configure.in
5282                 - Don't need libiw really, just need to check for wireless.h
5283
5284         * src/kernel-types.h
5285                 - Remove; used types moved into wpa.c
5286
5287         * src/nm-device-802-11-wireless.c
5288                 - (nm_device_802_11_wireless_update_signal_strength,
5289                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5290                    nm_device_802_11_wireless_set_mode,
5291                    nm_device_802_11_wireless_get_frequency,
5292                    nm_device_802_11_wireless_get_ssid,
5293                    nm_device_802_11_wireless_set_ssid,
5294                    nm_device_802_11_wireless_get_bitrate,
5295                    nm_device_802_11_wireless_get_bssid,
5296                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5297                         instead of iwlib functions
5298
5299 2008-03-14  Dan Williams  <dcbw@redhat.com>
5300
5301         * src/ppp-manager/nm-ppp-manager.c
5302                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5303                         should only take the DBusGMethodInvocation argument, not user/pass
5304                         too.  With dbus-glib, async functions only take 2 C arguments since
5305                         the real dbus method arguments get passed back with
5306                         dbus_g_method_return()
5307
5308 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5309
5310         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5311         Adapt the changes of NMSettingIP4Config.
5312
5313 2008-03-13  Dan Williams  <dcbw@redhat.com>
5314
5315         * src/NetworkManagerUtils.c
5316           src/NetworkManagerUtils.h
5317                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5318
5319         * src/NetworkManagerAP.c
5320           src/nm-device-802-11-wireless.c
5321           src/nm-device-802-3-ethernet.c
5322                 - s/iw_ether_ntop/nm_ether_ntop/g
5323
5324 2008-03-13  Dan Williams  <dcbw@redhat.com>
5325
5326         * src/NetworkManagerPolicy.c
5327                 - (update_routing_and_dns): never set the default route through an
5328                         IPv4LL addressed device
5329
5330 2008-03-13  Dan Williams  <dcbw@redhat.com>
5331
5332         * NetworkManagerUtils.c
5333           NetworkManagerUtils.h
5334                 - Remove NMSock stuff
5335                 - Remove the completion stuff
5336
5337         * nm-device.c
5338           nm-device.h
5339           NetworkManager.c
5340           NetworkManagerSystem.c
5341           autoip.c
5342           nm-device-802-11-wireless.c
5343           nm-device-802-3-ethernet.c
5344                 - Remove NMSock and completion stuff
5345                 - Remove nm_ioctl_info()
5346
5347 2008-03-12  Dan Williams  <dcbw@redhat.com>
5348
5349         * src/nm-device.c
5350                 - (merge_ip4_config): avoid duplicates
5351
5352 2008-03-12  Dan Williams  <dcbw@redhat.com>
5353
5354         * libnm-util/nm-setting-ip4-config.c
5355           libnm-util/nm-setting-ip4-config.h
5356                 - Remove 'manual' and 'autoip' properties
5357                 - Add 'method' property
5358                 - (verify): fix verification with 'method'
5359                 - (finalize): free 'method'
5360                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5361                         up for 'method'
5362
5363         * src/nm-device.c
5364                 - (real_act_stage3_ip_config_start): check IP4Config method
5365                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5366                         the future
5367                 - (merge_ip4_config): IP settings are valid with DHCP too
5368                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5369                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5370
5371         * src/nm-device-802-11-wireless.c
5372                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5373                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5374                         only on demand
5375
5376         * system-settings/plugins/ifcfg-fedora/parser.c
5377           system-settings/plugins/ifcfg-suse/parser.c
5378                 - (make_ip4_setting): fix up for 'method'
5379
5380 2008-03-12  Dan Williams  <dcbw@redhat.com>
5381
5382         * system-settings/plugins/ifcfg-fedora/parser.c
5383           system-settings/plugins/ifcfg-fedora/parser.h
5384                 - (get_ifcfg_name): ignore more file suffixes
5385                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5386
5387 2008-03-12  Dan Williams  <dcbw@redhat.com>
5388
5389         * configure.in
5390                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5391
5392 2008-03-12  Dan Williams  <dcbw@redhat.com>
5393
5394         * system-settings/plugins/ifcfg-fedora/plugin.c
5395                 - (write_auto_wired_connection): new function; write out an auto
5396                         wired connection file since the applet isn't doing it any more
5397                 - (reload_all_connections): write out the auto wired connection file
5398                         if there aren't any wired connections already
5399                 - (init): don't leak a GError
5400
5401 2008-03-12  Dan Williams  <dcbw@redhat.com>
5402
5403         * src/nm-device-interface.c
5404                 - (nm_device_interface_activate): print the ID of the connection
5405                         that's about to be activated
5406
5407 2008-03-12  Dan Williams  <dcbw@redhat.com>
5408
5409         Harmonize the 802.11 bitrate API
5410
5411         * introspection/nm-access-point.xml
5412                 - 'Rate' -> 'MaxBitrate'; clarify units
5413
5414         * introspection/nm-device-802-11-wireless.xml
5415                 - Clarify units of 'Bitrate'
5416
5417         * src/NetworkManagerAP.c
5418           src/NetworkManagerAP.h
5419                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5420                         property to 'max-bitrate'
5421                 - (foreach_property_cb): convert rate to Kb/s
5422
5423         * src/nm-device-802-11-wireless.c
5424                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5425
5426         * libnm-glib/nm-access-point.c
5427           libnm-glib/nm-access-point.h
5428                 - 'rate' -> 'max-bitrate'
5429
5430         * test/nm-tool.c
5431           libnm-glib/libnm-glib-test.c
5432                 - Fix up for these changes
5433
5434 2008-03-12  Dan Williams  <dcbw@redhat.com>
5435
5436         * src/nm-device.c
5437                 - (nm_device_set_ip4_config): don't send property notifications when
5438                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5439                         which dbus-glib can't parse because the value is NULL, which isn't
5440                         a legal object path.  Setting the IP4 config to NULL is only
5441                         valid when deactivating a device anyway, so the device state change
5442                         will alert listeners that the ip4 config is invalid.
5443
5444 2008-03-12  Dan Williams  <dcbw@redhat.com>
5445
5446         * src/nm-properties-changed-signal.c
5447                 - (add_to_string): better handling of NULL objects
5448
5449 2008-03-12  Dan Williams  <dcbw@redhat.com>
5450
5451         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5452         convert the libnm-glib NMDevice8023Ethernet to cached properties
5453
5454         * introspection/nm-device-802-3-ethernet.xml
5455                 - New 'Carrier' property
5456                 - New 'PropertiesChanged' signal
5457
5458         * introspection/nm-device.xml
5459                 - Remove 'Carrier' property
5460                 - Remove 'CarrierChanged' signal
5461
5462         * src/nm-device-interface.c
5463           src/nm-device-interface.h
5464                 - (nm_device_interface_init): remove 'carrier' property and
5465                         'carrier-changed' signal
5466
5467         * src/nm-device.c
5468           src/nm-device.h
5469                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5470                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5471                         the link here; wired device will handle that
5472                 - (handle_dhcp_lease_change): don't bother updating link here
5473                 - (get_property, nm_device_class_init): remove carrier property
5474
5475         * src/nm-device-802-11-wireless.c
5476                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5477                         real_update_link(); wireless devices don't use carrier at all
5478                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5479                    supplicant_iface_connection_state_cb_handler,
5480                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5481
5482         * src/nm-device-802-3-ethernet.c
5483           src/nm-device-802-3-ethernet.h
5484                 - (nm_device_802_3_ethernet_carrier_on,
5485                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5486                         instead of nm_device_set_carrier()
5487                 - (device_state_changed): update link from sysfs on activation;
5488                         replaces real_update_link()
5489                 - (real_update_link): remove, replaced by device_state_changed()
5490                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5491                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5492                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5493                         new get_carrier function
5494                 - (get_property): add 'carrier' property
5495                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5496                         hook into property-changed signal helper
5497
5498         * src/NetworkManagerPolicy.c
5499                 - (device_carrier_changed): will only ever be called with a wired device
5500                 - (device_added): only hook up to carrier-changed for wired devices
5501
5502         * libnm-glib/nm-device.c
5503           libnm-glib/nm-device.h
5504                 - (constructor, nm_device_class_init): remove carrier-changed signal
5505                 - (device_carrier_changed_proxy): remove; unused
5506                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5507
5508         * libnm-glib/nm-device-802-3-ethernet.c
5509           libnm-glib/nm-device-802-3-ethernet.h
5510                 - Convert to cached properties like AP and Wireless objects
5511                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5512                         instead of a 'char *', return value should not be freed
5513                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5514                 - (constructor): hook into properties-changed helper
5515                 - (set_property, get_property): new functions
5516                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5517
5518         * test/nm-tool.c
5519                 - (detail_device): strdup the wired hardware address too since it's
5520                         cached now
5521
5522         * libnm-glib/libnm-glib-test.c
5523                 - (dump_wired): strdup the wired hardware address too since it's
5524                         cached now
5525
5526 2008-03-12  Dan Williams  <dcbw@redhat.com>
5527
5528         * libnm-util/nm-setting-ip4-config.c
5529           libnm-util/nm-setting-ip4-config.h
5530                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5531                         the 'autoip' property from the spec
5532
5533 2008-03-11  Dan Williams  <dcbw@redhat.com>
5534
5535         * src/backends/NetworkManagerGeneric.c
5536           src/backends/NetworkManagerGeneric.h
5537                 - (nm_generic_device_get_use_dhcp): remove
5538
5539 2008-03-11  Dan Williams  <dcbw@redhat.com>
5540
5541         * src/nm-device.c
5542                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5543                         already in nm_device_set_ip4_config()
5544                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5545                         due to a DHCP rebind fails
5546                 - (nm_device_set_ip4_config): send property notifications when the
5547                         ip4 config changes
5548                 - (get_property): only report IP4Config property during valid states
5549
5550         * src/NetworkManagerPolicy.c
5551                 - (update_routing_and_dns): ignore devices that don't have an ip4
5552                         config; add parameter 'force_update' to allow callers to specify
5553                         that changes should be made even if the default device doesn't change
5554                 - (device_ip4_config_changed): update DNS and routing when the device's
5555                         IP4Config changes, like for DHCP updates
5556                 - (device_added): listen for ip4-config property changes
5557
5558 2008-03-11  Dan Williams  <dcbw@redhat.com>
5559
5560         Fix address handling as a result of DHCP rebind/renew/reboot.
5561
5562         * src/NetworkManagerSystem.c
5563                 - (check_one_address): delete an address if it doesn't match a given
5564                         one for the same interface
5565                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5566                         be smarter about flushing addresses (only flush ones that don't
5567                         match the one we're about to apply)
5568
5569         * src/backends/NetworkManagerDebian.c
5570           src/backends/NetworkManagerSuSE.c
5571           src/backends/NetworkManagerArch.c
5572           src/backends/NetworkManagerSlackware.c
5573           src/backends/NetworkManagerRedHat.c
5574           src/backends/NetworkManagerPaldo.c
5575           src/backends/NetworkManagerFrugalware.c
5576           src/backends/NetworkManagerGentoo.c
5577                 - (nm_system_delete_default_route): remove
5578
5579         * src/backends/NetworkManagerGeneric.c
5580           src/backends/NetworkManagerGeneric.h
5581                 - (nm_generic_enable_loopback): fix the loopback device label
5582                 - (nm_generic_delete_default_route): remove; no longer used
5583
5584 2008-03-11  Dan Williams  <dcbw@redhat.com>
5585
5586         * src/nm-device-interface.h
5587                 - Delimit property name words with '-', otherwise g_object_notify()
5588                         doesn't work the way we expect
5589
5590 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5591
5592         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5593
5594 2008-03-11  Dan Williams  <dcbw@redhat.com>
5595
5596         * src/NetworkManagerPolicy.c
5597                 - (update_routing_and_dns): don't change anything if the default device
5598                         hasn't changed; print something out when switching the default route
5599                         and DNS
5600
5601 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5602
5603         Implement PPPoE.
5604
5605         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5606         setting. Use "nic-$eth".
5607
5608         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5609         the device is activating here to fix a race condition.
5610
5611         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5612
5613         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5614         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5615         (nm_ppp_manager_start): Take activation request instead of connection, we might
5616         need it for asking secrets.
5617         (nm_ppp_manager_update_secrets): Implement.
5618
5619         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5620         ppp manager start. It might be needed for asking secrets.
5621
5622         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5623         (ppp_state_changed): Handle pppd daemon disappearing.
5624         (pppoe_stage2_config): Send activation request to ppp manager start.
5625
5626         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5627
5628         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5629         username and password.
5630         
5631 2008-03-10  Dan Williams  <dcbw@redhat.com>
5632
5633         * src/nm-device.c
5634                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5635                         response to a DHCP lease change
5636                 - (dhcp_state_changed): handle DHCP lease changes while activated
5637                 - (nm_device_set_ip4_config): remove a previously set named config
5638                         when setting an ip4 config
5639
5640 2008-03-10  Dan Williams  <dcbw@redhat.com>
5641
5642         * src/nm-serial-device.c
5643                 - (nm_serial_device_send_command): report errno on error
5644                 - (get_reply_got_data): limit the size of the overall buffer
5645                 - (wait_for_reply_info_destroy): destroy result string
5646                 - (wait_for_reply_got_data): append received data to an overall buffer
5647                         until timeout, filled buffer, or error instead of keeping a per-call
5648                         buffer.  Some devices send data slowly enough that this function
5649                         gets called multiple times for the same command stream.
5650                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5651                         wait_for_reply_got_data() here
5652
5653 2008-03-10  Dan Williams  <dcbw@redhat.com>
5654
5655         * src/nm-cdma-device.c
5656                 - (do_dial, init_modem): handle errors from
5657                         nm_serial_device_send_command_string()
5658
5659         * src/nm-gsm-device.c
5660                 - (do_dial, manual_registration, automatic_registration_get_network,
5661                    automatic_registration, enter_pin, check_pin, init_modem): handle
5662                         errors from nm_serial_device_send_command_string()
5663
5664 2008-03-10  Dan Williams  <dcbw@redhat.com>
5665
5666         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5667
5668         * src/named-manager/nm-named-manager.c
5669                 - (compute_searches): prefer searches before domains
5670                 - (compute_domain): new function
5671                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5672                 - (merge_one_ip4_config): if there are no searches in the source config,
5673                         merge domains of the source config into the target config
5674                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5675
5676 2008-03-10  Dan Williams  <dcbw@redhat.com>
5677
5678         * src/nm-serial-device.c
5679                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5680                 - (wait_for_reply_got_data): try to handle slower serial devices where
5681                         the reply is broken up into multiple reads by concatenating replies
5682                         together until either an error is received or the search string is
5683                         found
5684
5685 2008-03-10  Dan Williams  <dcbw@redhat.com>
5686
5687         * src/nm-device.c
5688                 - (nm_device_bring_down): deactivate the device if it's activating too,
5689                         not just if it's already activated.  This makes sure that everything
5690                         from an association attempt is cleaned up (like DHCP for example)
5691
5692 2008-03-10  Dan Williams  <dcbw@redhat.com>
5693
5694         * src/nm-serial-device.c
5695                 - (config_fd): report error from TCSETA
5696                 - (nm_serial_device_open): fail when config_fd() fails
5697
5698 2008-03-10  Dan Williams  <dcbw@redhat.com>
5699
5700         * src/nm-ip4-config.c
5701                 - (nm_ip4_config_init): allocate searches list
5702                 - (finalize): free searches list
5703
5704 2008-03-09  Dan Williams  <dcbw@redhat.com>
5705
5706         Patch from Bas Zoetekouw <bas@debian.org>
5707
5708         * src/dhcp-manager/nm-dhcp-manager.c
5709                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5710
5711 2008-03-09  Dan Williams  <dcbw@redhat.com>
5712
5713         Patch from Bas Zoetekouw <bas@debian.org>
5714
5715         * src/nm-ip4-config.c
5716           src/nm-ip4-config.h
5717                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5718                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5719                         domains.  'searches' is the correct way to store multiple search
5720                         domains, whereas 'domains' is really just supposed to store one
5721                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5722                         search domains to the client.
5723                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5724
5725 2008-03-09  Dan Williams  <dcbw@redhat.com>
5726
5727         * src/dhcp-manager/nm-dhcp-manager.c
5728                 - (dhclient_run): send interface-specific config files to dhclient
5729
5730 2008-03-07  Dan Williams  <dcbw@redhat.com>
5731
5732         * system-settings/plugins/ifcfg-fedora/parser.c
5733                 - (is_wireless_device): new function; test a device for wireless
5734                         extensions
5735                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5736                         test the device for wireless extensions to determine the type
5737
5738 2008-03-07  Dan Williams  <dcbw@redhat.com>
5739
5740         Change manager's StateChange signal to StateChanged for consistency.
5741
5742         * introspection/nm-manager.xml
5743                 - Add 'StateChanged' signal
5744                 - Move 'StateChange' down to the deprecated section
5745
5746         * src/nm-hal-manager.c
5747                 - (nm_hal_manager_new): connect to 'state-changed' instead
5748
5749         * src/NetworkManagerPolicy.c
5750                 - (nm_policy_new): connect to 'state-changed' instead
5751
5752         * src/nm-manager.c
5753           src/nm-manager.h
5754                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5755                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5756                         of 'state-change'
5757
5758         * libnm-glib/nm-client.c
5759           libnm-glib/nm-client.h
5760                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5761                         track and proxy 'state-changed' instead of 'state-change'
5762
5763 2008-03-07  Dan Williams  <dcbw@redhat.com>
5764
5765         First pass of multiple active device support.  Expect bugs.
5766
5767         * src/nm-ip4-config.c
5768           src/nm-ip4-config.h
5769                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5770                         there are better ways to do this in the named manager
5771
5772         * src/nm-device.c
5773           src/nm-device.h
5774                 - (nm_device_can_activate): return whether the device can activate a
5775                         connection right now; taking into account things like carrier state
5776                         and rfkill state
5777                 - (nm_device_get_best_auto_connection): renamed from
5778                         nm_device_get_best_connection
5779                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5780                         device subclasses themselves, so that each device can override the
5781                         MTU from it's NMSetting subclass if needed
5782                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5783                         in NetworkManagerSystem.c, not here
5784
5785         * src/named-manager/nm-named-manager.c
5786           src/named-manager/nm-named-manager.h
5787                 - (nm_named_manager_name_owner_changed,
5788                    nm_named_manager_dbus_connection_changed): fix for changes to
5789                         rewrite_resolv_conf()
5790                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5791                         from parameter list
5792                 - (merge_one_ip4_config): new function; merge ip4 configs together
5793                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5794                         ip4 configs; the VPN config takes precedence, then the best
5795                         device config, then the rest of the configs
5796                 - (get_domain_for_config): take the NMNamedManager as an argument
5797                         to check whether the config is the VPN config
5798                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5799                         attribute from ip4 configs
5800                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5801                 - (remove_ip4_config_from_named): fix for changes to
5802                         get_domain_for_config()
5803                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5804                         based on its type; callers must pass in the type now
5805                 - (get_last_default_domain): remove, unused
5806                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5807
5808         * src/nm-device-802-11-wireless.c
5809                 - (real_can_activate): new function
5810                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5811                 - (real_act_stage4_get_ip4_config): handle MTU override
5812
5813         * src/nm-device-802-3-ethernet.c
5814                 - (real_can_activate): new function
5815                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5816                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5817
5818         * src/vpn-manager/nm-vpn-connection.c
5819                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5820                         attribute on the ip4 config
5821
5822         * src/NetworkManagerPolicy.c
5823                 - (nm_policy_auto_get_best_device): remove
5824                 - (nm_policy_device_change_check): remove
5825                 - (update_default_route): new function; set the default route via
5826                         the specified device
5827                 - (get_device_priority): new function; return the priority number of
5828                         a device type WRT which one should have the default route.  Order is
5829                         (highest to lowest)  wired, wireless, GSM, CDMA.
5830                 - (update_routing_and_dns): new function; determine which device should
5831                         have the default route, then update the routing table and DNS
5832                 - (maybe_auto_activate_device): new function; if a device is now
5833                         available for activation, find out what connection it would like to
5834                         activate and do it
5835                 - (schedule_activate_check): new function; if a device can be activated
5836                         now, schedule the activation.  Each device may have only one
5837                         pending activation at a given time.
5838                 - (device_state_changed): if activation was canceled, try again,
5839                         possibly with another connection; if the device was activated,
5840                         update routing and DNS; if the device was deactivated, try again
5841                         with another connection
5842                 - (device_carrier_changed): if there is no carrier, deactivate the
5843                         device; otherwise schedule an activation check for the device
5844                 - (wireless_networks_changed): schedule an activation check for the
5845                         device
5846                 - (device_added): keep track of the signal handler IDs so they can
5847                         be removed when the device goes away
5848                 - (device_removed): remove any signal handlers that might be attached
5849                         to the device; update routing and DNS
5850                 - (schedule_activate_all): new function
5851                 - (connections_added, connection_added, connection_updated): when
5852                         connections change, schedule all devices for an activation check
5853                 - (connection_removed): when a device is deactivated because its
5854                         connection was removed, schedule another activation check for it
5855                 - (nm_policy_destroy): destroy pending activations and disconnect
5856                         all device signal handlers
5857
5858         * src/nm-manager.c
5859                 - (nm_manager_activate_device): if the device was already actived,
5860                         deactivate it
5861                 - (deactivate_old_device): remove
5862                 - (connection_added_default_handler, impl_manager_activate_device):
5863                         don't deactivate other devices when activating this one
5864
5865         * src/backends/NetworkManagerGentoo.c
5866           src/backends/NetworkManagerFrugalware.c
5867           src/backends/NetworkManagerPaldo.c
5868           src/backends/NetworkManagerRedHat.c
5869           src/backends/NetworkManagerSlackware.c
5870           src/backends/NetworkManagerArch.c
5871           src/backends/NetworkManagerSuSE.c
5872           src/backends/NetworkManagerDebian.c
5873                 - (nm_system_get_mtu): remove; MTU should be provided through the
5874                         distro's system settings service plugin instead
5875                 - (nm_system_device_add_default_route_via_device): remove
5876                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5877                 - (nm_system_device_replace_default_route): new function; call
5878                         generic implementation
5879
5880         * src/backends/NetworkManagerGeneric.c
5881           src/backends/NetworkManagerGeneric.h
5882                 - (nm_generic_device_add_default_route_via_device,
5883                    nm_generic_device_add_default_route_via_device_with_iface): remove
5884                 - (nm_generic_device_replace_default_route): replace the default route
5885                         with the given route via some gateway
5886
5887         * src/NetworkManagerSystem.c
5888           src/NetworkManagerSystem.h
5889                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5890                         to routing and DNS; but set the MTU here
5891                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5892                         ip_iface of the active device; use the standard MTU setting function
5893                 - (nm_system_set_mtu): remove
5894                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5895
5896 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5897
5898         Rework the interaction between ppp manager and pppd plugin. Register a well
5899         known DBUS service in manager and let the plugin call it's methods instead
5900         of listening plugin's signals.
5901
5902         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5903         of emitting signals.
5904
5905         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5906
5907         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5908
5909         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5910         nm_ppp_manager_start().
5911
5912         * introspection/nm-ppp-manager.xml: New file.
5913
5914         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5915         the case correctly where driver is trying to send -1 for the speed, which gets
5916         casted to u16 and thus is always > 0.
5917
5918 2008-03-07  Dan Williams  <dcbw@redhat.com>
5919
5920         * src/nm-hal-manager.c
5921                 - (nm_get_device_driver_name): use net.originating_device first, fall
5922                         back to physical device.  HAL has deprecated physical_device.
5923
5924         * libnm-glib/nm-device.c
5925                 - (get_product_and_vendor): use net.originating_device first, fall
5926                         back to physical device.  HAL has deprecated physical_device.
5927                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5928
5929 2008-03-07  Dan Williams  <dcbw@redhat.com>
5930
5931         * src/nm-netlink.c
5932                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5933                         last commit; fix that
5934                 - (get_link_cache): print error string
5935
5936 2008-03-07  Dan Williams  <dcbw@redhat.com>
5937
5938         * src/nm-netlink.c
5939                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5940                         don't need this hack any more (Benoit Boissinot)
5941
5942 2008-03-06  Dan Williams  <dcbw@redhat.com>
5943
5944         * autogen.sh
5945                 - Die gnome-common, die
5946
5947 2008-03-04  Dan Williams  <dcbw@redhat.com>
5948
5949         Patch from Michael Biebl <biebl@debian.org>
5950
5951         * NetworkManager.pc.in
5952                 - doesn't actually depend on dbus-1
5953
5954         * libnm-util/nm-utils.h
5955                 - remove unused #include <dbus/dbus.h>
5956
5957         * libnm-glib/libnm_glib.pc.in
5958                 - depends on glib and dbus-glib
5959
5960 2008-03-02  Dan Williams  <dcbw@redhat.com>
5961
5962         * src/NetworkManagerPolicy.c
5963                 - s/device_state_changed_idle_id/update_state_id/
5964
5965 2008-03-02  Dan Williams  <dcbw@redhat.com>
5966
5967         * src/nm-device.c
5968           src/nm-device.h
5969           src/nm-device-802-11-wireless.c
5970           src/nm-device-802-3-ethernet.c
5971           src/NetworkManagerPolicy.c
5972                 - s/link_active/carrier
5973                 - nm_device_set_active_link() -> nm_device_set_carrier()
5974                 - nm_device_has_active_link() -> nm_device_get_carrier()
5975
5976 2008-03-02  Dan Williams  <dcbw@redhat.com>
5977
5978         * system-settings/plugins/ifcfg-fedora/parser.c
5979                 - (make_wireless_setting): fail connection creation on missing SSID
5980
5981 2008-02-29  Dan Williams  <dcbw@redhat.com>
5982
5983         * src/NetworkManagerPolicy.c
5984                 - (nm_policy_device_change_check): ensure that a previously active
5985                         device with a system connection has a link before denying a switch
5986                         to a user connection
5987
5988 2008-02-29  Dan Williams  <dcbw@redhat.com>
5989
5990         * src/nm-device-802-11-wireless.c
5991                 - (link_timeout_cb): try again if scanning; deactivate the device when
5992                         activated if the link dies
5993                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5994                         15 seconds
5995
5996 2008-02-29  Dan Williams  <dcbw@redhat.com>
5997
5998         * src/nm-device-802-11-wireless.c
5999           src/nm-device-802-11-wireless.h
6000                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
6001                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
6002                 - (device_cleanup): reset the scan interval lower when the device
6003                         deactivates
6004                 - (can_scan): base decision mostly off device state, not supplicant
6005                         interface state since the supplicant interface state isn't a
6006                         great indicator of whether the device is active or not
6007                 - (request_wireless_scan): clean up; schedule the next scan here
6008                 - (schedule_scan): only back the scan interval off if a new scan
6009                         actually gets scheduled; and make scan intervals tighter when the
6010                         device is disconnected
6011                 - (supplicant_iface_state_cb_handler): fold in the bits of
6012                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
6013                         interval to minimum
6014                 - (activation_success_handler): reset scan interval to something
6015                         reasonable 
6016
6017 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
6018
6019         reviewed by: Steev <steev@steev.net>
6020
6021         * configure.in:
6022         * src/backends/NetworkManagerGentoo.c:
6023         (nm_system_restart_mdns_responder):
6024                 Howl is no longer a supported mDNS provider
6025
6026 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6027
6028         Get rid of a bunch of unused distro specific functions.
6029
6030 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6031
6032         Implement suse plugin for system settings daemon.
6033
6034         * system-settings/plugins/ifcfg-suse/*: Implement.
6035
6036         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
6037         suse.
6038
6039         * configure.in: Check (without failing) for gio.
6040         Create ifcfg-suse plugin's Makefile.
6041
6042 2008-02-20  Dan Williams  <dcbw@redhat.com>
6043
6044         * libnm-util/nm-connection.c
6045           libnm-util/nm-connection.h
6046                 - (nm_connection_compare): accept compare flags and pass them to the
6047                         setting compare function
6048
6049         * libnm-util/nm-setting.c
6050           libnm-util/nm-setting.h
6051                 - (nm_setting_compare): accept compare flags; ignore properties that are
6052                         marked fuzzy
6053
6054         * libnm-util/nm-setting-connection.c
6055           libnm-util/nm-setting-wireless.c
6056           libnm-util/nm-setting-ppp.c
6057           libnm-util/nm-setting-wired.c
6058                 - Mark some setting properties as ignorable when doing a fuzzy compare
6059
6060         * src/nm-device.c
6061                 - (device_activation_precheck): use exact compare
6062
6063 2008-02-20  Dan Williams  <dcbw@redhat.com>
6064
6065         * src/NetworkManagerPolicy.c
6066                 - (nm_policy_device_change_check): get scope off the connection, not
6067                         using the manager helper
6068
6069         * src/nm-manager.c
6070           src/nm-manager.h
6071                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6072                 - (connection_get_settings_cb): set scope and path on connection, not
6073                         using GObject data items
6074                 - (get_connection_for_proxy): don't need to return path, since that
6075                         can be gotten from the connection
6076                 - (get_connection_for_proxy): get path off the connection, not from
6077                         parameters
6078                 - (connection_removed_cb, connection_updated_cb): don't need to get
6079                         path from get_connection_for_proxy(); get scope off the connection
6080                         instead of using GObject data items
6081                 - (connection_added_default_handler, add_one_connection_element): use
6082                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6083                 - (nm_manager_get_connection_dbus_path): remove
6084                 - (nm_manager_get_connection_scope): remove
6085
6086 2008-02-20  Dan Williams  <dcbw@redhat.com>
6087
6088         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6089                 on confusing names
6090
6091         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6092                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6093                 NMExportedConnection
6094
6095         * Internally rename NMConnectionType -> NMConnectionScope
6096
6097         * Provide default implementations of the 'get_id' and 'get_settings' methods
6098                 of NMExportedConnection
6099
6100 2008-02-15  Dan Williams  <dcbw@redhat.com>
6101
6102         * src/nm-device-802-11-wireless.c
6103                 - (device_cleanup): release the AP list here too so that the AP list
6104                         doesn't survive across suspend/resume and up/down.  There is some
6105                         room for optimization, for example blow the list away when the card
6106                         brought back up, but only if the device has only been down for a
6107                         minute or more.
6108
6109 2008-02-15  Dan Williams  <dcbw@redhat.com>
6110
6111         * src/nm-hal-manager.c
6112                 - (modem_device_creator): recognize new HAL modem capabilities
6113
6114 2008-02-12  Dan Williams  <dcbw@redhat.com>
6115
6116         * system-settings/plugins/ifcfg-fedora/plugin.c
6117                 - (watch_path): handle IN_DELETE_SELF too
6118                 - (handle_connection_changed): notify when removing a connection
6119                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6120                         case of a file moving out of the profile directory
6121
6122 2008-02-12  Dan Williams  <dcbw@redhat.com>
6123
6124         * system-settings/plugins/ifcfg-fedora/parser.c
6125                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6126
6127 2008-02-12  Dan Williams  <dcbw@redhat.com>
6128
6129         * libnm-util/nm-utils.c
6130                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6131                         just any empty array
6132
6133 2008-02-12  Dan Williams  <dcbw@redhat.com>
6134
6135         * system-settings/src/nm-system-config-interface.c
6136           system-settings/src/nm-system-config-interface.h
6137                 - (load_connections): get_connections() should now return an allocated
6138                         GSList that the system settings service will free
6139
6140         * system-settings/plugins/ifcfg-fedora/plugin.c
6141           system-settings/plugins/ifcfg-fedora/parser.h
6142           system-settings/plugins/ifcfg-fedora/parser.c
6143                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6144                         in the profile directory, handle resolv.conf file changes
6145
6146 2008-02-10  Dan Williams  <dcbw@redhat.com>
6147
6148         * src/nm-device-802-3-ethernet.c
6149                 - (real_bring_up): save the supplicant interface state signal id
6150                 - (real_bring_down): disconnect from the supplicant interface state
6151                         signal
6152
6153 2008-02-07  Dan Williams  <dcbw@redhat.com>
6154
6155         * initscript/RedHat/NetworkManager.in
6156           initscript/RedHat/NetworkManagerDispatcher.in
6157                 - Add new-style LSB init headers
6158
6159 2008-02-07  Dan Williams  <dcbw@redhat.com>
6160
6161         * system-settings/src/dbus-settings.c
6162           system-settings/src/dbus-settings.h
6163                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6164                         table of secrets
6165                 - (connection_settings_get_secrets): consolidate error returns into
6166                         one place; use the new get_secrets() plugin interface function to
6167                         get secrets from the plugin itself rather than using GObject data
6168                         magic
6169
6170         * system-settings/src/main.c
6171                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6172                    load_connections): keep a private list of the plugin-returned
6173                         connections, don't use the plugin's GSList
6174
6175         * system-settings/plugins/ifcfg-fedora/plugin.c
6176                 - (watch_path): watch the path, not the filename (duh)
6177                 - (reload_all_connections): use the direct hash/equal functions; the
6178                         ones for int aren't appropriate here
6179                 - (get_secrets, system_config_interface_init): implement the
6180                         get_secrets() function
6181                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6182                         now in the connection's ConnectionData instead of being a GObject
6183                         data property
6184                 - (handle_profile_item_changed): ifcfg file path is now in the
6185                         connection's ConnectionData instead of being a GObject data property;
6186                         be sure to copy secrets over from the new connection to the existing
6187                         connection when updating the connection's settings
6188                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6189                         file descriptor
6190
6191         * system-settings/plugins/ifcfg-fedora/parser.c
6192           system-settings/plugins/ifcfg-fedora/parser.h
6193                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6194                    connection_data_copy_secrets, connection_data_free,
6195                    connection_data_add): new functions; connection data manipulation
6196                 - (make_wireless_security_setting): stuff secrets into the
6197                         connection data, not as GObject data items; make sure to close
6198                         the keys ifcfg file
6199                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6200                         connection data to the connection
6201
6202 2008-02-07  Dan Williams  <dcbw@redhat.com>
6203
6204         * system-settings/src/nm-system-config-interface.c
6205           system-settings/src/nm-system-config-interface.h
6206                 - Add a get_secrets() interface function to retrieve secrets for a
6207                         specific setting of a specific connection.  Document the interface
6208                         a bit more too.
6209
6210 2008-02-07  Dan Williams  <dcbw@redhat.com>
6211
6212         * src/nm-device-802-11-wireless.c
6213                 - (handle_auth_or_fail): new function; consolidate device activation
6214                         failure check after a certain number of failures getting secrets
6215                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6216                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6217                         the connection if secrets were requested more than a few times
6218                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6219                         tries here; otherwise they are cleared before the IP configure
6220                         timeout, which happens with open system WEP when key is wrong
6221                 - (activation_success_handler): clear wireless secrets tries here too
6222
6223 2008-02-07  Dan Williams  <dcbw@redhat.com>
6224
6225         * src/NetworkManagerPolicy.c
6226                 - (connection_updated): clear invalid tag when connection gets updated
6227                         to allow that connection to be tried again
6228                 - (nm_policy_new): save signal ids so they can be disconnected when
6229                         the policy is destroyed
6230                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6231                         and disconnect all signals from the manager object so that none
6232                         of the policy functions gets called after the policy is destroyed
6233
6234 2008-02-06  Dan Williams  <dcbw@redhat.com>
6235
6236         * src/nm-manager.c
6237                 - (finalize): remove devices a bit earlier; clean up system settings
6238                         poke
6239                 - (nm_manager_name_owner_changed): clean up system settings poke when
6240                         the service appears, and try to restart it if it fails
6241                 - (poke_system_settings_daemon_cb): try to get the system settings
6242                         service started through D-Bus service activation
6243                 - (initial_get_connections): start the system settings daemon if it's
6244                         not already running
6245
6246 2008-02-05  Dan Williams  <dcbw@redhat.com>
6247
6248         * src/supplicant-manager/nm-supplicant-config.c
6249                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6250                         broadcast networks too
6251
6252 2008-02-04  Dan Williams  <dcbw@redhat.com>
6253
6254         * system-settings/plugins/ifcfg-fedora/parser.c
6255                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6256                         need key_mgmt set too
6257                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6258                         .bak files; ensure that an error is set whenever NULL gets returned
6259
6260 2008-02-04  Dan Williams  <dcbw@redhat.com>
6261
6262         * system-settings/src/Makefile.am
6263                 - Install D-Bus service activation file for the system settings
6264                         service
6265
6266         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6267                 - D-Bus service activation file for system settings service
6268
6269 2008-02-04  Dan Williams  <dcbw@redhat.com>
6270
6271         * system-settings/src/main.c
6272                 - (parse_config_file): parse a config file
6273                 - (main): accept --config option and read plugins from config file
6274
6275 2008-02-04  Dan Williams  <dcbw@redhat.com>
6276
6277         * system-settings/plugins/ifcfg-fedora/plugin.c
6278                 - Change reported name to 'ifcfg-fedora'
6279                 - Use IFCFG_PLUGIN_NAME
6280
6281         * system-settings/plugins/ifcfg-fedora/plugin.c
6282                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6283
6284 2008-02-04  Dan Williams  <dcbw@redhat.com>
6285
6286         * system-settings/plugins/ifcfg-fedora/parser.c
6287                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6288                 - (make_connection_setting): use get_ifcfg_name()
6289                 - (make_wireless_security_setting): handle shadow key files
6290                 - (get_one_wep_key): treat empty string as NULL
6291
6292 2008-02-04  Dan Williams  <dcbw@redhat.com>
6293
6294         * src/supplicant-manager/nm-supplicant-manager.c
6295                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6296                         glib automatically reschedule
6297                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6298                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6299                         the supplicant
6300
6301 2008-02-01  Dan Williams  <dcbw@redhat.com>
6302
6303         * src/NetworkManagerPolicy.c
6304                 - (device_state_changed): schedule a change check when a device gets
6305                         deactivated so something happens if you disconnect GSM/CDMA
6306
6307 2008-01-31  Dan Williams  <dcbw@redhat.com>
6308
6309         * src/nm-device-802-11-wireless.h
6310           src/nm-device-802-11-wireless.c
6311                 - (ap_list_get_ap_by_ssid, is_associated,
6312                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6313                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6314                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6315                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6316                         function
6317
6318 2008-01-30  Dan Williams  <dcbw@redhat.com>
6319
6320         * system-settings/plugins/ifcfg
6321         * system-settings/plugins/ifcfg-fedora
6322                 - Move the ifcfg plugin to ifcfg-fedora
6323
6324 2008-01-24  Dan Williams  <dcbw@redhat.com>
6325
6326         * libnm-glib/nm-device-802-11-wireless.c
6327                 - (get_access_point): move the "/" check here; check for invalid path
6328                         too
6329                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6330                         to get_access_point()
6331                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6332                         to send signals for non-existent access points
6333
6334 2008-01-24  Dan Williams  <dcbw@redhat.com>
6335
6336         * libnm-glib/nm-device-802-11-wireless.c
6337                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6338
6339 2008-01-23  Dan Williams  <dcbw@redhat.com>
6340
6341         * libnm-glib/libnm_glib.c
6342                 - (libnm_glib_init): make thread joinable
6343                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6344
6345 2008-01-23  Dan Williams  <dcbw@redhat.com>
6346
6347         * test/libnm_glib_test.c
6348                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6349                 - (main): set up signal handlers; call libnm_glib_shutdown
6350
6351 2008-01-21  Dan Williams  <dcbw@redhat.com>
6352
6353         * include/NetworkManager.h
6354                 - Add CDMA mobile broadband card device type
6355
6356         * src/nm-hal-manager.c
6357                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6358                         must now be tagged with 'cdma' or 'gsm' capability
6359
6360         * src/nm-cdma-device.c
6361           src/nm-cdma-device.h
6362           src/Makefile.am
6363                 - Add the CDMA mobile broadband card device class
6364
6365         * libnm-util/nm-connection.c
6366                 - (register_default_settings): add NMSettingCdma
6367
6368         * libnm-util/nm-setting-cdma.c
6369           libnm-util/nm-setting-cdma.h
6370           libnm-util/Makefile.am
6371                 - Add the CDMA mobile broadband card setting class
6372
6373         * libnm-glib/nm-cdma-device.c
6374           libnm-glib/nm-cdma-device.h
6375           libnm-glib/Makefile.am
6376                 - Add the CDMA mobile broadband card GLib proxy class
6377
6378         * libnm-glib/nm-client.c
6379                 - (get_device): handle CDMA devices too
6380
6381 2008-01-21  Dan Williams  <dcbw@redhat.com>
6382
6383         * src/ppp-manager/nm-ppp-manager.c
6384                 - (ip4_config_get): set peer address too
6385
6386         * src/ppp-manager/nm-pppd-plugin.c
6387                 - (nm_ip_up): try harder to get the peer's address
6388
6389         * src/NetworkManagerSystem.c
6390                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6391                         address, use that too.  Otherwise, some PPP connections won't work.
6392
6393 2008-01-19  Dan Williams  <dcbw@redhat.com>
6394
6395         * src/NetworkManagerPolicy.c
6396                 - (nm_policy_device_change_check): system connections override user
6397                         connections; don't activate a user connection if there's a currently
6398                         active system connection, and new, better system connections always
6399                         interrupt user connections
6400
6401 2008-01-19  Dan Williams  <dcbw@redhat.com>
6402
6403         * src/nm-manager.h
6404                 - (nm_manager_get_connection_type): new function
6405
6406 2008-01-19  Dan Williams  <dcbw@redhat.com>
6407
6408         * src/nm-device-802-11-wireless.c
6409                 - (real_get_best_connection): collapse find_best_connection() into this
6410                         function
6411
6412 2008-01-19  Dan Williams  <dcbw@redhat.com>
6413
6414         * src/nm-device-802-3-ethernet.c
6415                 - (real_get_best_connection): collapse find_best_connection() into this
6416                         function
6417
6418 2008-01-18  Dan Williams  <dcbw@redhat.com>
6419
6420         * src/nm-device-802-3-ethernet.c
6421                 - (find_best_connection): check MAC address too
6422                 - (real_get_best_connection): let autoconnect=True connections activate
6423                         for devices that don't have carrier detection
6424
6425         * src/nm-device-802-11-wireless.c
6426                 - (find_best_connection): check MAC address too
6427
6428 2008-01-18  Dan Williams  <dcbw@redhat.com>
6429
6430         * system-settings/plugins/ifcfg/parser.c
6431                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6432
6433 2008-01-17  Dan Williams  <dcbw@redhat.com>
6434
6435         * src/nm-device-802-3-ethernet.c
6436                 - (nm_device_802_3_ethernet_carrier_on,
6437                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6438                         carrier events that might come in for devices that don't support
6439                         carrier detect
6440
6441 2008-01-17  Dan Williams  <dcbw@redhat.com>
6442
6443         * src/nm-device-interface.c
6444                 - (nm_device_interface_check_connection_conflicts): need to actually
6445                         get the interface, not cast to the object
6446
6447         * src/nm-device.c
6448                 - (nm_device_check_connection_conflicts): need to get the device class,
6449                         not cast the device to the device class
6450
6451 2008-01-17  Dan Williams  <dcbw@redhat.com>
6452
6453         * src/nm-device-802-11-wireless.c
6454                 - (real_check_connection_conflicts): ignore connections that aren't
6455                         wireless connections
6456
6457 2008-01-17  Dan Williams  <dcbw@redhat.com>
6458
6459         * src/NetworkManagerPolicy.c
6460                 - (nm_policy_device_change_check): clear change check idle here
6461                 - (device_change_check_done): remove
6462                 - (schedule_change_check): simplify
6463
6464 2008-01-17  Dan Williams  <dcbw@redhat.com>
6465
6466         * src/nm-manager.c
6467                 - (check_connection_allowed): take an NMDeviceInterface instead of
6468                         an NMDevice object as an argument
6469                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6470                         check_connection_allowed()
6471
6472 2008-01-13  Dan Williams  <dcbw@redhat.com>
6473
6474         * libnm-glib/nm-device-802-11-wireless.c
6475                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6476
6477 2008-01-12  Dan Williams  <dcbw@redhat.com>
6478
6479         * src/nm-device-802-11-wireless.c
6480                 - (activation_success_handler): if a match was found in the scan list
6481                         and that match is a hidden AP, update that AP's SSID
6482
6483 2008-01-11  Dan Williams  <dcbw@redhat.com>
6484
6485         * src/NetworkManagerAP.c
6486                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6487
6488         * src/nm-device-802-11-wireless.c
6489                 - (get_active_ap): do two passes over the scan list if the caller
6490                         requests that hidden APs get matched too; during the second pass
6491                         when matching hidden APs, ignore the SSID since hidden APs in the
6492                         scan list don't have an SSID yet
6493                 - (periodic_update): move some checks to
6494                         nm_device_802_11_periodic_update() because not all callers need them
6495                 - (nm_device_802_11_periodic_update): move some checks here from
6496                         perodic_update()
6497                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6498                         matching on incoming scan results, because the fake AP's flags
6499                         might be slightly different (yet still compatible) with the incoming
6500                         scan result's flags and they might actually be the same AP; update
6501                         the rate on merged APs too
6502                 - (activation_success_handler): update the frequency of the fake AP
6503                         on successful connection; match hidden APs too since if the
6504                         current AP is fake, there might already be a scan result in the
6505                         scan list for the desired AP, just without it's SSID filled in yet
6506
6507 2008-01-10  Dan Williams  <dcbw@redhat.com>
6508
6509         * src/NetworkManagerAP.c
6510                 - (foreach_property_cb): catch more hidden SSID formats
6511
6512 2008-01-10  Dan Williams  <dcbw@redhat.com>
6513
6514         Fix gnome.org #464215.  Requires the kernel patch titled
6515         "Introduce WEXT scan capabilities" but will handle the patch not being
6516         present, you'll just continue to have problems with hidden SSIDs when
6517         using mac80211-based drivers.
6518
6519         * src/supplicant-manager/nm-supplicant-config.h
6520           src/supplicant-manager/nm-supplicant-config.c
6521                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6522                         whether the driver supports SSID scans or not.  If it does, and if
6523                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6524
6525         * src/nm-device-802-11-wireless.c
6526                 - (constructor): check whether or not the driver supports SSID scans
6527                 - (build_supplicant_config): pass driver SSID scan capability when
6528                         building the wireless bits of the supplicant config
6529
6530 2008-01-09  Dan Williams  <dcbw@redhat.com>
6531
6532         * src/nm-device.c
6533           src/nm-device.h
6534                 - (device_activation_precheck, check_connection_complete): remove this
6535                         virtual function; incomplete connections should be invalid by
6536                         definition, complete-ness should be checked in the setting's
6537                         verify function
6538
6539         * src/nm-serial-device.c
6540           src/nm-gsm-device.c
6541                 - (real_check_connection_complete): remove
6542
6543         * libnm-util/nm-setting-serial.c
6544                 - (verify): new function; ensure there is a PPP setting too
6545
6546         * libnm-util/nm-setting-gsm.c
6547                 - (verify): ensure there is a serial setting too
6548
6549 2008-01-06  Dan Williams  <dcbw@redhat.com>
6550
6551         * src/dhcp-manager/nm-dhcp-manager.c
6552                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6553                         (gnome.org #332953)
6554
6555 2008-01-04  Dan Williams  <dcbw@redhat.com>
6556
6557         * src/named-manager/nm-named-manager.c
6558                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6559                         nameservers if the secondary config doesn't have any
6560                         (gnome.org #346833)
6561
6562 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6563
6564         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6565         with G_PARAM_CONSTRUCT so that they get the default values.
6566
6567         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6568         the monitoring device and prints out the output for now. Or more precicely, doesn't
6569         do absolutely anything right now since the montoring device argument is never set.
6570
6571         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6572         requires it's own knob to turn it on.
6573         (config_fd): Add NMSettingSerial to the arguments list.
6574         (nm_serial_device_open): Ditto.
6575         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6576         (nm_serial_device_get_io_channel): Implement.
6577
6578         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6579         a new reference every time (and forgetting to release it sometimes) is a pain and
6580         it's not like NMManager could work without dbus.
6581         (nm_manager_add_device): Register the added device on dbus here.
6582
6583         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6584         device.
6585
6586         * src/nm-device.c (constructor): Don't export the device here, instead export
6587         it when it's added to the NMManager's device list.
6588
6589 2007-12-31  Dan Williams  <dcbw@redhat.com>
6590
6591         * src/nm-device-interface.c
6592           src/nm-device-interface.h
6593                 - (nm_device_interface_check_connection_conflicts): new function
6594
6595         * src/nm-device.c
6596           src/nm-device.h
6597                 - (nm_device_check_connection_conflicts): new function
6598                 - (device_activation_precheck): don't require subclasses to implement
6599                         check_connection_complete()
6600                 - check_connection() -> check_connection_complete()
6601
6602         * src/nm-device-802-11-wireless.c
6603                 - (real_check_connection): remove; unused
6604                 - (real_check_connection_conflicts): implement, handle lockdown for
6605                         system connections
6606
6607         * src/nm-device-802-3-ethernet.c
6608                 - (real_check_connection): remove; unused
6609
6610         * src/nm-manager.c
6611                 - (check_connection_allowed): new function
6612                 - (nm_manager_activate_device): ensure the connection being requested
6613                         is allowed to be activated
6614
6615         * src/nm-serial-device.c
6616           src/nm-gsm-device.c
6617                 - real_check_connection() -> real_check_connection_complete()
6618
6619 2007-12-27  Dan Williams  <dcbw@redhat.com>
6620
6621         * src/nm-device-interface.c
6622           src/nm-device-interface.h
6623                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6624                         normalize and expand errors
6625                 - (nm_device_interface_init): register errors so they can be marshalled
6626                         through dbus-glib
6627                 - (nm_device_interface_activate): ensure that failure of activation
6628                         returns an error
6629
6630         * src/nm-device.c
6631           src/nm-device.h
6632                 - (device_activation_precheck): implementations of check_connection()
6633                         now take a GError and must fill it in if the check fails.  Return
6634                         more descriptive error if the requested connection is already
6635                         activating
6636                 - (nm_device_activate): actually try to return descriptive errors on
6637                         failures
6638
6639         * src/nm-device-802-11-wireless.c
6640           src/nm-device-802-3-ethernet.c
6641           src/nm-serial-device.c
6642           src/nm-gsm-device.c
6643                 - (real_check_connection): return more descriptive errors on failure
6644
6645         * src/NetworkManagerPolicy.c
6646                 - (nm_policy_device_change_check): print activation errors in the logs
6647
6648         * src/nm-manager.c
6649                 - (nm_manager_error_quark, nm_manager_error_get_type,
6650                    nm_manager_class_init): new errors
6651                 - (nm_manager_activate_device): handle errors
6652                 - (nm_manager_error_new): removed
6653                 - (wait_for_connection_expired, connection_added_default_handler,
6654                    impl_manager_activate_device): better error handling
6655
6656 2007-12-27  Dan Williams  <dcbw@redhat.com>
6657
6658         Fixes gnome.org #466954
6659
6660         * src/supplicant-manager/nm-supplicant-settings-verify.c
6661                 - Allow 'frequency' network property
6662
6663         * src/supplicant-manager/nm-supplicant-config.c
6664           src/supplicant-manager/nm-supplicant-config.h
6665                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6666                         for callers to specify the frequency an Ad-Hoc network should operate
6667                         on.  Some drivers require this to successfully create an Ad-Hoc
6668                         network.
6669
6670         * src/nm-device-802-11-wireless.c
6671                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6672                         guint32 value in MHz
6673                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6674                         iw_freq_to_uint32()
6675                 - (find_supported_frequency): new function; find a free supported
6676                         frequency for a user-created Ad-Hoc network
6677                 - (build_supplicant_config): if no frequency was specified for a user-
6678                         created Ad-Hoc network, find a free one to use
6679                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6680                         a specific object as user-created
6681
6682 2007-12-27  Dan Williams  <dcbw@redhat.com>
6683
6684         * libnm-util/nm-utils.c
6685           libnm-util/nm-utils.h
6686                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6687                         for adhoc networks
6688
6689 2007-12-24  Dan Williams  <dcbw@redhat.com>
6690
6691         * libnm-util/nm-setting-wireless.c
6692                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6693                         185, 187, 188, 192, and 196
6694
6695 2007-12-24  Dan Williams  <dcbw@redhat.com>
6696
6697         * src/nm-device-802-11-wireless.c
6698                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6699                         a channel # instead of a frequency
6700
6701 2007-12-24  Dan Williams  <dcbw@redhat.com>
6702
6703         * src/NetworkManagerAP.c
6704           src/NetworkManagerAP.h
6705                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6706                 - (freq_to_channel): handle split band tables
6707                 - (channel_to_freq): handle split band tables, take a band argument
6708
6709 2007-12-24  Dan Williams  <dcbw@redhat.com>
6710
6711         * libnm-util/nm-setting-connection.h
6712           libnm-util/nm-setting-connection.c
6713                 - Add 'lockdown' member
6714
6715 2007-12-22  Dan Williams  <dcbw@redhat.com>
6716
6717         * libnm-util/nm-setting-wireless.c
6718                 - (nm_setting_wireless_class_init): add missing 'rate' property
6719                         specification
6720
6721 2007-12-18  Dan Williams  <dcbw@redhat.com>
6722
6723         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6724
6725         * src/nm-netlink-monitor.c
6726           src/nm-netlink-monitor.h
6727                 - Remove handrolled netlink, use libnl instead
6728
6729         * src/nm-device-802-3-ethernet.c
6730                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6731                    nm_device_802_3_ethernet_carrier_on): use new names
6732
6733 2007-12-17  Dan Williams  <dcbw@redhat.com>
6734
6735         * configure.in
6736                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6737                         and fixes memory leaks)
6738
6739         * src/nm-netlink.c
6740                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6741                         automatically handle the netlink PID
6742
6743 2007-12-17  Dan Williams  <dcbw@redhat.com>
6744
6745         Patch from Michael Biebl <biebl@debian.org>
6746
6747         * configure.in
6748           src/ppp-manager/Makefile.am
6749                 - fix up install dir of pppd plugin
6750                 - clean up configure.in a bit
6751
6752 2007-12-12  Dan Williams  <dcbw@redhat.com>
6753
6754         * system-settings/src/nm-system-settings.conf
6755                 - Allow non-root clients (like the applet) to read settings
6756
6757 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6758
6759         * Replace all occurences of 'UMTS' with 'GSM'.
6760
6761 2007-12-07  Dan Williams  <dcbw@redhat.com>
6762
6763         * src/nm-serial-device.c
6764                 - (real_is_up): serial devices are always "up"
6765
6766 2007-12-07  Dan Williams  <dcbw@redhat.com>
6767
6768         * src/nm-netlink.c
6769           src/NetworkManagerSystem.c
6770                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6771                         twice (gnome.org #491047)
6772                 - Make more robust against allocation-related failures should they occur
6773
6774 2007-12-07  Dan Williams  <dcbw@redhat.com>
6775
6776         Noticed by Christian Persch <chpe@gnome.org>
6777
6778         Always chain up to parent object in dispose and finalize handlers.
6779                 (gnome.org #433112)
6780
6781 2007-12-07  Dan Williams  <dcbw@redhat.com>
6782
6783         * src/nm-device-802-11-wireless.c
6784                 - Wrap #include of linux/mii.h to fix redefined structures due to
6785                         incorrect kernel headers (gnome.org #350061)
6786
6787 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6788
6789         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6790         before doing anything else.
6791         (init_modem): Move modem initialization here.
6792
6793         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6794         (nm_serial_device_flash): Implement.
6795
6796         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6797         changes signal is "StateChanged" and not "Status".
6798         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6799
6800 2007-12-06  Dan Williams  <dcbw@redhat.com>
6801
6802         * src/supplicant-manager/nm-supplicant-config.c
6803                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6804                         to only send some options when they make sense; also send phase2
6805                         option to the supplicant (possible fix for rh #399631)
6806
6807 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6808
6809         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6810         arguments: This whole file shouldn't really know anything about NMDevices, it
6811         should deal only with device interfaces. Devices might have different ifaces for
6812         different stuff and this place shouldn't know anything about it.
6813
6814         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6815         (global_state_changed): Implement. In the current NM it's not really important,
6816         but will be required in the case of multiple active devices. (Or even better,
6817         if stuff like that gets moved out from NM).
6818
6819         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6820         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6821         instead.
6822
6823         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6824         devices like serial devices (ttyS0 and ppp0 for example).
6825         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6826         set.
6827         (nm_device_set_ip_iface): Implement.
6828         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6829         after setting ip4_config from here ...
6830         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6831         than this function should call nm_system_device_set_from_ip4_config() because no
6832         other code has enough information on which arguments to use. So instead, other code
6833         could just set the new ip4 config using this function and everyone is happy.
6834
6835         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6836         if we happen to get deactivated while something is pending.
6837         (automatic_registration): Handle the response that indicates pending network
6838         registration and wait until the pending registration is done.
6839         (real_deactivate_quickly): If there's a pending operation, cancel it.
6840
6841         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6842         (real_deactivate_quickly): ... and remove it when it's down.
6843         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6844         it if needed.
6845         (nm_serial_device_wait_for_reply): Ditto.
6846
6847 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6848
6849         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6850         (get_network_done): Remove newline, nm_info() does it already.
6851         (real_act_stage1_prepare): Turn the modem echo off.
6852
6853         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6854         device, set the route to the device interface. This is a hack.
6855
6856         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6857         return, no need for a new-line.
6858         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6859         Change the device iface here (ugh).
6860         (real_act_stage4_get_ip4_config): Implement.
6861         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6862         Restore the device iface.
6863
6864         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6865         device is not wired or wireless (eg, automatically upped) device.
6866
6867         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6868         it isn't.
6869         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6870
6871         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6872         before calling it's is_device_fn().
6873
6874 2007-12-05  Dan Williams  <dcbw@redhat.com>
6875
6876         * libnm-util/nm-utils.c
6877                 - (nm_utils_register_value_transformations,
6878                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6879                         GHashTables of GValues too
6880
6881 2007-12-04  Dan Williams  <dcbw@redhat.com>
6882
6883         * initscript/RedHat/NetworkManager.in
6884                 - No longer start named; it's D-Bus interface is going away
6885
6886 2007-12-04  Dan Williams  <dcbw@redhat.com>
6887
6888         Patch from Michael Biebl <biebl@debian.org>
6889
6890         * system-settings/plugins/ifcfg/Makefile.am
6891           system-settings/src/main.c
6892           system-settings/src/Makefile.am
6893                 - Put system settings plugins in NM plugins dir
6894
6895         * src/ppp-manager/Makefile.am
6896           src/ppp-manager/nm-ppp-manager.c
6897                 - Move pppd plugin to NM plugins dir
6898
6899 2007-12-04  Dan Williams  <dcbw@redhat.com>
6900
6901         * libnm-util/nm-setting-vpn-properties.h
6902                 - Clarify usage of the 'data' member of the setting
6903
6904         * libnm-util/nm-setting-vpn-properties.c
6905                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6906                 - (set_property): just remove all the settings; don't recreate the has
6907                 - (update_one_secret): don't need to create the hash table here since
6908                         it should always be present
6909
6910 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6911
6912         Implement PIN and PUK requesting.
6913
6914         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6915         (enter_pin): Handle PIN and PUK requests.
6916         (real_act_stage1_prepare): Clear the secret type.
6917         (real_connection_secrets_updated): Implement this class method to get
6918         notified when new secrets arrive.
6919         (nm_umts_device_class_init): Add private data back to the umts device class
6920         to store the required secret type.
6921
6922 2007-12-01  Dan Williams  <dcbw@redhat.com>
6923
6924         * system-settings/plugins/ifcfg/parser.c
6925                 - (parser_parse_file): don't try to verify NULL connections
6926
6927 2007-12-01  Dan Williams  <dcbw@redhat.com>
6928
6929         * system-settings/src/main.c
6930                 - (load_connections, add_connection_to_settings): actually export
6931                         plugin-provided connections over D-Bus so NM can get them
6932
6933 2007-12-01  Dan Williams  <dcbw@redhat.com>
6934
6935         * system-settings/plugins/ifcfg/parser.c
6936           system-settings/plugins/ifcfg/parser.h
6937           system-settings/plugins/ifcfg/plugin.c
6938                 - Hook up more inotify bits (untested)
6939
6940 2007-11-29  Dan Williams  <dcbw@redhat.com>
6941
6942         * system-settings/src/nm-system-config-interface.h
6943           system-settings/src/nm-system-config-interface.c
6944                 - (nm_system_config_interface_init,
6945                    nm_system_config_interface_get_connections): add
6946
6947         * system-settings/src/main.c
6948                 - (load_plugins, load_connections, main): use a GSList for plugins
6949                         to ensure priority ordering
6950
6951         * system-settings/plugins/ifcfg/parser.c
6952                 - (ifcfg_error_quark): move to plugin.c, and rename
6953
6954         * system-settings/plugins/ifcfg/plugin.h
6955           system-settings/plugins/ifcfg/plugin.c
6956                 - (ifcfg_plugin_error_quark): move here from parser.c
6957                 - rework connection loading and initialization
6958                 - Add preliminary inotify support for network profile config file
6959
6960 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6961
6962         Merge the beginnings of the new GSM card support.
6963
6964         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6965         ppp watch source before killing pppd - If this happens from g_object_unref()
6966         then the ppp manager is already destroyed by the time the watch callback runs.
6967
6968         * src/nm-hal-manager.c: Add a device_type_name string to the device
6969         creators, so that we can print a nice human readable string when a
6970         device is added.
6971
6972         * src/nm-umts-device.c (automatic_registration_get_network): Query
6973         for the activated network, not much is done with the result thought.
6974
6975         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6976         (ppp_ip4_config): Change the device state to activated here for now.
6977         (real_check_connection): Make sure the connection includes ppp setting.
6978
6979         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6980
6981         * libnm-glib/Makefile.am: Add the new files to build.
6982
6983         * libnm-glib/nm-umts-device.c: 
6984         * libnm-glib/nm-umts-device.h: Implement.
6985
6986 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6987
6988         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6989         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6990
6991         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6992         the timeout source - this function is only called when the timeout source has
6993         been removed.
6994         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6995         to be big enough to contain the terminating zero element as well.
6996         The timeout argument is meant to be in seconds now.
6997         (real_deactivate_quickly): Implement.
6998
6999         * src/NetworkManager.conf: Allow root to own 
7000         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
7001
7002         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
7003         (not unsigned ints).
7004
7005         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
7006         small issue with parity bounds - capital letters have lower ascii codes
7007         than lower case letters.
7008
7009         * libnm-util/nm-connection.c (register_default_settings): Register serial
7010         and umts settings.
7011
7012 2007-11-22  Tambet Ingo  <tambet@gmail.com>
7013
7014         Remove the "index" property from devices as not all device types have this.
7015
7016         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
7017
7018         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
7019         (wired_device_creator): Get the device interface from hal to create the device.
7020         (wireless_device_creator): Ditto.
7021
7022         * src/nm-device.c (nm_device_init): Remove the index member.
7023         (constructor): Remove the checks for index property, make interface property
7024         a require constructor property.
7025         Use the HAL udi for DBus path for devices.
7026         (nm_device_get_index): Remove.
7027         (set_property): Remove index handling.
7028         (get_property): Ditto.
7029         (nm_device_get_dbus_path): Remove.
7030
7031         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
7032         property.
7033
7034         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
7035         Access the device index through it's interface.
7036         (nm_device_802_3_ethernet_link_deactivated): Ditto.
7037         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
7038         index argument. Add interface argument.
7039
7040         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
7041         the useless test_dev argument. Remove index argument. Add interface arugment.
7042
7043         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
7044         device index through interface.
7045         (nm_system_set_mtu): Ditto.
7046
7047         * introspection/nm-device.xml: Remove the "Index" property.
7048
7049 2007-11-21  Tambet Ingo  <tambet@gmail.com>
7050
7051         * src/nm-serial-device.c: 
7052         * src/nm-serial-device.c: 
7053         * src/nm-umts-device.c:
7054         * src/nm-umts-device.h: Implement.
7055
7056         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7057         allocated by libhal.
7058         (modem_device_creator): Implement.
7059         (register_built_in_creators): Register the modem creator.
7060
7061         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7062         Remove the unused test_dev argument.
7063
7064         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7065
7066         * src/Makefile.am: Add new files to build.
7067         Link in ppp-manager.
7068
7069         * libnm-util/nm-setting-umts.c: 
7070         * libnm-util/nm-setting-umts.h: 
7071         * libnm-util/nm-setting-serial.c: 
7072         * libnm-util/nm-setting-serial.h: Implement.
7073
7074         * libnm-util/Makefile.am: Add new files to build.
7075
7076 2007-11-28  Dan Williams  <dcbw@redhat.com>
7077
7078         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7079
7080         Support DHCP-provided static routes.
7081
7082         * src/nm-ip4-config.h
7083           src/nm-ip4-config.c
7084                 - Add get/set functions for static routes
7085
7086         * src/dhcp-manager/nm-dhcp-manager.c
7087                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7088                         DHCP response
7089
7090         * src/NetworkManagerSystem.c
7091                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7092                         interface when applying the IP4Config
7093
7094 2007-11-28  Dan Williams  <dcbw@redhat.com>
7095
7096         * src/nm-device-802-11-wireless.c
7097                 - (real_act_stage1_prepare): mark APs created for hidden networks
7098                         as non-broadcasting
7099
7100 2007-11-27  Dan Williams  <dcbw@redhat.com>
7101
7102         * system-settings/src/nm-system-config-interface.h
7103                 - Note how to store secrets on NMSetting objects
7104
7105         * system-settings/src/dbus-settings.c
7106                 - (connection_settings_get_secrets): implement
7107
7108 2007-11-27  Dan Williams  <dcbw@redhat.com>
7109
7110         * system-settings/plugins/ifcfg/Makefile.am
7111           system-settings/plugins/ifcfg/parser.c
7112           system-settings/plugins/ifcfg/parser.h
7113           system-settings/plugins/ifcfg/plugin.c
7114                 - Parse wireless connections too
7115
7116         * system-settings/src/dbus-settings.c
7117           system-settings/src/dbus-settings.h
7118           system-settings/src/main.c
7119                 - Handle connection update/removal if the plugin supports it
7120
7121 2007-11-27  Dan Williams  <dcbw@redhat.com>
7122
7123         * src/nm-dbus-manager.h
7124           src/nm-hal-manager.c
7125                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7126                         do it for them
7127
7128         * src/Makefile.am
7129           src/NetworkManagerDbusUtils.c
7130           src/NetworkManagerDbusUtils.h
7131                 - Remove these two source files; they are unused
7132
7133 2007-11-27  Dan Williams  <dcbw@redhat.com>
7134
7135         * src/vpn-manager/nm-vpn-manager.c
7136                 - (impl_vpn_manager_connect): fix system settings check (found by
7137                         James M. Leddy)
7138
7139 2007-11-26  Dan Williams  <dcbw@redhat.com>
7140
7141         * Fix warnings so everything compiles with --enable-more-warnings
7142
7143 2007-11-25  Dan Williams  <dcbw@redhat.com>
7144
7145         * system-settings/*
7146                 - Rework structure and code to use GModule-loaded plugins and a plugin
7147                         interface that plugins export to the system settings service
7148
7149 2007-11-21  Dan Williams  <dcbw@redhat.com>
7150
7151         * system-settings/*
7152                 - Add Soren's system settings service.  Needs work for distros other
7153                         than Fedora; the backends from NM should mostly migrate to here
7154                         and be converted to GObjects
7155
7156 2007-11-21  Dan Williams  <dcbw@redhat.com>
7157
7158         * libnm-util/nm-setting-vpn-properties.c
7159                 - (set_property): must deep-copy the given settings hash, otherwise
7160                         double-free errors occur when the setting is disposed of
7161
7162 2007-11-21  Dan Williams  <dcbw@redhat.com>
7163
7164         * src/vpn-manager/nm-vpn-act-request.h
7165           src/vpn-manager/nm-vpn-act-request.c
7166                 - Remove; unused
7167
7168 2007-11-20  Dan Williams  <dcbw@redhat.com>
7169
7170         * libnm-util/nm-utils.c
7171                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7172                    nm_utils_convert_ip4_addr_struct_array_to_string,
7173                    nm_utils_register_value_transformations): print out the readable
7174                         values of more types of properties of NMSettings subclasses
7175
7176 2007-11-20  Dan Williams  <dcbw@redhat.com>
7177
7178         * libnm-util/nm-setting-ip4-config.c
7179                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7180                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7181                         marshal GValueArrays inside collections, so switch to types that it
7182                         can actually marshal/demarshal
7183
7184 2007-11-16  Dan Williams  <dcbw@redhat.com>
7185
7186         * libnm-util/nm-setting-wireless-security.c
7187                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7188                         minimal verification of EAP methods too
7189                 - (verify): verify phase1 eap methods too
7190
7191 2007-11-15  Dan Williams  <dcbw@redhat.com>
7192
7193         * libnm-glib/nm-device.h
7194           libnm-glib/nm-device.c
7195                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7196                         const char *
7197
7198 2007-11-15  Dan Williams  <dcbw@redhat.com>
7199
7200         * libnm-glib/nm-device.c
7201                 - (get_product_and_vendor): don't try to free things that should be
7202                         freed
7203
7204 2007-11-15  Dan Williams  <dcbw@redhat.com>
7205
7206         * src/NetworkManagerUtils.c
7207                 - (nm_ethernet_address_is_valid): unbreak previous fix
7208
7209 2007-11-15  Dan Williams  <dcbw@redhat.com>
7210
7211         * src/supplicant-manager/nm-supplicant-config.c
7212                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7213                         options
7214
7215 2007-11-15  Dan Williams  <dcbw@redhat.com>
7216
7217         * src/NetworkManagerUtils.c
7218                 - (nm_ethernet_address_is_valid): fix style, clarify
7219                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7220
7221         * src/nm-device-802-11-wireless.c
7222                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7223                 - (nm_device_802_11_wireless_get_ssid,
7224                    nm_device_802_11_wireless_get_bssid,
7225                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7226                         before calling the ioctl; fixes valgrind-reported jump depends on
7227                         uninitialized value errors
7228
7229 2007-11-15  Dan Williams  <dcbw@redhat.com>
7230
7231         * libnm-util/nm-setting.c
7232                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7233                         unecessary to serialize 'name'
7234
7235         * src/nm-activation-request.c
7236                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7237                         the GetSecrets call
7238
7239 2007-11-15  Dan Williams  <dcbw@redhat.com>
7240
7241         * libnm-util/nm-setting-connection.h
7242           libnm-util/nm-setting-connection.c
7243                 - Rename the 'name' property to 'id', because it conflicted with the
7244                         NMSetting superclass' 'name' property.
7245
7246         * libnm-util/nm-setting.c
7247                 - (nm_setting_to_hash): serialize the 'name' property
7248                 - (one_property_cb): ignore 'name' on deserialization of a connection
7249
7250         * src/nm-device-802-11-wireless.c
7251           src/vpn-manager/nm-vpn-connection.c
7252           src/NetworkManagerPolicy.c
7253                 - Fix up for NMSettingConnection 'name'->'id' changes
7254
7255 2007-11-13  Dan Williams  <dcbw@redhat.com>
7256
7257         * libnm-glib/nm-device-802-11-wireless.h
7258           libnm-glib/nm-device-802-11-wireless.c
7259                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7260
7261         * test/nm-tool.c
7262           libnm-glib/libnm-glib-test.c
7263                 - Fixes for above change
7264
7265 2007-11-12  Dan Williams  <dcbw@redhat.com>
7266
7267         * src/supplicant-manager/nm-supplicant-settings-verify.c
7268                 - Allow fragment_size option
7269
7270         * src/supplicant-manager/nm-supplicant-settings-verify.c
7271                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7272                         EAP fragment size than the default to help some TLS connections
7273
7274 2007-11-12  Dan Williams  <dcbw@redhat.com>
7275
7276         Make certs actually work.  The private key is now a secret, and should be
7277         decrypted when requested by NM.  The private key and phase2 private key
7278         passwords are no longer interesting to NM because they should be used by
7279         the settings service to decrypt the private key itself before passing it
7280         to NM, and hence have been removed as fields.
7281
7282         * libnm-util/nm-setting-wireless-security.h
7283           libnm-util/nm-setting-wireless-security.c
7284                 - Remove private-key-passwd and phase2-private-key-passwd from
7285                         properties
7286                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7287                    need_secrets): use property #defines instead strings to keep things
7288                         consistent
7289                 - (need_secrets_tls): if a client certificate is present but no
7290                         private key, request the private key
7291                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7292                         remove private key password stuff, mark private keys as secret
7293
7294         * src/supplicant-manager/nm-supplicant-settings-verify.c
7295                 - Remove private_key_passwd and private_key2_passwd from opt_table
7296
7297 2007-11-09  Dan Williams  <dcbw@redhat.com>
7298
7299         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7300         Since the vpn-properties are managed and known by the VPN daemons themselves,
7301         libnm-util doesn't know what's secret and what's in the setting's 'data'
7302         member.
7303
7304         * libnm-util/nm-setting.h
7305           libnm-util/nm-setting.c
7306                 - Add the ability for subclasses to override update_one_secret
7307
7308         * libnm-util/nm-setting-vpn-properties.c
7309                 - Override update_one_secret and just copy the values into the
7310                         internal table
7311
7312 2007-11-09  Dan Williams  <dcbw@redhat.com>
7313
7314         * libnm-glib/nm-settings.h
7315           libnm-glib/nm-settings.c
7316                 - (nm_settings_new_error): remove
7317                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7318                         clients should use g_set_error() with NM_SETTINGS_ERROR
7319
7320 2007-11-09  Dan Williams  <dcbw@redhat.com>
7321
7322         * src/supplicant-manager/nm-supplicant-config.c
7323                 - (nm_supplicant_config_add_setting_wireless_security): private key
7324                         passwords are never sent to wpa_supplicant, because the supplicant
7325                         should never be reading random files from the disk.  Clients like
7326                         the applet are required to decrypt the private keys and send NM
7327                         the decrypted blobs.
7328
7329 2007-11-08  Dan Williams  <dcbw@redhat.com>
7330
7331         * libnm-util/nm-setting-wireless-security.h
7332           libnm-util/nm-setting-wireless-security.c
7333                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7334                         members to 802-11-wireless-security structure.  This should be used
7335                         to indicate that the values in private-key and phase2-private-key
7336                         are already decrypted by the user agent, and that no
7337                         private-key-passwd or phase2-private-key-passwd should be expected.
7338                         It is not meant to be a stored configuration value, but meant to
7339                         be set when the conneciton is sent to NM over dbus.
7340
7341 2007-11-08  Dan Williams  <dcbw@redhat.com>
7342
7343         * libnm-util/nm-connection.h
7344           libnm-util/nm-connection.c
7345                 - (nm_connection_need_secrets): add argument to return hints
7346
7347         * src/nm-device-802-11-wireless.c
7348                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7349                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7350                         nm_connection_need_secrets() change
7351
7352 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7353
7354         Rework NMSetting structures: Move each setting to it's own file.
7355         Convert to GObject. Remove home grown setting types and use GTypes.
7356         Use GObject property introspection for hash conversion, enumerating
7357         properties, etc.
7358
7359         * libnm-util/nm-setting-connection.[ch]
7360         * libnm-util/nm-setting-ip4-config.[ch]
7361         * libnm-util/nm-setting-ppp.[ch]
7362         * libnm-util/nm-setting-vpn.[ch]
7363         * libnm-util/nm-setting-vpn-properties.[ch]
7364         * libnm-util/nm-setting-wired.[ch]
7365         * libnm-util/nm-setting-wireless.[ch]
7366         * libnm-util/nm-setting-wireless-security.[ch]
7367
7368         New files, each containing a setting.
7369
7370         * libnm-util/nm-setting-template.[ch]: A template for creating new
7371         settings. To use it, just replace 'template' with the new setting
7372         name, and you're half-way done.
7373
7374         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7375         introspection instead of internal types and tables.
7376
7377         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7378
7379         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7380         GValue types defined by dbus-glib for composed types like collections,
7381         structures and maps.
7382
7383         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7384         a setting from connection takes the setting type now. Also, since
7385         the settings are in multiple files, include relevant settings.
7386
7387 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7388
7389         * configure.in:
7390         * src/backends/NetworkManagerGentoo.c:
7391         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7392         providers in Gentoo.
7393
7394 2007-10-31  Dan Williams  <dcbw@redhat.com>
7395
7396         * libnm-util/nm-connection.c
7397                 - (gvalue_to_string): handle UINT32 arrays
7398
7399 2007-10-31  Dan Williams  <dcbw@redhat.com>
7400
7401         * libnm-glib/nm-device.h
7402           libnm-glib/nm-device.c
7403                 - (nm_device_get_description): remove
7404                 - (nm_device_get_product, nm_device_get_vendor): add
7405                 - (nm_device_update_description): new function (private); walk HAL
7406                         devices to get product and vendor IDs for a specific device
7407
7408 2007-10-31  Dan Williams  <dcbw@redhat.com>
7409
7410         * src/nm-device-802-11-wireless.c
7411                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7412
7413 2007-10-29  Dan Williams  <dcbw@redhat.com>
7414
7415         * src/nm-hal-manager.c
7416                 - (device_added, device_new_capability): ignore device additions while
7417                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7418                         kernel module is unloaded and reloaded and recognized by NM again.
7419
7420 2007-10-26  Dan Williams  <dcbw@redhat.com>
7421
7422         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7423
7424         * src/NetworkManagerAP.c
7425           src/NetworkManagerAP.h
7426           libnm-glib/nm-access-point.c
7427           libnm-glib/nm-access-point.h
7428                 - Make 'rate' property a guint32 to better match with WEXT and
7429                         wpa_supplicant and to allow representation of higher bitrates
7430
7431         * src/nm-device-802-11-wireless.c
7432           introspection/nm-device-802-11-wireless.xml
7433           libnm-glib/nm-device-802-11-wireless.c
7434           libnm-glib/nm-device-802-11-wireless.h
7435                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7436
7437         * src/nm-device-802-3-ethernet.c
7438           src/nm-device-802-3-ethernet.h
7439           introspection/nm-device-802-3-ethernet.xml
7440           libnm-glib/nm-device-802-3-ethernet.c
7441           libnm-glib/nm-device-802-3-ethernet.h
7442                 - Make 'speed' property a guint32 to match other speed/rate types
7443                 - Make nm_device_802_3_ethernet_get_speed() static
7444
7445         * test/nm-tool.c
7446                 - Update for the changes above
7447
7448 2007-10-26  Dan Williams  <dcbw@redhat.com>
7449
7450         * src/named-manager/nm-named-manager.c
7451                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7452                     not calling fclose() twice on some error conditions
7453
7454 2007-10-26  Dan Williams  <dcbw@redhat.com>
7455
7456         * src/nm-activation-request.c
7457                 - (dispose): clean up indentation; get the right DBusGProxy object to
7458                         cancel the GetSecrets pending call on.  Need to use the Secrets
7459                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7460                         pending call doesn't get canceled, and pressing Cancel in the
7461                         applet's password dialog could cause get_secrets_cb() to be called
7462                         after the activation request has already been destroyed
7463
7464 2007-10-24  Dan Williams  <dcbw@redhat.com>
7465
7466         * src/supplicant-manager/nm-supplicant-config.c
7467                 - (nm_supplicant_config_add_blob): pass blob data and length for
7468                         verification
7469                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7470
7471 2007-10-24  Dan Williams  <dcbw@redhat.com>
7472
7473         * src/supplicant-manager/nm-supplicant-settings-verify.c
7474                 - (opt_table): max length for certificates should be 65536
7475
7476 2007-10-24  Dan Williams  <dcbw@redhat.com>
7477
7478         * src/supplicant-manager/nm-supplicant-interface.c
7479                 - (blob_free): correctly free blob data after use
7480                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7481
7482 2007-10-24  Dan Williams  <dcbw@redhat.com>
7483
7484         * libnm-util/nm-setting.c
7485                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7486                         EAP method need secrets
7487
7488 2007-10-24  Dan Williams  <dcbw@redhat.com>
7489
7490         * src/backends/NetworkManagerRedHat.c
7491                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7492
7493 2007-10-23  Dan Williams  <dcbw@redhat.com>
7494
7495         * libnm-util/nm-setting.c
7496           libnm-util/nm-setting.c
7497                 - (nm_setting_compare): implement
7498                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7499                    compare_one_hash_gvalue): compare the contents of a setting
7500
7501         * libnm-util/nm-connection.c
7502                 - (nm_connection_compare): implement
7503
7504 2007-10-23  Dan Williams  <dcbw@redhat.com>
7505
7506         * src/nm-activation-request.c
7507                 - (get_secrets_cb): handle getting a setting back that is more than
7508                         just secrets (ie, user changed auth or EAP method or something)
7509
7510 2007-10-23  Dan Williams  <dcbw@redhat.com>
7511
7512         * libnm-util/nm-setting.c
7513           libnm-util/nm-setting.h
7514                 - (nm_setting_verify): new function; verify one setting
7515                 - (nm_settings_verify_all): rename from nm_settings_verify()
7516                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7517                         all_settings
7518
7519         * libnm-util/nm-connection.c
7520                 - (nm_connection_replace_settings, nm_connection_verify,
7521                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7522
7523 2007-10-23  Dan Williams  <dcbw@redhat.com>
7524
7525         * src/nm-device-802-11-wireless.c
7526                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7527                         desired behavior
7528
7529 2007-10-23  Dan Williams  <dcbw@redhat.com>
7530
7531         * src/supplicant-manager/nm-supplicant-settings-verify.c
7532                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7533                         nm-settings.c
7534
7535 2007-10-23  Dan Williams  <dcbw@redhat.com>
7536
7537         * src/nm-device-802-11-wireless.c
7538                 - (real_act_stage2_config): after the first association failure,
7539                         if the connection still needs secrets ask the user for them
7540                         explicitly.  After the fourth association failure due to bad
7541                         secrets, fail the connection entirely.  Handles the GetSecrets
7542                         loop that NM gets into when the provided secrets don't match up
7543                         with the connection details.
7544
7545 2007-10-23  Dan Williams  <dcbw@redhat.com>
7546
7547         * src/supplicant-manager/nm-supplicant-config.c
7548                 - (nm_supplicant_config_add_setting_wireless_security): only add
7549                         WPA-specific options when WPA is in use
7550
7551 2007-10-23  Dan Williams  <dcbw@redhat.com>
7552
7553         * src/supplicant-manager/nm-supplicant-config.c
7554                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7555                         secret doesn't need to be unhexified
7556
7557 2007-10-23  Dan Williams  <dcbw@redhat.com>
7558
7559         * libnm-util/nm-setting.c
7560                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7561                         before trying to do something with it
7562
7563 2007-10-23  Dan Williams  <dcbw@redhat.com>
7564
7565         * src/nm-device-802-11-wireless.c
7566                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7567
7568 2007-10-23  Dan Williams  <dcbw@redhat.com>
7569
7570         * src/nm-device-802-11-wireless.c
7571                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7572                         non-SSID-broadcasting APs
7573
7574 2007-10-23  Dan Williams  <dcbw@redhat.com>
7575
7576         * src/NetworkManagerAP.c
7577                 - (match_cipher, security_compatible): remove
7578                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7579                         libnm-util instead
7580
7581 2007-10-23  Dan Williams  <dcbw@redhat.com>
7582
7583         * libnm-util/nm-utils.c
7584           libnm-util/nm-utils.h
7585                 - (nm_utils_ap_security_compatible): common function for checking
7586                         whether a specific AP is compatible with an NMConnection
7587
7588 2007-10-23  Dan Williams  <dcbw@redhat.com>
7589
7590         * libnm-util/nm-setting.c
7591                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7592                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7593                    need_secrets_password, setting_wireless_security_verify): fix
7594                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7595                         secrets logic for each supported EAP method
7596
7597 2007-10-23  Dan Williams  <dcbw@redhat.com>
7598
7599         * src/supplicant-manager/nm-supplicant-config.c
7600                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7601                         config option name, should be "private_key2_passwd"
7602
7603 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7604
7605         Implement support for static IP addresses, additional/overridden DNS and
7606         DNS domain search lists.
7607
7608         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7609         (ip4_addresses_to_gvalue): Implement.
7610         (convert_array_to_byte_array): Implement.
7611         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7612         NM_S_TYPE_IP4_ADDRESSES.
7613         (nm_setting_hash): Ditto.
7614         (default_setting_clear_secrets): Add a default case for the switch: IP address
7615         shouldn't be secret, ever.
7616         (setting_ip4_config_verify): Update, requires addresses in case of manual
7617         configurations.
7618         (setting_ip4_config_destroy): Free stuff.
7619
7620         * src/nm-device.c (merge_ip4_config): Implement.
7621         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7622
7623 2007-10-22  Dan Williams  <dcbw@redhat.com>
7624
7625         * libnm-util/nm-setting.c
7626                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7627                         pairwise cipher options for Dynamic WEP
7628
7629 2007-10-21  Dan Williams  <dcbw@redhat.com>
7630
7631         * src/NetworkManagerAP.c
7632           src/NetworkManagerAP.h
7633                 - Rename 'articifical' -> 'fake' since that's what they are until
7634                         noticed in scans
7635                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7636                         from the attributes in an NMConnection object
7637                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7638                         WPA Enterprise
7639                 - (nm_ap_match_in_list): find a matching AP in a scan list
7640
7641         * src/nm-device-802-11-wireless.c
7642                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7643                         AP when searching the scan list; match on frequency and mode too
7644                 - (nm_device_802_11_wireless_get_frequency): implement
7645                 - (merge_scanned_ap): replace duplicate matching logic with
7646                         nm_ap_match_in_list()
7647                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7648                         the user is trying to connect to a hidden network that is not yet
7649                         known from the scan list
7650                 - (activation_success_handler): now that the card knows the AP's BSSID,
7651                         there may already be a scanned AP in the scan list that is what
7652                         we really wanted to connect to, but didn't know at the time.  Use
7653                         that instead of the 'fake' AP created at activation start and get
7654                         rid of the 'fake' AP 
7655                 - (cull_scan_list): don't remove fake APs
7656
7657 2007-10-21  Dan Williams  <dcbw@redhat.com>
7658
7659         * src/nm-activation-request.h
7660           src/nm-activation-request.c
7661                 - (nm_act_request_set_specific_object): new function; allow setting the
7662                         specific object if one isn't set yet
7663
7664 2007-10-20  Dan Williams  <dcbw@redhat.com>
7665
7666         * src/supplicant-manager/nm-supplicant-config.h
7667           src/supplicant-manager/nm-supplicant-config.c
7668                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7669                         table to store blobs
7670                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7671                         blob hash table
7672                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7673                 - (nm_supplicant_config_add_setting_wireless_security): handle
7674                         options that use certificates (ie, blobs)
7675
7676         * src/nm-device-802-11-wireless.c
7677                 - (build_supplicant_config): pass a UID (just use the connection path)
7678                         to the supplicant config as now required
7679
7680         * src/supplicant-manager/nm-supplicant-interface.c
7681                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7682                         there are any blobs to send to wpa_supplicant, send those first
7683                         before sending the network configuration
7684
7685 2007-10-19  Dan Williams  <dcbw@redhat.com>
7686
7687         Split the GetSecrets() call off to a separate D-Bus interface so that it
7688         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7689         should be able to call GetSecrets().
7690
7691         * include/NetworkManager.h
7692                 - Define the connection secrets D-Bus interface
7693
7694         * src/vpn-manager/nm-vpn-connection.c
7695                 - (clear_need_auth): get the right proxy object for the connection
7696                         secrets interface
7697                 - (get_connection_secrets): use the connection secrets proxy; send
7698                         empty hints in get secrets request
7699
7700         * src/nm-activation-request.c
7701                 - (nm_act_request_request_connection_secrets): use the connection
7702                         secrets proxy; send empty hints in get secrets request
7703
7704         * src/nm-manager.c
7705           src/nm-manager.h
7706                 - (connection_get_settings_cb): set the connection secrets proxy on
7707                         the connection object too
7708                 - (internal_new_connection_cb): create the connection secrets proxy
7709
7710         * introspection/nm-settings-connection.xml
7711                 - Define Connection.Secrets interface and move GetSecrets there
7712                 - Add a 'hints' argument to GetSecrets
7713
7714         * libnm-glib/nm-settings.c
7715           libnm-glib/nm-settings.h
7716                 - (impl_connection_settings_get_secrets): add 'hints' argument
7717
7718 2007-10-19  Dan Williams  <dcbw@redhat.com>
7719
7720         * src/nm-device.c
7721                 - (constructor): add message about what path a device is exported as
7722                         to help in debugging rh #339011
7723
7724 2007-10-17  Dan Williams  <dcbw@redhat.com>
7725
7726         * libnm-util/nm-utils.h
7727           libnm-util/nm-utils.c
7728                 - (nm_utils_security_valid): common function to help find the intersection
7729                         of capabilities of devices and (optionally) access points
7730
7731 2007-10-17  Dan Williams  <dcbw@redhat.com>
7732
7733         * src/nm-device-802-11-wireless.c
7734                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7735                         don't get erroneously cleared
7736
7737 2007-10-17  Dan Williams  <dcbw@redhat.com>
7738
7739         * src/nm-manager.h
7740           src/nm-manager.c
7741           src/nm-hal-manager.c
7742                 - (device_removed, finalize, nm_manager_remove_device,
7743                    nm_manager_sleep): add a 'deactivate' argument to 
7744                    nm_manager_remove_device() to fully deactivate devices when necessary
7745                    (ie, always except when waking up)
7746
7747 2007-10-16  Dan Williams  <dcbw@redhat.com>
7748
7749         * libnm-util/nm-setting.c
7750                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7751                         also isn't valid phase2 autheap method
7752
7753 2007-10-16  Dan Williams  <dcbw@redhat.com>
7754
7755         * libnm-glib/nm-client.c
7756                 - (update_wireless_status): consolidate updates of wireless status
7757                 - (constructor): use update_wireless_status()
7758                 - (manager_running): set wireless status off when NM goes away; requery
7759                         the wireless status when NM comes back
7760
7761 2007-10-16  Dan Williams  <dcbw@redhat.com>
7762
7763         * libnm-glib/nm-client.c
7764                 - (nm_client_activate_device): actually use the fixed-up specific
7765                         object path
7766
7767 2007-10-16  Dan Williams  <dcbw@redhat.com>
7768
7769         * src/nm-hal-manager.c
7770                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7771                         killswitch error messages once
7772
7773 2007-10-16  Dan Williams  <dcbw@redhat.com>
7774
7775         * src/nm-manager.c
7776                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7777                         if it's disabled in hardware; don't touch network devices while
7778                         NM is asleep
7779
7780 2007-10-16  Dan Williams  <dcbw@redhat.com>
7781
7782         * libnm-util/nm-client.c
7783                 - (nm_client_activate_device): convert NULL specific_object to "/",
7784                         which is used in place of NULL
7785
7786         * src/nm-manager.c
7787                 - (impl_manager_activate_device): convert "/" specific_object back into
7788                         NULL
7789
7790 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7791
7792         Implement a generic NMSetting creator from setting name.
7793         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7794         add a virtual function 'populate_fn'.
7795
7796         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7797         (register_default_creators): Register setting creators instead of functions
7798         that create and then populate.
7799         (parse_one_setting): Use the common setting creator and then setting specific
7800         poplulation function.
7801
7802         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7803         they all looked exactly the same.
7804         Add a 'populate_fn' virtual function to NMSetting.
7805         Use default virtual functions in case they are not overriden.
7806         (nm_setting_populate_from_hash): Implement.
7807
7808         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7809         name, use a defined string.
7810         (real_act_stage4_get_ip4_config): Ditto.
7811
7812 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7813
7814         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7815         HAL is int, not uint.
7816
7817 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7818
7819         Implement killswitch polling through HAL.
7820
7821         * src/nm-manager.c: Add wireless hardware status property. Add 
7822         'properties-changed' signal for changes in wireless and wireless hardware
7823         state changes.
7824
7825         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7826         and update NMManager's wireless hardware state when it has changed.
7827         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7828         already does that.
7829
7830         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7831         values of wireless state and wireless hardware state. Listen for the
7832         'properties-changed' signals, update the cached values and emit notify.
7833
7834         * include/NetworkManager.h: Fix a typo in a comment.
7835
7836 2007-10-14  Dan Williams  <dcbw@redhat.com>
7837
7838         * libnm-util/nm-setting.c
7839                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7840
7841 2007-10-13  Dan Williams  <dcbw@redhat.com>
7842
7843         * libnm-util/nm-setting.h
7844           libnm-util/nm-setting.c
7845           src/supplicant-manager/nm-supplicant-config.c
7846                 - Make the 'proto' field of the 802-11-wireless-security field a
7847                         string list
7848
7849 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7850
7851         Rework the "properties-changed" signal listening implementation.
7852         Add a generic implementation to NMObject class that listens for
7853         the signal and calls property setters of the target NMObject.
7854
7855         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7856
7857         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7858         code to the end of file so that all the static functions are available
7859         without extra declarations.
7860         Remove the "properties-changed" signal handling and use the framework from
7861         NMObject.
7862         Implement property setters for properties that change with 
7863         "properties-changed" signal.
7864
7865         * libnm-glib/nm-access-point.c: Ditto.
7866
7867 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7868
7869         Rework the "properties-changed" signal implementation.
7870         In classes that need to use it, just emit "GObject::notify" and the new
7871         framework takes care of the rest to make the signal available on dbus.
7872         The framework queues the notifications and tries to send as many together
7873         in one signal as possible.
7874
7875         * src/nm-properties-changed-signal.c:
7876         * src/nm-properties-changed-signal.h: Implement.
7877
7878         * src/Makefile.am: Add new files to build.
7879
7880         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7881         signal.
7882
7883         * src/nm-device-802-11-wireless.c: Ditto.
7884
7885 2007-10-10  Dan Williams  <dcbw@redhat.com>
7886
7887         * src/nm-manager.c
7888                 - (wait_for_connection_expired): ensure info is valid
7889                 - (connection_added_default_handler): Should only remove pending
7890                         connection info when the manager has the connection that it's
7891                         waiting for.  Fixes segfault in wait_for_connection_info().  
7892
7893 2007-10-10  Dan Williams  <dcbw@redhat.com>
7894
7895         * libnm-util/nm-setting.c
7896           libnm-util/nm-setting.h
7897                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7898                         can use if they choose.  Should be filled in by the settings service
7899                         on-the-fly with the currently logged in user's username
7900
7901 2007-10-10  Dan Williams  <dcbw@redhat.com>
7902
7903         * src/nm-device-802-11-wireless.c
7904                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7905                         as such, because even if the manager fills in the SSID, NM still
7906                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7907                         its SSID
7908
7909 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7910
7911         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7912         code that used NM's own version of dbus signal handling and custom dictionary
7913         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7914         and we get to maintain over 2000 lines less code.
7915
7916         * libnm-util/dbus-dict-helpers.c:
7917         * libnm-util/dbus-dict-helpers.h: Remove.
7918
7919         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7920
7921         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7922
7923         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7924         handlers.
7925
7926         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7927
7928         * configure.in: Remove test/libnm-util/Makefile creation.
7929
7930         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7931
7932         * test/libnm-util/: Remove the whole directory.
7933
7934 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7935
7936         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7937         device_state_changed_idle_id variable or it would contain some random value and the
7938         schedule_change_check calls would not do anything.
7939
7940 2007-10-09  Dan Williams  <dcbw@redhat.com>
7941
7942         * src/nm-device-802-11-wireless.c
7943                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7944                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7945                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7946                         merging of non-SSID-broadcasting APs
7947
7948 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7949
7950         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7951         "guint8 *" since it's usually used with GByteArray->data.
7952         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7953
7954 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7955
7956         * src/NetworkManagerUtils.c
7957         (nm_utils_is_empty_ssid):
7958         (nm_utils_escape_ssid):
7959         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7960         lot of places, so they belong to libnm-utils instead.
7961
7962         Now with 100% less compiler warnings:
7963
7964         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7965         (nm_dbus_unescape_object_path): Ditto.
7966         (nm_utils_ssid_to_utf8): Ditto.
7967         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7968         (nm_utils_escape_ssid): Ditto.
7969         (nm_utils_same_ssid): Ditto.
7970
7971         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7972         (add_one_connection_element): Remove an unused variable.
7973         (impl_manager_get_active_connections): Ditto.
7974
7975         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7976         variable.
7977
7978         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7979         from the previous commit.
7980
7981         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7982         (real_act_stage1_prepare): Ditto.
7983         (activation_success_handler): Ditto.
7984         (get_property): Ditto.
7985
7986         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7987         variable.
7988
7989         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7990         it's always set.
7991
7992         * src/supplicant-manager/nm-supplicant-config.c 
7993         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7994         to expected "char *".
7995         (nm_supplicant_config_add_setting_wireless): Ditto.
7996         (nm_supplicant_config_remove_option): Remove, not used.
7997
7998         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7999         not double.
8000         (test_wireless_enabled): Ifdef out unused function.
8001         (device_deactivate): Ditto.
8002         (device_state_changed): Ditto.
8003         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
8004         (nm_utils_escape_ssid): Ditto.
8005
8006         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
8007         (nm_utils_is_empty_ssid): Ditto.
8008
8009         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
8010         unused variable.
8011
8012         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
8013         (setting_vpn_properties_update_secrets): Ditto.
8014         (int_to_gvalue): Ifdef out for now, not used.
8015         (byte_to_gvalue): Ditto.
8016
8017         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
8018         Unused, remove.
8019
8020 2007-10-08  Tambet Ingo  <tambet@gmail.com>
8021
8022         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
8023         about dbus manager, not named manager.
8024         Make sure hal_manager and dbus_mgr are created before trying to unreference.
8025
8026         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
8027         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
8028         However, the same signal is emitted when we destroy it and there's 
8029         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
8030
8031         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
8032         releasing the DBusGConnection, since proxy needs a conneciton.
8033         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
8034
8035 2007-10-08  Dan Williams  <dcbw@redhat.com>
8036
8037         * src/NetworkManager.c
8038                 - (main): error on unknown command-line options
8039
8040 2007-10-08  Dan Williams  <dcbw@redhat.com>
8041
8042         Reimplement the invalid connection list.  Don't try to re-activate a
8043         connection that just failed or was canceled.
8044
8045         * src/nm-device.c
8046                 - (connection_secrets_failed_cb): fail device activation, don't just
8047                         deactivate the device.  Listeners have to know about the failure.
8048
8049         * src/NetworkManagerPolicy.c
8050                 - (nm_policy_auto_get_best_device): exclude invalid connections from
8051                         the connection list given to a device's get_best_connection()
8052                         method
8053                 - (device_state_changed): tag failed connections as invalid; clear the
8054                         tag from successful connections
8055
8056 2007-10-08  Dan Williams  <dcbw@redhat.com>
8057
8058         Fix problems with interrupted activation.  Previously, choosing an AP
8059         from the menu, then choosing another one before the first connection was
8060         successful wouldn't deactivate the device before starting the new connection
8061         on that same device.
8062
8063         * src/NetworkManagerPolicy.c
8064                 - (deactivate_old_device, device_state_changed, state_changed,
8065                    nm_policy_new): wrong place to deactivate old devices
8066
8067         * src/nm-manager.c
8068                 - (pending_connection_info_destroy, finalize,
8069                    wait_for_connection_expired): decouple destruction of the pending
8070                         connection info from the manager device
8071                 - (connection_added_default_handler): deactivate any active or
8072                         activating device before starting a new activation
8073                 - (impl_manager_activate_device): deactivate any active or activating
8074                         device before starting a new activation; be sure not to leak
8075                         pending connection info if a new activation request arrives but
8076                         there's already a pending one in-process
8077
8078 2007-10-08  Dan Williams  <dcbw@redhat.com>
8079
8080         * src/NetworkManagerAP.h
8081           src/NetworkManagerAP.c
8082                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8083                         should handle default SSIDs and whether or not to autoconnect
8084                         to them
8085
8086 2007-10-08  Dan Williams  <dcbw@redhat.com>
8087
8088         * src/NetworkManagerPolicy.c
8089                 - (nm_policy_device_change_check): print out connection name where
8090                         possible
8091
8092 2007-10-08  Dan Williams  <dcbw@redhat.com>
8093
8094         * src/nm-device-802-11-wireless.c
8095           src/nm-device-802-11-wireless.h
8096                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8097                         'hidden-ap-found' signal (for internal use only) that allows the
8098                         NMManager to fill in the AP's SSID if a connection has that AP's
8099                         BSSID in its seen-bssids list
8100
8101         * src/nm-manager.c
8102                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8103                         wireless device's hidden-ap-found signal and fill in the APs SSID
8104                         if possible
8105
8106 2007-10-07  Dan Williams  <dcbw@redhat.com>
8107
8108         * src/nm-manager.c
8109           src/nm-manager.h
8110                 - Add a 'connections-added' signal to batch together updates of large
8111                         numbers of connections, like when reading from a settings service
8112                         the first time.  Otherwise, the policy would just activate the first
8113                         suitable connection it saw rather than waiting for the full list
8114                         to arrive.
8115                 - (nm_manager_class_init): register new signal
8116                 - (get_type_for_proxy, connection_get_settings_cb,
8117                    get_connection_for_proxy): centralize places where a proxy's setting
8118                         service is determined
8119                 - (free_get_settings_info): if the call being freed is the last call
8120                         in a pending call group, fire off the connections-added signal
8121                 - (internal_new_connection_cb): add call to a pending call group if
8122                         requested
8123                 - (list_connections_cb): always create a call group here, because this
8124                         call results in a batch of new connections
8125                 - (initial_get_connections): start getting system connections first
8126                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8127                         removed signal when destroying connections
8128
8129         * src/NetworkManagerPolicy.c
8130                 - (nm_policy_new, connections_added): handle connections-added signal
8131                         from the manager
8132
8133 2007-10-06  Dan Williams  <dcbw@redhat.com>
8134
8135         * src/nm-device-802-11-wireless.c
8136                 - (constructor): fix leaked socket
8137
8138 2007-10-06  Dan Williams  <dcbw@redhat.com>
8139
8140         * src/NetworkManagerPolicy.c
8141                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8142                         connection in the list returned by nm_manager_get_connections() is
8143                         reffed, but they weren't getting unreffed before returning
8144
8145 2007-10-06  Dan Williams  <dcbw@redhat.com>
8146
8147         * src/nm-manager.c
8148                 - (connections_to_slist): sort connections first on autoconnect, then
8149                         on timestamp
8150
8151 2007-10-06  Dan Williams  <dcbw@redhat.com>
8152
8153         * libnm-util/nm-connection.c
8154                 - (gvalue_to_string): handle UINT64
8155
8156 2007-10-06  Dan Williams  <dcbw@redhat.com>
8157
8158         * src/NetworkManagerPolicy.c
8159                 - (connection_updated, nm_policy_new): recheck state when a connection
8160                         gets updated
8161
8162 2007-10-06  Dan Williams  <dcbw@redhat.com>
8163
8164         * src/nm-manager.c
8165           src/nm-manager.h
8166                 - (nm_manager_get_connection_dbus_path): make static
8167                 - (nm_manager_update_connections): remove; unused
8168                 - Add a connection-updated signal
8169                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8170                         handle connection object updates
8171
8172 2007-10-06  Dan Williams  <dcbw@redhat.com>
8173
8174         * src/NetworkManagerPolicy.c
8175                 - (connection_removed): deactivate removed connections
8176
8177 2007-10-06  Dan Williams  <dcbw@redhat.com>
8178
8179         * libnm-util/nm-connection.c
8180           libnm-util/nm-connection.h
8181                 - (nm_connection_replace_settings): new function
8182
8183 2007-10-06  Dan Williams  <dcbw@redhat.com>
8184
8185         * libnm-glib/nm-device-802-11-wireless.c
8186                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8187                         on error when getting the active access point over D-Bus from NM
8188
8189 2007-10-05  Dan Williams  <dcbw@redhat.com>
8190
8191         * libnm-util/nm-setting.c
8192                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8193                         to the NMSettingWireless table; it's now a string array not an array
8194                         of byte arrays
8195
8196 2007-10-05  Dan Williams  <dcbw@redhat.com>
8197
8198         * libnm-glib/nm-device-802-11-wireless.c
8199                 - Cache properties and update cached properties on D-Bus signals from NM
8200
8201 2007-10-05  Dan Williams  <dcbw@redhat.com>
8202
8203         * src/nm-device-802-11-wireless.c
8204                 - (set_current_ap): consolidate current_ap handling code into one place
8205                         to ensure that PropertiesChanged signals are emitted in all cases
8206                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8207                    nm_device_802_11_wireless_dispose): use set_current_ap()
8208
8209 2007-10-05  Dan Williams  <dcbw@redhat.com>
8210
8211         * libnm-glib/nm-access-point.c
8212           libnm-glib/nm-access-point.h
8213                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8214                         because the value is cached internally now.  Callers should not
8215                         free the internal value.
8216                 - Make signal name defines private
8217
8218         * test/nm-tool.c
8219           libnm-glib/libnm-glib-test.c
8220                 - Don't free value returned from nm_access_point_get_hw_address()
8221
8222 2007-10-04  Dan Williams  <dcbw@redhat.com>
8223
8224         * introspection/nm-device-802-11-wireless.xml
8225           src/nm-device-802-11-wireless.h
8226           src/nm-device-802-11-wireless.c
8227                 - Add a PropertiesChanged signal for wireless device
8228                 - Store currently associated access point
8229                 - (periodic_update): generalize; update rate here too and emit the
8230                         correct PropertiesChanged signal when stuff changes
8231                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8232                    real_activation_cancel_handler): clear current_ap when device is
8233                         deactivated
8234                 - (link_to_specific_ap, get_ap_blacklisted,
8235                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8236                         code
8237                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8238                         outside this file
8239                 - (real_set_hw_address): emit property changed signal if the card's
8240                         MAC address changes
8241                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8242                         the card is supposed to be connecting to
8243                 - (activation_success_handler): send out property updates on successful
8244                         activation
8245                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8246                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8247                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8248                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8249                         is now boxed; add PropertiesChanged signal
8250
8251 2007-10-04  Dan Williams  <dcbw@redhat.com>
8252
8253         * libnm-util/nm-connection.c
8254           libnm-util/nm-connection.h
8255                 - (nm_connection_verify): new function
8256
8257 2007-10-04  Dan Williams  <dcbw@redhat.com>
8258
8259         * libnm-util/nm-setting.c
8260                 - (nm_settings_verify): use #defines when possible rather than strings
8261                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8262                 - (setting_vpn_verify): tighter validity check on 'service_type'
8263
8264 2007-10-04  Dan Williams  <dcbw@redhat.com>
8265
8266         * libnm-glib/nm-settings.c
8267                 - (nm_connection_settings_class_init): provide correct type for argument
8268                         to the Updated signal so that dbus-glib knows how to marshal it
8269
8270 2007-10-03  Dan Williams  <dcbw@redhat.com>
8271
8272         * src/nm-device-802-3-ethernet.c
8273                 - (real_get_best_connection): don't create automatic connections
8274                         internally; clients should provide a setting that applies to
8275                         the device with 'autoconnect: True'.  Problem was that these
8276                         internally auto-created connections don't have a proxy or service
8277                         name becuase they weren't created by a settings daemon, and therefore
8278                         clients have no idea what to do with them.
8279
8280 2007-10-03  Dan Williams  <dcbw@redhat.com>
8281
8282         * src/nm-device-802-11-wireless.c
8283           src/nm-device-802-11-wireless.h
8284           introspection/nm-device-802-11-wireless.xml
8285                 - GetActiveNetworks -> GetAccessPoints
8286                 - ActiveNetwork -> ActiveAccessPoint
8287                 - NetworkAdded -> AccessPointAdded
8288                 - NetowrkRemoved -> AccessPointRemoved
8289
8290         * libnm-glib/nm-device-802-11-wireless.c
8291           libnm-glib/nm-device-802-11-wireless.h
8292                 - network-added signal -> access-point-added
8293                 - network-removed signal -> access-point-removed
8294                 - nm_device_802_11_wireless_get_active_network() ->
8295                         nm_device_802_11_wireless_get_active_access_point()
8296                 - nm_device_802_11_wireless_get_network_by_path() ->
8297                         nm_device_802_11_wireless_get_access_point_by_path()
8298                 - nm_device_802_11_wireless_get_networks() ->
8299                         nm_device_802_11_wireless_get_access_points()
8300
8301         * libnm-glib/libnm-glib-test.c
8302           test/nm-tool.c
8303           src/NetworkManagerPolicy.c
8304                 - Fixups for Network -> AccessPoint
8305
8306 2007-10-03  Dan Williams  <dcbw@redhat.com>
8307
8308         Add a GetActiveConnections() method on the Manager object.
8309
8310         * src/nm-manager.c
8311           src/nm-manager.h
8312           introspection/nm-manager.xml
8313                 - (connection_get_settings_cb): keep connection type around too
8314                 - (impl_manager_get_active_connections, add_one_connection_element):
8315                         implement; returns all active connections and what devices they
8316                         apply to
8317
8318         * libnm-glib/nm-client.c
8319           libnm-glib/nm-client.h
8320           introspection/nm-manager-client.xml
8321                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8322                         by the caller; free here to avoid memory leak
8323                 - (nm_client_get_active_connections): implement; return the list of
8324                         active connections
8325                 - (nm_client_free_active_connection_element): implement; free an element
8326                         of the GSList returned by nm_client_get_active_connections()
8327
8328 2007-10-03  Dan Williams  <dcbw@redhat.com>
8329
8330         * src/nm-device-802-11-wireless.c
8331                 - (nm_device_802_11_wireless_update_bssid): remove
8332                 - (get_active_ap): new function; find the AP in the scan list which
8333                         matches the current BSSID and SSID of the wireless device
8334                 - (nm_device_802_11_periodic_update): get current AP using
8335                         get_active_ap() and print AP roam messages
8336
8337 2007-10-01  Dan Williams  <dcbw@redhat.com>
8338
8339         * libnm-util/nm-setting.h
8340                 - Add a 'timestamp' option to NMSettingConnection
8341                 - Add a UINT64 type
8342
8343         * libnm-util/nm-setting.c
8344                 - (uint64_to_gvalue): new function
8345                 - (nm_setting_populate_from_hash, nm_setting_hash,
8346                    default_setting_clear_secrets): handle UINT64 type
8347                 - con_table: add 'timestamp' member
8348
8349 2007-10-01  Dan Williams  <dcbw@redhat.com>
8350
8351         * src/nm-manager.c
8352                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8353                         value when the connection can be activated immediately
8354
8355 2007-10-01  Dan Williams  <dcbw@redhat.com>
8356
8357         * libnm-glib/nm-device.c
8358                 - (nm_device_class_init): actually tell glib about the carrier-changed
8359                         signal
8360
8361 2007-10-01  Dan Williams  <dcbw@redhat.com>
8362
8363         * configure.in
8364           src/marshallers/Makefile.am
8365           src/marshallers/nm-marshal.list
8366           src/marshallers/nm-marshal-main.c
8367                 - Consolidate glib marshallers into one place
8368
8369         * src/dhcp-manager/Makefile.am
8370           src/dhcp-manager/nm-dhcp-manager.c
8371           src/supplicant-manager/Makefile.am
8372           src/supplicant-manager/nm-supplicant-manager.c
8373           src/supplicant-manager/nm-supplicant-interface.c
8374           src/ppp-manager/Makefile.am
8375           src/ppp-manager/nm-ppp-manager.c
8376           src/vpn-manager/Makefile.am
8377           src/vpn-manager/nm-vpn-connection.c
8378           src/Makefile.am
8379                 - Use consolidated marshallers
8380
8381         * src/dhcp-manager/nm-dhcp-marshal.list
8382           src/dhcp-manager/nm-dhcp-marshal-main.c
8383           src/supplicant-manager/nm-supplicant-marshal-main.c
8384           src/supplicant-manager/nm-supplicant-marshal.list
8385           src/nm-marshal-main.c
8386           src/nm-marshal.list
8387           src/ppp-manager/nm-ppp-marshal-main.c
8388           src/ppp-manager/nm-ppp-marshal.list
8389           src/vpn-manager/nm-vpn-marshal-main.c
8390           src/vpn-manager/nm-vpn-marshal.list
8391                 - Remove
8392
8393 2007-10-01  Dan Williams  <dcbw@redhat.com>
8394
8395         * include/NetworkManagerVPN.h
8396                 - define VPN connection state change reason codes
8397
8398         * src/vpn-manager/Makefile.am
8399           src/vpn-manager/nm-vpn-marshal.list
8400           src/vpn-manager/nm-vpn-marshal-main.c
8401                 - Add marshallers for StateChanged signal
8402
8403         * introspection/nm-vpn-connection.xml
8404                 - New Banner property
8405                 - StateChanged signal now includes a 'reason' argument
8406
8407         * src/vpn-manager/nm-vpn-connection.c
8408           src/vpn-manager/nm-vpn-connection.h
8409                 - Add a "Banner" property that contains the returned VPN server login
8410                         banner (if any); valid only in the ACTIVATED state
8411                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8412                         a 'reason' argument and emits that reason along with the
8413                         state-changed signal
8414                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8415                 - (nm_vpn_connection_ip4_config_get): save banner for later
8416                 - (nm_vpn_connection_get_banner, get_property,
8417                    nm_vpn_connection_class_init): implement Banner property
8418
8419         * src/vpn-manager/nm-vpn-service.c
8420                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8421                         connection list because elements may get added/removed from it
8422                         while iterating over the list
8423                 - (connection_state_changed): signal now includes the 'reason' argument
8424
8425         * libnm-glib/nm-vpn-connection.c
8426           libnm-glib/nm-vpn-connection.h
8427                 - (nm_vpn_connection_get_banner): new function
8428                 - (state_changed_proxy): handle reason argument
8429
8430 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8431
8432         * src/nm-manager.c:
8433         * src/nm-manager.h:
8434         Implement device activation through NMManager.
8435         Implement "pending device activation" here - If the connection isn't found,
8436         we try to wait for up to 5 seconds for the connection to be provided.
8437         Add NMConnectionType argument to "connection-added" and "connection-removed"
8438         signals.
8439         (nm_manager_get): Remove. Finally.
8440
8441         * src/nm-activation-request.c: 
8442         * src/nm-activation-request.h: 
8443         Remove all the deferred activation code.
8444
8445         * src/nm-device.c: Remove all the deferred activation code. Once the device
8446         activation is started, it's started. Update the activation virtual function
8447         signature.
8448
8449         * src/nm-device-interface.c:
8450         * src/nm-device-interface.h:
8451         Device activation now takes only NMActRequest argument.
8452         Don't expose device activation directly on dbus, it's supposed to go through
8453         NMManager now.
8454
8455         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8456         a bit more compact.
8457         Use the new device activation methods through NMManager.
8458
8459         * introspection/nm-manager-client.xml: 
8460         * introspection/nm-manager.xml: 
8461         * libnm-glib/nm-client.c:
8462         * libnm-glib/nm-client.h:
8463         Add device activation method.
8464         
8465         * libnm-glib/nm-device.c: 
8466         * libnm-glib/nm-device.h: 
8467         * introspection/nm-device.xml: 
8468         Remove device activation method. It's done through NMManager now.
8469
8470         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8471         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8472
8473 2007-09-28  Dan Williams  <dcbw@redhat.com>
8474
8475         * libnm-glib/nm-vpn-connection.c
8476                 - (nm_vpn_connection_get_state): try to update state if the current
8477                         state is UNKNOWN
8478
8479 2007-09-27  Dan Williams  <dcbw@redhat.com>
8480
8481         Patch from Bill Nottingham
8482
8483         * src/supplicant-manager/nm-supplicant-config.c
8484                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8485                         data to the supplicant
8486
8487 2007-09-27  Dan Williams  <dcbw@redhat.com>
8488
8489         * src/NetworkManagerSystem.c
8490                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8491                         and all address manipulation here should be happening on the
8492                         _VPN_ device, not the active device
8493
8494 2007-09-26  Dan Williams  <dcbw@redhat.com>
8495
8496         * src/nm-manager.c
8497           src/nm-manager.h
8498           src/nm-activation-request.c
8499           src/nm-activation-request.h
8500                 - Move the GetSecrets stuff out of the NMManager instance because it
8501                         doesn't really need to be there and complicates things
8502
8503         * src/nm-device.c
8504                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8505                         connection-secrets-failed signal and deactivate the device if
8506                         the GetSecrets call fails
8507
8508         * src/nm-device-802-11-wireless.c
8509                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8510                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8511                         secrets and give correct hints about whether new secrets should be
8512                         asked for by the client or not
8513
8514 2007-09-26  Dan Williams  <dcbw@redhat.com>
8515
8516         * src/vpn-manager/nm-vpn-connection.c
8517                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8518                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8519                         to the secrets-updated signal of the NMConnection since updating
8520                         the secrets is done within the scope of the NMVPNConnection object
8521                         already
8522                 - (get_connection_secrets): fix an uninialized variable usage error
8523
8524 2007-09-26  Dan Williams  <dcbw@redhat.com>
8525
8526         * libnm-util/nm-setting.c
8527                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8528                         actually get updated when the user enters them
8529
8530 2007-09-26  Dan Williams  <dcbw@redhat.com>
8531
8532         * libnm-glib/nm-vpn-plugin.c
8533                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8534
8535 2007-09-26  Dan Williams  <dcbw@redhat.com>
8536
8537         * include/NetworkManagerVPN.h
8538                 - Add a NEED_AUTH state
8539
8540         * src/vpn-manager/nm-vpn-connection.c
8541                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8542                         the connection needs secrets, and if so, then ask the settings
8543                         service to fill in the secrets.  Then start the connection.
8544
8545 2007-09-26  Dan Williams  <dcbw@redhat.com>
8546
8547         * src/vpn-manager/nm-vpn-manager.c
8548                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8549
8550 2007-09-26  Dan Williams  <dcbw@redhat.com>
8551
8552         * introspection/nm-vpn-plugin.xml
8553           libnm-glib/nm-vpn-plugin.c
8554           libnm-glib/nm-vpn-plugin.h
8555                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8556                         the name of the NMSetting in an NMConnection that may require
8557                         secrets specific to that VPN plugin
8558
8559 2007-09-26  Dan Williams  <dcbw@redhat.com>
8560
8561         * src/nm-manager.c
8562           src/nm-manager.h
8563                 - (nm_manager_get_connection_secrets): make static, unused outside
8564                         the file
8565                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8566
8567 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8568
8569         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8570         method.
8571         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8572         unreference the connection.
8573
8574         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8575         passing properties hash and routes string list, pass NMConnection (in hashed form).
8576
8577         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8578         as GSList, no need to copy stuff around anymore.
8579         (nm_vpn_connection_activate): Update the plugin activation method.
8580
8581         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8582         routes argument to GSList.
8583
8584 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8585
8586         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8587         state and try to get the secrets.
8588
8589         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8590         connections from NMManager and let the device to choose the best from the list.
8591         Since the connection list is sorted by system ones first and user ones later,
8592         the devices still prefer system connections like they did before.
8593         (deactivate_old_device): Implement. When a device starts activation, we have a
8594         policy (for now at least) to deactivate any other device that might be either
8595         active or still activating.
8596
8597         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8598         It's set on construction, there will be no other way to access it.
8599
8600         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8601         device events and drive the device, not the other way around.
8602
8603         * src/nm-device-802-3-ethernet.c: Ditto.
8604
8605         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8606         sent along, pass it on to virtual functions.
8607
8608         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8609         for now, but should really be public instead of nm_device_get_iface() since iface
8610         is a property of the DeviceInterface, not Device.
8611         (impl_device_activate): Don't touch NMManager!
8612
8613 2007-09-26  Jürg Billeter  <j@bitron.ch>
8614
8615         * initscript/paldo/NetworkManager.in:
8616         * initscript/paldo/NetworkManagerDispatcher.in:
8617         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8618         (nm_system_flush_loopback_routes): update paldo backend
8619
8620 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8621
8622         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8623         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8624         which means none of the devices get brought down properly, which in turn leaves
8625         DHCP client running.
8626
8627         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8628         (supplicant_connection_timeout_cb): Ditto.
8629
8630 2007-09-25  Dan Williams  <dcbw@redhat.com>
8631
8632         * src/nm-device.c
8633                 - (device_activation_go): small hack to work around race when
8634                         activating deferred connections; should solve this in a better way
8635
8636 2007-09-25  Dan Williams  <dcbw@redhat.com>
8637
8638         * introspection/nm-device.xml
8639           libnm-glib/nm-device.c
8640           libnm-glib/nm-device.h
8641                 - Add 'Carrier' property to exported NMDevice objects
8642
8643         * src/nm-device-interface.h
8644           src/nm-device-interface.c
8645           src/nm-device.c
8646                 - Add a 'carrier' property to internal NMDevice objects
8647
8648 2007-09-25  Dan Williams  <dcbw@redhat.com>
8649
8650         * src/nm-device-802-11-wireless.c
8651                 - (ap_auth_enforced): also return the encryption status of the AP so
8652                         that callers can differentiate easily between unencrypted APs
8653                         and encrypted ones, in addition to whether the AP has an
8654                         authenticator
8655                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8656                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8657                         previously would request secrets from unencrypted APs at times
8658
8659 2007-09-25  Dan Williams  <dcbw@redhat.com>
8660
8661         * src/nm-manager.c
8662                 - (nm_manager_update_state): new function; updates state and emits
8663                         appropriate signals ensuring a state-change signal for the same state
8664                         never gets emitted twice in a row.
8665                 - (manager_device_state_changed): handle more device state to get a
8666                         better picture of the overall NM state
8667
8668 2007-09-25  Dan Williams  <dcbw@redhat.com>
8669
8670         * libnm-glib/nm-settings.c
8671           libnm-glib/nm-settings.h
8672                 - (new_error -> nm_settings_new_error): make public so that subclasses
8673                         can use the same error domain.  Also pass a valid error code to
8674                         g_error_new_literal() so that libdbus doesn't assert when converting
8675                         the GError into a DBusError
8676                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8677                    impl_connection_settings_get_settings,
8678                    impl_connection_settings_get_secrets): use new error creator
8679                         function
8680
8681 2007-09-25  Dan Williams  <dcbw@redhat.com>
8682
8683         * src/NetworkManager.c
8684                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8685
8686 2007-09-25  Dan Williams  <dcbw@redhat.com>
8687
8688         * src/supplicant-manager/nm-supplicant-manager.c
8689                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8690                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8691                    nm_supplicant_manager_startup): when the supplicant isn't running,
8692                         try to start it periodically via system bus activation.  Fixes
8693                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8694                         for the supplicant to come back
8695
8696 2007-09-25  Dan Williams  <dcbw@redhat.com>
8697
8698         Ensure that old activation requests are forgotten about; previously
8699         hitting Cancel in the password dialog would deactivate whatever device
8700         that password was requested for, even if that wasn't the currently
8701         activating connection.
8702
8703         * src/nm-manager.c
8704           src/nm-manager.h
8705                 - (nm_manager_get_connection_secrets): track the pending call
8706                         object so it can be canceled later if needed
8707                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8708                         GetSecrets call for a particular connection
8709
8710         * src/nm-activation-request.c
8711                 - (dispose): cancel any outstanding GetSecrets calls on the
8712                         connection
8713
8714 2007-09-25  Dan Williams  <dcbw@redhat.com>
8715
8716         * src/NetworkManagerPolicy.c
8717                 - (nm_policy_device_change_check): handle devices that have a
8718                         deferred activation.  These devices are not really active _yet_,
8719                         but need to be treated as such here.  Don't interrupt them
8720                         automatically.
8721
8722         * src/nm-device-interface.c
8723                 - (impl_device_activate): handle devices that have a deferred activation
8724                         like activating or active devices.  When multiple active devices
8725                         get committed, the device shouldn't be deactivated until the
8726                         connection details are available to avoid DoS and such.  Currently,
8727                         any active, activating, or deferred activation device is deactivated
8728                         here before starting the new activation request.
8729
8730 2007-09-25  Dan Williams  <dcbw@redhat.com>
8731
8732         Properly re-query secrets from the settings daemon when stuff fails.
8733
8734         * src/nm-device-802-11-wireless.c
8735                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8736                         between Shared Key and Open System auth modes
8737                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8738                    real_act_stage4_ip_config_timeout): clear existing secrets and
8739                         request new ones when something fails due to a suspected wrong key
8740                 - (real_act_stage2_config): fix for new request_new argument to
8741                         nm_manager_get_connection_secrets()
8742
8743         * src/nm-manager.c
8744           src/nm-manager.h
8745                 - (nm_manager_get_connection_secrets): return error status; pass
8746                         new request_new argument on to the settings daemon
8747
8748         * introspection/nm-settings-connection.xml
8749                 - New 'request_new' argument to the GetSecrets call that hints to the
8750                         settings daemon to ask the user for completely new secrets
8751
8752         * libnm-glib/nm-settings.c
8753           libnm-glib/nm-settings.h
8754                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8755                         argument
8756
8757 2007-09-25  Dan Williams  <dcbw@redhat.com>
8758
8759         * libnm-util/nm-connection.c
8760           libnm-util/nm-connection.h
8761                 - (nm_connection_clear_secrets): new function; clear secrets out of
8762                         each NMSetting in an NMConnection
8763
8764         * libnm-util/nm-setting.h
8765           libnm-util/nm-setting.c
8766                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8767                         secrets out of an NMSetting
8768                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8769                    nm_setting_wired_new, nm_setting_wireless_new,
8770                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8771                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8772                         to default handler default_setting_clear_secrets()
8773
8774 2007-09-25  Dan Williams  <dcbw@redhat.com>
8775
8776         * src/nm-activation-request.c
8777           src/nm-activation-request.h
8778                 - (nm_act_request_is_deferred): new function
8779
8780 2007-09-24  Dan Williams  <dcbw@redhat.com>
8781
8782         * src/nm-device-802-11-wireless.c
8783                 - (activation_success_handler): update signal strength immediately
8784                         after activation
8785
8786 2007-09-24  Dan Williams  <dcbw@redhat.com>
8787
8788         * libnm-util/nm-setting.c
8789                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8790
8791 2007-09-24  Dan Williams  <dcbw@redhat.com>
8792
8793         * src/NetworkManagerPolicy.c
8794                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8795                         device by deactivating it because it doesn't have a "best connection".
8796                         Since autoconnect=False connections aren't automatically chosen,
8797                         NM would interrupt activation of such a connection because it
8798                         would never be "best" due to autoconnect=False.
8799
8800 2007-09-24  Dan Williams  <dcbw@redhat.com>
8801
8802         * src/nm-manager.c
8803                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8804                         actually has some time to enter a key before the GetSecrets call
8805                         times out
8806
8807 2007-09-24  Dan Williams  <dcbw@redhat.com>
8808
8809         * introspection/nm-manager.xml
8810           src/nm-manager.c
8811                 - (impl_manager_legacy_state): fix 'state' method call return value
8812
8813 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8814
8815         * test/Makefile.am: Install nm-tool
8816
8817 2007-09-24  Dan Williams  <dcbw@redhat.com>
8818
8819         Patch from Ross Burton <ross@burtonini.com>
8820
8821         * test/nm-tool.c
8822           callouts/nm-dhcp-client-action.c
8823           src/nm-netlink.c
8824           src/vpn-manager/nm-vpn-connection.c
8825           libnm-glib/libnm-glib-test.c
8826                 - warning fixes
8827
8828 2007-09-24  Dan Williams  <dcbw@redhat.com>
8829
8830         * libnm-util/nm-utils.h
8831           libnm-util/nm-utils.c
8832                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8833                         remove, unused
8834
8835 2007-09-23  Dan Williams  <dcbw@redhat.com>
8836
8837         * vpn-daemons/vpnc/properties/nm-vpnc.c
8838                 - Update for new VPN properties API bits; instead of passing around
8839                         a lot of random things, everything goes into the NMConnection
8840                         object.
8841
8842 2007-09-23  Dan Williams  <dcbw@redhat.com>
8843
8844         * libnm-util/nm-setting.c
8845                 - Correctly dispose of settings objects if creating them from a hash
8846                         table fails
8847
8848 2007-09-23  Dan Williams  <dcbw@redhat.com>
8849
8850         * libnm-util/nm-setting.c
8851                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8852                         the hash table in a standard manner.  Clients of libnm-util should
8853                         only call g_hash_table_remove_all(), never destroy the hash table
8854                         and recreate it.
8855
8856 2007-09-22  Dan Williams  <dcbw@redhat.com>
8857
8858         * src/nm-device-802-11-wireless.c
8859                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8860                         real reason to do it so often, and reduces wakeups for clients.
8861
8862 2007-09-21  Dan Williams  <dcbw@redhat.com>
8863
8864         * src/nm-device-802-11-wireless.c
8865                 - (build_supplicant_config): wpa_supplicant requires the option
8866                         key_mgmt=NONE for unencrypted networks
8867                 - (real_act_stage2_config): clarify log message on activation
8868
8869 2007-09-21  Dan Williams  <dcbw@redhat.com>
8870
8871         * test/nm-supplicant-test.c
8872           test/Makefile.am
8873                 - Remove supplicant test binary; no longer applicable
8874
8875 2007-09-21  Dan Williams  <dcbw@redhat.com>
8876
8877         * src/supplicant-manager/nm-supplicant-manager.c
8878                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8879                         activate it on the system bus
8880
8881 2007-09-20  Dan Williams  <dcbw@redhat.com>
8882
8883         * initscript/RedHat/NetworkManager.in
8884                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8885
8886 2007-09-20  Dan Williams  <dcbw@redhat.com>
8887
8888         * src/nm-device.c
8889                 - (nm_device_is_activating): work around a race between auto-activation
8890                         and the user activating the same device that is being auto-activated
8891
8892 2007-09-20  Dan Williams  <dcbw@redhat.com>
8893
8894         * src/nm-device-interface.c
8895                 - (impl_device_activate): until multiple active device support lands,
8896                         ensure only one device can be active at a time
8897
8898 2007-09-20  Dan Williams  <dcbw@redhat.com>
8899
8900         * src/supplicant-manager/nm-supplicant-config.c
8901           src/supplicant-manager/nm-supplicant-config.h
8902                 - (nm_supplicant_config_add_option): hide secrets from system logs
8903
8904 2007-09-20  Dan Williams  <dcbw@redhat.com>
8905
8906         * src/NetworkManagerPolicy.c
8907                 - (nm_policy_device_change_check): re-enable the wireless device change
8908                         checking code; insted of checking for SSIDs, check for the same
8909                         connection instead
8910
8911 2007-09-20  Dan Williams  <dcbw@redhat.com>
8912
8913         * src/nm-device-802-11-wireless.c
8914                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8915                         composite link state when determining when to start the disconnection
8916                         timer; that link state is already based on the supplicant interface's
8917                         status which is exactly what's already being examined, plus the link
8918                         state is a conglomeration of various things that we don't want here
8919
8920 2007-09-20  Dan Williams  <dcbw@redhat.com>
8921
8922         * libnm-glib/nm-access-point.c
8923                 - (handle_property_changed): strength is a UCHAR
8924
8925 2007-09-20  Dan Williams  <dcbw@redhat.com>
8926
8927         * src/supplicant-manager/nm-supplicant-config.c
8928                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8929                         string list keywords too since that's what wpa_supplicant wants
8930
8931 2007-09-20  Dan Williams  <dcbw@redhat.com>
8932
8933         * libnm-util/nm-setting.c
8934                 - (convert_strv_to_slist): dupe the values in the list because since
8935                         the list is a boxed value, it'll get destroyed when it's container
8936                         (like a hash table or whatever) gets destroyed
8937
8938 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8939
8940         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8941         GSList.
8942
8943         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8944
8945         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8946         just use (g_object_set_data_full).
8947
8948         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8949         that NMSettingVPN->routes is a GSList, convert it to char **.
8950         (nm_vpn_connection_ip4_config_get): Free routes when done.
8951         (nm_vpn_connection_activate): Ditto.
8952
8953         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8954         (real_act_stage2_config): Use defined setting names.
8955
8956 2007-09-20  Dan Williams  <dcbw@redhat.com>
8957
8958         * src/nm-device-802-11-wireless.c
8959           src/nm-manager.c
8960           src/nm-manager.h
8961                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8962                         so that the device can be deactivated if secrets are wrong
8963
8964 2007-09-20  Dan Williams  <dcbw@redhat.com>
8965
8966         * introspection/nm-settings-connection.xml
8967           libnm-glib/nm-settings.c
8968           libnm-glib/nm-settings.h
8969                 - Make GetSecrets asynchronous on the server side
8970
8971 2007-09-20  Dan Williams  <dcbw@redhat.com>
8972
8973         * src/nm-manager.h
8974           src/nm-device.c
8975                 - (nm_device_activate): actually check if a given connection
8976                         exists before assuming it doesn't
8977
8978 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8979
8980         * libnm-util/nm-connection.c (register_default_creators): Use defined
8981         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8982
8983         * libnm-util/nm-setting.c: Define property name strings, use them.
8984         Implement NMSettingVPN and NMSettingVPNProperties settings.
8985         Implement NM_S_TYPE_GVALUE_HASH.
8986         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8987         (setting_connection_verify): Rename 'devtype' property to 'type'.
8988
8989         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8990         properties.
8991
8992         * src/vpn-manager/nm-vpn-service.c: Ditto.
8993
8994         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8995
8996         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8997         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8998
8999         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
9000         names. NMSettingConnection->devtype got renamed to 'type'.
9001
9002         * src/nm-device-802-3-ethernet.c (find_best_connection):
9003         (real_get_best_connection): Ditto.
9004
9005         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
9006
9007         * libnm-glib/nm-vpn-manager.[ch]: Update.
9008
9009 2007-09-19  Dan Williams  <dcbw@redhat.com>
9010
9011         * src/NetworkManagerAP.c
9012           src/NetworkManagerAP.h
9013           introspection/nm-access-point.xml
9014                 - Change strength-changed signal into a properties-changed signal
9015                         for all properties, not just strength.  Export that signal over dbus
9016                         so listeners don't have to poll NM for changes.
9017                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
9018                         get exported over D-Bus, so break up the logic and let other bits
9019                         decided when to export the AP
9020                 - (nm_ap_new_from_ap): remove, unused
9021
9022         * src/nm-device-802-11-wireless.c
9023                 - (merge_scanned_ap): only export APs that are actually on the device
9024                         list, not every AP created internally
9025
9026         * libnm-glib/nm-access-point.c
9027           libnm-glib/nm-access-point.h
9028                 - Cache properties internally and only hit DBus when needed.  Get
9029                         property updates from NM signals
9030
9031 2007-09-16  Dan Williams  <dcbw@redhat.com>
9032
9033         * libnm-util/nm-connection.c
9034           libnm-util/nm-connection.h
9035                 - (nm_connection_for_each_setting_value): new function; iterate over
9036                         each setting's value and call a user-provided function with details
9037                         about that value
9038
9039         * libnm-util/nm-setting.c
9040           libnm-util/nm-setting.h
9041                 - (nm_setting_enumerate_values): new function; enumerate the values
9042                         of a specific NMSetting subclass for a user-provided function with
9043                         details about that value
9044                 - Change wep_tx_keyidx to a uint32
9045                 - Create settings value tables for each setting defining their type,
9046                         key name, offset into the NMSetting subclass' structure, and whether
9047                         they are required and/or a secret
9048                 - (nm_setting_populate_from_hash): generic function to populate an
9049                         NMSetting from a GHash table, make all settings use it
9050                 - (nm_setting_hash): generic function to derive a GHashTable from
9051                         an NMSetting object, make all settings use it
9052
9053 2007-09-14  Dan Williams  <dcbw@redhat.com>
9054
9055         Remove unused stuff in libnm-util
9056
9057         * configure.in
9058           libnm-util/Makefile.am
9059           libnm-util/cipher-private.h
9060           libnm-util/cipher-wep-ascii.c
9061           libnm-util/cipher-wep-ascii.h
9062           libnm-util/cipher-wep-hex.c
9063           libnm-util/cipher-wep-hex.h
9064           libnm-util/cipher-wep-passphrase.c
9065           libnm-util/cipher-wep-passphrase.h
9066           libnm-util/cipher-wpa-psk-hex.c
9067           libnm-util/cipher-wpa-psk-hex.h
9068           libnm-util/cipher-wpa-psk-passphrase.c
9069           libnm-util/cipher-wpa-psk-passphrase.h
9070           libnm-util/cipher.c
9071           libnm-util/cipher.h
9072           libnm-util/dbus-helpers.c
9073           libnm-util/dbus-helpers.h
9074           libnm-util/gnome-keyring-md5.c
9075           libnm-util/gnome-keyring-md5.h
9076           libnm-util/sha1.c
9077           libnm-util/sha1.h
9078           src/nm-device-802-11-wireless.c
9079           test/libnm-util/Makefile.am
9080           test/libnm-util/test-ciphers.c
9081           test/libnm-util/test-dbus-helpers.c
9082           test/libnm-util/test-inputs.h
9083                 - Removed
9084
9085 2007-09-14  Dan Williams  <dcbw@redhat.com>
9086
9087         * libnm-util/dbus-method-dispatcher.c
9088           libnm-util/dbus-method-dispatcher.h
9089                 - Remove, unused
9090
9091 2007-09-14  Dan Williams  <dcbw@redhat.com>
9092
9093         Implement deferred activation support in the device class.
9094
9095         * src/nm-device-interface.c
9096           src/nm-device-interface.h
9097                 - (nm_device_interface_activate): take more arguments to support
9098                         deferred activation; callers must pass one of (connection) OR
9099                         (service_name, connection_path)
9100                 - (impl_device_activate): connection validation is punted to the device
9101                         to be able to handle deferred activation.  Yes, this means errors
9102                         don't get returned from the Activate() dbus call, and yes, that
9103                         should be fixed somehow later.
9104
9105         * src/nm-device.c
9106           src/nm-device.h
9107                 - (clear_act_request): clear additional deferred activation stuff too
9108                 - (deferred_activation_timeout_cb): new function; clean up when
9109                         deferred activation times out.
9110                 - (deferred_activation_start_cb): new function; when the connection
9111                         finally becomes available, start device activation
9112                 - (nm_device_activate): attach to the right signals of the activation
9113                         request if we need to defer activation until the connection is valid
9114
9115         * src/NetworkManagerPolicy.c
9116                 - (nm_policy_device_change_check): update for additional arguments
9117                         required for nm_device_interface_activate().  Pass NULL for these
9118                         though because this function already knows exactly which
9119                         NMConnection to use
9120
9121 2007-09-14  Dan Williams  <dcbw@redhat.com>
9122
9123         Implement deferred activation handling in the NMActRequest class.  When a
9124         client wants to activate a device but must create the NMConnection details
9125         on the fly, there likely hasn't been enough time yet for NM to receive the
9126         new connection signal and grab all the connection details.  So the
9127         activation is deferred (and bounded by a timer) for a while, and if the
9128         connection appears within the window, it is activated.
9129
9130         * src/nm-activation-request.c
9131           src/nm-activation-request.h
9132                 - (nm_act_request_class_init): two new signals to support deferred
9133                         activation, to allow the listener to handle both timeout and success
9134                 - (nm_act_request_new_deferred): new function, starts the deferred
9135                         activation timeout handler and listens to the NMManager for
9136                         new-connection signals to notice when the connection comes in
9137
9138 2007-09-14  Dan Williams  <dcbw@redhat.com>
9139
9140         * src/nm-manager.h
9141           src/nm-manager.c
9142                 - (nm_manager_get_connection_service_name,
9143                    nm_manager_get_connection_dbus_path): get details about a connection
9144                         known internally by the NMManager
9145                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9146                         because NMConnection is now a GObject subclass
9147                 - Use constant for the gobject data tag used on NMConnection objects for
9148                         storing the associated DBusGProxy
9149
9150 2007-09-14  Dan Williams  <dcbw@redhat.com>
9151
9152         * utils/Makefile.am
9153           utils/nm-utils.c
9154           utils/nm-utils.h
9155           src/supplicant-manager/Makefile.am
9156           src/dhcp-manager/Makefile.am
9157           src/backends/Makefile.am
9158           src/named-manager/Makefile.am
9159           src/ppp-manager/Makefile.am
9160           src/vpn-manager/Makefile.am
9161           test/libnm-util/Makefile.am
9162           test/test-common/Makefile.am
9163                 - Remove utils/; it was unused
9164
9165 2007-09-13  Dan Williams  <dcbw@redhat.com>
9166
9167         * libnm-glib/nm-vpn-manager.h
9168           libnm-glib/nm-vpn-manager.c
9169                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9170
9171 2007-09-13  Dan Williams  <dcbw@redhat.com>
9172
9173         * src/nm-device-802-3-ethernet.c
9174                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9175                         netlink monitor carrier signals on dispose, not bring down.  The
9176                         carrier signals should be handled over the entire lifetime of the
9177                         device anyway, not created/destroyed on up or down.
9178
9179 2007-09-13  Dan Williams  <dcbw@redhat.com>
9180
9181         * libnm-glib/nm-device.c
9182           libnm-glib/nm-device.h
9183                 - (nm_device_activate): take a connection object path rather than an
9184                         NMConnection because NMConnection isn't exported over D-Bus and
9185                         therefore it dbus-glib can't automatically get an object path from it
9186
9187 2007-09-13  Dan Williams  <dcbw@redhat.com>
9188
9189         * libnm-util/nm-setting.c
9190                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9191
9192 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9193
9194         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9195
9196 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9197
9198         * src/vpn-manager/nm-vpn-connection.[ch]: 
9199         * src/vpn-manager/nm-vpn-manager.[ch]:
9200         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9201         dbus-glib, GObjects, signals etc.
9202
9203         * libnm-glib/nm-vpn-manager.[ch]: 
9204         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9205         so much, rewrite these too.
9206
9207         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9208         the new introspection files.
9209
9210         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9211
9212         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9213         the header with the same name from libnm-utils.
9214
9215         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9216
9217         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9218
9219         * introspection/nm-vpn-plugin.xml: Implement.
9220
9221         * introspection/nm-vpn-connection.xml: Implement.
9222
9223         * introspection/nm-vpn-manager.xml: Implement.
9224
9225         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9226         the named manager argument, it can just as easily get it as the caller.
9227         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9228
9229         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9230
9231         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9232
9233         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9234         libnm-utils.
9235
9236         * libnm-util/nm-connection.c: Ditto.
9237
9238         * src/NetworkManagerMain.h: Remove, it's finally empty.
9239
9240         * configure.in: Remove utils/ from build.
9241
9242         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9243         of hard-coded strings.
9244
9245         * utils/: Move it over to libnm-util.
9246
9247         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9248
9249         * dispatcher-daemon/Makefile.am: Ditto.
9250
9251         * src/Makefile.am: Ditto.
9252
9253 2007-09-12  Dan Williams  <dcbw@redhat.com>
9254
9255         Wireless connections can be made with config data from the applet now.
9256         
9257         Yay.
9258
9259         * src/supplicant-manager/nm-supplicant-config.h
9260           src/supplicant-manager/nm-supplicant-config.c
9261                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9262                 - (nm_supplicant_config_add_setting_wireless,
9263                    nm_supplicant_config_add_setting_wireless_security): new functions;
9264                         add key/value pairs from the settings objects to the supplicant
9265                         config
9266
9267         * src/nm-device-802-11-wireless.c
9268                 - (cull_scan_list): fix check to not prune currently associated AP
9269                 - (build_supplicant_config, real_act_stage2_config): call the functions
9270                         of the NMSupplicantConfig that parse settings objects rather than
9271                         doing it manually here
9272
9273 2007-09-12  Dan Williams  <dcbw@redhat.com>
9274
9275         * src/supplicant-manager/nm-supplicant-interface.c
9276           src/supplicant-manager/nm-supplicant-marshal.list
9277                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9278                         "connection-error" signal arguments should be STRING not CHAR
9279
9280 2007-09-12  Dan Williams  <dcbw@redhat.com>
9281
9282         * src/NetworkManagerUtils.c
9283           src/NetworkManagerUtils.h
9284                 - (nm_utils_hexstr2bin): new function
9285
9286 2007-09-11  Dan Williams  <dcbw@redhat.com>
9287
9288         * src/nm-manager.c
9289                 - (connection_get_settings_cb): emit connection-added signal
9290                 - (connection_removed_cb): uncomment bits for system settings service,
9291                         send connection-removed when appropriate
9292                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9293                         the stack by trying to g_object_set_data() on something that's
9294                         not a GObject; handle case where settings service returns
9295                         empty settings hash table
9296
9297 2007-09-11  Dan Williams  <dcbw@redhat.com>
9298
9299         * src/NetworkManagerPolicy.c
9300                 - (connection_added, connection_removed): trigger device change checks
9301                         on connection changes
9302
9303 2007-09-11  Dan Williams  <dcbw@redhat.com>
9304
9305         * src/nm-activation-request.c
9306                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9307
9308 2007-09-11  Dan Williams  <dcbw@redhat.com>
9309
9310         * src/nm-device-802-11-wireless.c
9311                 - (real_connection_secrets_updated): fix erroneous check
9312
9313 2007-09-11  Dan Williams  <dcbw@redhat.com>
9314
9315         * introspection/nm-device.xml
9316           libnm-glib/nm-device.c
9317           libnm-glib/nm-device.c
9318                 - Fix Activate call argument borkage; Activate takes 3 arguments
9319
9320 2007-09-11  Dan Williams  <dcbw@redhat.com>
9321
9322         * libnm-glib/nm-access-point.c
9323           libnm-glib/nm-access-point.c
9324                 - (nm_access_point_get_frequency): now returns guint32 to match
9325                         property change on 2007-09-10
9326
9327 2007-09-11  Dan Williams  <dcbw@redhat.com>
9328
9329         * src/nm-device-802-11-wireless.c
9330                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9331                         somewhere defines 'index' and I missed this one when I fixed the
9332                         shadow declaration errors earlier
9333
9334 2007-09-11  Dan Williams  <dcbw@redhat.com>
9335
9336         * libnm-util/nm-connection.c
9337                 - (nm_connection_update_secrets, need_secrets_check): move
9338                         802-11-wireless-security need_secrets checks to the setting object
9339                         itself, where it belongs
9340
9341         * libnm-util/nm-setting.c
9342           libnm-util/nm-setting.h
9343                 - (nm_setting_need_secrets): new function
9344                 - (setting_wireless_security_verify,
9345                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9346                 - (setting_wireless_security_need_secrets): mostly copy code over
9347                         from nm-connection.c
9348
9349 2007-09-11  Dan Williams  <dcbw@redhat.com>
9350
9351         * libnm-util/nm-setting.c
9352           libnm-util/nm-setting.h
9353                 - (nm_setting_update_secrets): new function; add a virtual function that
9354                         subclasses can implement to update their secrets
9355                 - (setting_wireless_security_update_secrets): implement that function
9356                         for the 802-11-wireless-security subclass
9357
9358         * libnm-util/nm-connection.c
9359           libnm-util/nm-connection.h
9360                 - (nm_connection_update_secrets): update secrets for a Setting and
9361                         emit a signal on success
9362
9363         * src/nm-manager.c
9364           src/nm-manager.h
9365           src/nm-marshal.list
9366                 - (connection_get_settings_cb): enable system settings bits
9367                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9368                         to request secrets from the settings dbus service and to
9369                         push those secrets to the NMConnection itself
9370
9371         * src/nm-activation-request.c
9372           src/nm-activation-request.h
9373                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9374                         currently being activated, and proxy that signal to other listeners.
9375                         Goes through the activation request because the activation request
9376                         is the thing that manages the lifetime of the NMConnection that's
9377                         being activated.
9378
9379         * src/nm-device-802-11-wireless.c
9380                 - (real_connection_secrets_updated): implement the connection secrets
9381                         updated notification and restart activation when secrets are
9382                         received
9383                 - (real_act_stage2_config): request secrets from the settings dbus
9384                         service if secrets are needed
9385
9386         * src/nm-device.c
9387           src/nm-device.h
9388                 - (clear_act_request, nm_device_activation_cancel,
9389                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9390                         where the activation request is cleared
9391                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9392                         updated secrets signal of activation request and add a function
9393                         that subclasses can override to handle it easily
9394
9395 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9396
9397         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9398         removal of NetworkManagerAPList.
9399
9400 2007-09-10  Dan Williams  <dcbw@redhat.com>
9401
9402         * src/NetworkManagerAP.c
9403           src/NetworkManagerAP.h
9404           introspection/nm-access-point.xml
9405                 - Change 'freq' property to a guint32 instead of a double since we
9406                         weren't using the floating point bits anyway
9407
9408 2007-09-10  Dan Williams  <dcbw@redhat.com>
9409
9410         * NetworkManagerAP.c
9411           NetworkManagerAP.h
9412           NetworkManagerPolicy.c
9413           NetworkManagerSystem.c
9414           NetworkManagerUtils.c
9415           NetworkManagerUtils.h
9416           nm-device-802-11-wireless.c
9417           nm-device-802-3-ethernet.c
9418           nm-hal-manager.c
9419           nm-manager.c
9420           vpn-manager/nm-dbus-vpn.c
9421                 - Warning fixes; casts and removal of unused variables
9422
9423 2007-09-10  Dan Williams  <dcbw@redhat.com>
9424
9425         * include/NetworkManager.h
9426                 - Kill NMNetworkType; AP types don't matter any more
9427
9428         * src/NetworkManagerAPList.c
9429           src/NetworkManagerAPList.h
9430           src/Makefile.am
9431                 - Kill; NMAccessPointList has outlived it's usefulness
9432
9433         * src/NetworkManagerAP.c
9434           src/NetworkManagerAP.h
9435                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9436                         functions; check if an NMConnection object is compatible with the
9437                         settings of this AP
9438                 - (freq_to_channel, channel_to_freq): utility functions for
9439                         channel <-> frequency conversion
9440
9441         * src/nm-device.c
9442           src/nm-device.h
9443                 - (nm_device_get_best_connection): pass the specific object around
9444                          (which might be the object path of a specific AP to connect to).
9445                          The get_best_connection() call should populate this on return
9446                          if needed (wireless does).
9447
9448         * src/nm-device-802-3-ethernet.c
9449                 - (real_get_best_connection): handle specific_object argument
9450
9451         * src/NetworkManager.c
9452           src/NetworkManagerMain.h
9453                 - Remove unused includes
9454
9455         * src/nm-device-802-11-wireless.c
9456           src/nm-device-802-11-wireless.h
9457                 - Convert the ap_list into a GSList from an NMAccessPointList
9458                 - No need for caching the 'activation_ap' since this is now determined
9459                         from the specific_object of the activation request, which is
9460                         populated from the get_best_connection() call or from a user request
9461                 - (nm_device_802_11_wireless_update_bssid): fix warning
9462                 - (get_wireless_capabilities): fix error message format arguments
9463                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9464                 - (find_best_connection, real_get_best_connection): implement
9465                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9466                         move here from NetworkManagerAPList
9467                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9468                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9469                         already verified earlier
9470                 - (real_act_stage2_config): use nm_connection_need_secrets()
9471
9472         * src/NetworkManagerPolicy.c
9473                 - (nm_policy_auto_get_best_device): handle specific objects
9474                 - (create_connection): remove; automatic connection creation functionality
9475                         is handled by the Connection objects
9476                 - (nm_policy_device_change_check): handle specific_object
9477
9478         * libnm-util/nm-connection.c
9479                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9480
9481 2007-09-10  Dan Williams  <dcbw@redhat.com>
9482
9483         * src/nm-manager.c
9484                 - (query_connections): fix uninitialized variable problem that caused
9485                         segfault
9486                 - (nm_manager_add_device): take devices down on startup so that we can
9487                         be assured that nm_device_is_up() won't short-circuit the init
9488                         process.  Hack until the is_up check gets split into two pieces
9489                         that aren't behaviorally confusing.
9490
9491 2007-09-09  Dan Williams  <dcbw@redhat.com>
9492
9493         * introspection/nm-device.xml
9494                 - The 'Activate' method now takes 3 arguments, a service name for the
9495                 settings service (user or system), the object path of the connection
9496                 to activate, and the specific object to activate, if any
9497
9498         * src/nm-device-interface.c
9499                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9500                 Add error bits
9501                 - (impl_device_activate): adapt to new Activate arguments; validate
9502                 the service name and get the Connection object from the NMManager
9503                 before starting to activate the device with the specified connection
9504
9505         * src/nm-device-802-3-ethernet.c
9506                 - (real_get_best_connection): find the best connection, or create a
9507                 default one if no existing connections can be used
9508
9509         * src/NetworkManagerPolicy.c
9510                 - (nm_policy_auto_get_best_device): Get the device's best connection
9511                 and only pick the device if it has one
9512                 - (nm_policy_device_change_check): disable wireless bits for now until
9513                 wireless get_best_connection() can be implemented (replacing "best_ap");
9514                 don't create a default connection here as the device subclass will do
9515                 that if needed
9516
9517         * src/nm-manager.h
9518           src/nm-manager.c
9519                 - (nm_manager_get): make NMManager a singleton and expose the getter
9520                 internally
9521                 - Rework internal NMManager connection handling to use the same
9522                 routines for both the system and user settings services.  Most calls
9523                 take a new NMConnectionType argument specifying either system or user
9524                 connections
9525                 - (nm_manager_get_connection_by_object_path): new function; get a
9526                 connection keyed on its object path
9527
9528         * src/NetworkManager.c
9529                 - (main): use nm_manager_get()
9530
9531 2007-09-09  Dan Williams  <dcbw@redhat.com>
9532
9533         * src/nm-device.h
9534           src/nm-device.c
9535                 - (nm_device_get_best_connection): new function; get best connection
9536                         for the device at that time
9537
9538 2007-09-09  Dan Williams  <dcbw@redhat.com>
9539
9540         * src/nm-device-interface.h
9541                 - Add NMDeviceInterfaceError with an UnknownConnection error
9542
9543 2007-09-09  Dan Williams  <dcbw@redhat.com>
9544
9545         Stupid mistake on my part; object path and interface for settings service
9546         and connection objects can be the same, only the service name must be
9547         different for the system and user settings services.
9548
9549         * include/NetworkManager.h
9550           src/nm-manager.c
9551           introspection/nm-settings-connection.xml
9552           introspection/nm-settings.xml
9553           libnm-glib/nm-settings.c
9554                 - (nm_connection_settings_init, query_user_connections,
9555                    new_connection_cb): Unify NetworkManagerSettings and Connection
9556                    interface name and object path
9557
9558 2007-09-06  Dan Williams  <dcbw@redhat.com>
9559
9560         * libnm-glib/nm-object.c
9561                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9562                    nm_object_get_int_property, nm_object_get_uint_property,
9563                    nm_object_get_boolean_property, nm_object_get_byte_property,
9564                    nm_object_get_double_property, nm_object_get_byte_array_property):
9565                         clear GValues after copying their contents, fixes memory leaks
9566                         after every property access because dbus-glib copies the values
9567                         from the DBusMessage into the GValue already.
9568
9569 2007-09-06  Dan Williams  <dcbw@redhat.com>
9570
9571         * introspection/nm-access-point.xml
9572                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9573                         them to be.  There's some magic property name parsing going on in
9574                         dbus-glib that breaks up property names based on studly-caps and
9575                         puts - between words.
9576
9577         * libnm-glib/nm-access-point.c
9578                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9579                         Fix property names
9580
9581 2007-09-06  Dan Williams  <dcbw@redhat.com>
9582
9583         * src/nm-manager.c
9584                 - (nm_manager_user_connections_destroy): clear the user connections hash
9585                         table, don't destroy it
9586                 - (finalize): only destroy the hash table on NMManager finalization
9587
9588 2007-09-02  Dan Williams  <dcbw@redhat.com>
9589
9590         * include/NetworkManager.h
9591           libnm-glib/nm-settings.c
9592                 - defines for the user settings daemon D-Bus bits
9593
9594         * src/NetworkManager.c
9595                 - Remove stuff that referred to the old NetworkManagerInfo service
9596
9597         * src/vpn-manager/nm-dbus-vpn.h
9598                 - Move old NMI defines to the only place they are used still
9599
9600         * libnm-util/nm-connection.c
9601           libnm-util/nm-connection.h
9602           src/nm-activation-request.c
9603                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9604
9605         * src/nm-manager.c
9606           src/nm-manager.h
9607                 - Get connections and their settings from the user settings daemon
9608                         at the appropriate times
9609
9610 2007-09-02  Dan Williams  <dcbw@redhat.com>
9611
9612         * libnm-util/nm-setting.c
9613                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9614                 - (setting_wireless_hash): set the right value on the item
9615
9616 2007-09-02  Dan Williams  <dcbw@redhat.com>
9617
9618         * test/Makefile.am
9619           test/nminfotest.c
9620                 - Remove, no longer useful
9621
9622 2007-08-30  Dan Williams  <dcbw@redhat.com>
9623
9624         * src/Makefile.am
9625           src/NetworkManagerDbus.c
9626           src/NetworkManagerDbus.h
9627           src/vpn-manager/nm-dbus-vpn.c
9628                 - Remove, no longer necessary.  Move last bits to the only place its
9629                 used, in nm-dbus-vpn.c
9630
9631         * src/NetworkManagerAPList.c
9632           src/nm-device.c
9633           src/NetworkManager.c
9634           src/nm-device-802-11-wireless.c
9635           src/vpn-manager/nm-vpn-manager.c
9636           src/vpn-manager/nm-vpn-service.c
9637           src/NetworkManagerPolicy.c
9638           src/nm-manager.c
9639                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9640                 that was message_is_error()
9641
9642 2007-08-30  Dan Williams  <dcbw@redhat.com>
9643
9644         * libnm-util/sha1.c
9645                 - Include config.h to get defines for endiannes (gnome.org #420216)
9646
9647 2007-08-30  Dan Williams  <dcbw@redhat.com>
9648
9649         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9650
9651         * src/ppp-manager/Makefile.am
9652                 - use -fPIC (gnome.org #471825)
9653
9654 2007-08-29  Dan Williams  <dcbw@redhat.com>
9655
9656         * include/NetworkManager.h
9657                 - Keep NMConnection object path in sync
9658
9659         * libnm-glib/nm-settings.c
9660           libnm-glib/nm-settings.h
9661                 - Break D-Bus object registration out of the init function, because
9662                 every object that's exported over D-Bus needs to use the _same_
9663                 DBusConnection.  Otherwise, each object would get a different object
9664                 path tree and wouldn't be callable.
9665
9666 2007-08-29  Dan Williams  <dcbw@redhat.com>
9667
9668         * libnm-util/nm-setting.h
9669           libnm-util/nm-setting.c
9670           libnm-util/nm-connection.c
9671           src/NetworkManagerPolicy.c
9672                 - 'info' settings object should be 'connection' says the spec
9673                 at NetworkManagerConfigurationSpecification
9674
9675 2007-08-29  Dan Williams  <dcbw@redhat.com>
9676
9677         * libnm-glib/nm-settings.c
9678           libnm-glib/nm-settings.h
9679                 - make the dbus path a property of the object, and autogenerate it.
9680                 It can't be composed of the 'id' field becuase that's not available
9681                 yet during the GObject creation in nm_connection_settings_init()
9682
9683 2007-08-29  Dan Williams  <dcbw@redhat.com>
9684
9685         * introspection/nm-settings-connection.xml
9686           introspection/nm-settings.xml
9687                 - Service name -> NetworkManagerUserSettings because two services
9688                 can't share part of the same path.  I'm not really sure how we'll use
9689                 the same code with the system-settings daemon...
9690
9691 2007-08-28  Dan Williams  <dcbw@redhat.com>
9692
9693         * src/nm-device-interface.c
9694           src/nm-device-interface.h
9695                 - Kill one more bit of NMData
9696
9697 2007-08-28  Dan Williams  <dcbw@redhat.com>
9698
9699         * src/NetworkManagerSystem.h
9700           src/nm-device.c
9701           src/nm-device.h
9702           src/nm-hal-manager.c
9703           src/NetworkManager.c
9704           src/nm-device-802-11-wireless.c
9705           src/nm-hal-manager.h
9706           src/nm-device-802-3-ethernet.c
9707           src/vpn-manager/nm-vpn-service.h
9708           src/vpn-manager/nm-vpn-manager.c
9709           src/vpn-manager/nm-vpn-manager.h
9710           src/vpn-manager/nm-vpn-service.c
9711           src/nm-device-802-11-wireless.h
9712           src/NetworkManagerMain.h
9713           src/nm-device-802-3-ethernet.h
9714           src/backends/NetworkManagerGentoo.c
9715           src/backends/NetworkManagerPaldo.c
9716           src/backends/NetworkManagerFrugalware.c
9717           src/backends/NetworkManagerRedHat.c
9718           src/backends/NetworkManagerSlackware.c
9719           src/backends/NetworkManagerGeneric.c
9720           src/backends/NetworkManagerArch.c
9721           src/backends/NetworkManagerSuSE.c
9722           src/backends/NetworkManagerGeneric.h
9723           src/backends/NetworkManagerDebian.c
9724                 - Kill NMData
9725
9726 2007-08-28  Dan Williams  <dcbw@redhat.com>
9727
9728         * src/NetworkManagerMain.h
9729           src/nm-device-802-11-wireless.c
9730           src/NetworkManager.c
9731                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9732                 for now we should set the 'invalid' property on individual APs, and when
9733                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9734                 that ESS
9735
9736 2007-08-28  Dan Williams  <dcbw@redhat.com>
9737
9738         * src/NetworkManagerAP.c
9739           src/NetworkManagerAP.h
9740                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9741                         'autoconnect' property instead
9742
9743         * src/NetworkManager.c
9744           src/NetworkManagerMain.h
9745           src/NetworkManagerPolicy.c
9746           src/NetworkManagerPolicy.h
9747                 - Remove the 'allowed_ap_list', which should be replaced by 
9748                         NMConnection/NMSettings instead, since _those_ are the allowed
9749                         things that NM can connect to
9750
9751         * src/nm-device-802-11-wireless.c
9752                 - Remove both allowed_ap_list usage and 'fallback' checking
9753
9754 2007-08-28  Dan Williams  <dcbw@redhat.com>
9755
9756         * src/nm-device.c
9757           src/named-manager/nm-named-manager.c
9758           src/named-manager/nm-named-manager.h
9759           src/NetworkManager.c
9760           src/vpn-manager/nm-vpn-manager.c
9761           src/NetworkManagerMain.h
9762           src/NetworkManagerSystem.c
9763                 - Remove the named-manager object from NMData structure in preparation
9764                 for NMData's timely death.  Make the NMNamedManager the singleton that
9765                 it really is
9766
9767 2007-08-28  Dan Williams  <dcbw@redhat.com>
9768
9769         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9770         each AP's capabilities, and by NMConnection/NMSettings objects for user
9771         defined connections.
9772
9773         * include/NetworkManager.h
9774                 - Redefine 802.11 security properties.  There are now device capabilities
9775                         and AP flags and AP security flags.  It was way to unclear before.
9776
9777         * src/Makefile.am
9778           src/nm-ap-security-leap.h
9779           src/nm-ap-security-leap.c
9780           src/nm-ap-security-wpa-eap.c
9781           src/nm-ap-security-wpa-eap.h
9782           src/nm-ap-security-private.h
9783           src/nm-ap-security-wpa-psk.c
9784           src/nm-ap-security-wpa-psk.h
9785           src/nm-ap-security-wep.c
9786           src/nm-ap-security-wep.h
9787           src/nm-ap-security.c
9788           src/nm-ap-security.h
9789                 - Removed, to be replaced with NMConnection/NMSettings objects
9790
9791         * src/nm-dbus-nmi.c
9792           src/nm-dbus-nmi.h
9793                 - Removed, to be replaced by code that talks to the new info daemon
9794                         interface and gets NMConnection/NMSettings objects
9795
9796         * src/backends/NetworkManagerSuSE.c
9797                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9798                         info-daemon that does the same thing but talks the new info-daemon
9799                         D-Bus interface
9800
9801         * src/NetworkManagerAP.h
9802           src/NetworkManagerAP.c
9803           src/NetworkManagerAPList.c
9804           libnm-glib/libnm-glib-test.c
9805                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9806                         WPA/RSN
9807
9808         * libnm-glib/nm-access-point.c
9809           libnm-glib/nm-access-point.h
9810           introspection/nm-access-point.xml
9811           test/nm-tool.c
9812                 - Adjust to new flags for AP security
9813
9814         * utils/nm-utils.c
9815           utils/nm-utils.h
9816           src/vpn-manager/nm-dbus-vpn.c
9817                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9818                         stuff which is the only place it's used
9819
9820         * src/nm-device-interface.c
9821           src/nm-device-interface.h
9822           introspection/nm-device.xml
9823           src/nm-activation-request.c
9824           src/nm-activation-request.h
9825           src/nm-device.c
9826                 - Add a new 'specific_object' argument that hints to NM what actual
9827                         AP or other device-specific thing the connection should apply to.
9828                         NMConnection objects can apply to more than one actual device/AP.
9829
9830         * libnm-util/nm-connection.c
9831         * libnm-util/nm-connection.h
9832                 - Add 'have_secrets" call stubs
9833
9834         * libnm-util/cipher.h
9835                 - Move NM_AUTH_TYPE_* defines here for now
9836
9837         * src/nm-device-802-11-wireless.c
9838                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9839                         NMSettings objects
9840
9841         * src/NetworkManagerDbus.c
9842         * src/NetworkManagerPolicy.c
9843                 - Remove usage of update_allowed_networks, should be pushing data in
9844                         a different manner
9845
9846 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9847
9848         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9849         dbus-glib frees it when the call is done.
9850
9851 2007-08-26  Dan Williams  <dcbw@redhat.com>
9852
9853         * introspection/nm-device.xml
9854                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9855
9856 2007-08-26  Dan Williams  <dcbw@redhat.com>
9857
9858         * src/nm-device-802-3-ethernet.c
9859                 - (constructor): move connection of interface-connected/disconnected
9860                         signals here from real_bring_up().  Should be listening to netlink
9861                         for carrier events no matter what the initial state of the device
9862                         is.
9863
9864 2007-08-26  Dan Williams  <dcbw@redhat.com>
9865
9866         * src/nm-netlink-monitor.c
9867                 - (nm_netlink_monitor_class_init): fix marshalling types for
9868                         interface-connected/interface-disconnected
9869                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9870                         check
9871
9872 2007-08-26  Dan Williams  <dcbw@redhat.com>
9873
9874         Convert to using interface indexes as the primary method of identifying
9875         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9876         be renamed at any time.  Device object paths now refer to the device
9877         index rather than the name, and you can map those two manually if you like
9878         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9879         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9880         to use interface indexes rather than names.
9881
9882 2007-08-26  Dan Williams  <dcbw@redhat.com>
9883
9884         * src/nm-netlink-monitor.h
9885                 - Remove one last bit of wireless-event signal
9886
9887 2007-08-26  Dan Williams  <dcbw@redhat.com>
9888
9889         * src/nm-netlink-monitor.c
9890                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9891                         don't need the 'wireless-event' signal anymore since that's all
9892                         handled by wpa_supplicant
9893
9894 2007-08-25  Dan Williams  <dcbw@redhat.com>
9895
9896         It's 2007. Remove support for drivers that don't support wireless scanning.
9897
9898         * test/nm-tool.c
9899           include/NetworkManager.h
9900           src/NetworkManagerUtils.c
9901           src/NetworkManagerPolicy.c
9902           src/nm-device-802-11-wireless.c
9903                 - Remove special handling for non-scanning devices and mark them
9904                         as unsupported/unhandled
9905
9906 2007-08-20  Dan Williams  <dcbw@redhat.com>
9907
9908         * src/nm-device-802-11-wireless.c
9909           src/nm-device-802-3-ethernet.c
9910                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9911                         because when the card is pulled or the module removed, the device
9912                         is already !IFF_UP and then device-specific cleanup (removing
9913                         the supplicant interface, periodic checks, etc) never gets done
9914
9915 2007-08-20  Dan Williams  <dcbw@redhat.com>
9916
9917         * src/nm-manager.c
9918                 - (nm_manager_remove_device): bring device down before disconnecting
9919                         signal handlers, so that the 'state' signal will get broadcast when
9920                         the device enters the DOWN state
9921                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9922                         of states that cause the NMManager to recheck its state
9923
9924 2007-08-20  Dan Williams  <dcbw@redhat.com>
9925
9926         * src/supplicant-manager/nm-supplicant-interface.c
9927                 - (interface_disconnect_done): don't try to dispose of the net proxy
9928                         when it may already have been disposed of
9929
9930 2007-08-20  Dan Williams  <dcbw@redhat.com>
9931
9932         * src/nm-device-802-11-wireless.c
9933                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9934                         the SSID isn't available; this can happen when the card is pulled
9935                         or the module unloaded, during the post-removal deactivation
9936                         paths, when the ioctl returns ENODEV
9937
9938 2007-08-20  Dan Williams  <dcbw@redhat.com>
9939
9940         * src/nm-device-802-11-wireless.c
9941                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9942                         frequency, and mode match.  Applets are now responsible for grouping
9943                         access points
9944
9945 2007-08-20  Dan Williams  <dcbw@redhat.com>
9946
9947         * src/NetworkManagerAP.c
9948         * src/NetworkManagerAP.h
9949                 - (nm_ap_print_self): new function
9950
9951         * src/NetworkManagerAPList.c
9952                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9953                         to do it all here
9954         
9955 2007-08-17  Dan Williams  <dcbw@redhat.com>
9956
9957         * src/nm-device-802-3-ethernet.c
9958                 - (real_bring_down): don't try to dispose of stuff that might not
9959                         exist
9960
9961 2007-08-17  Dan Williams  <dcbw@redhat.com>
9962
9963         * src/NetworkManagerAP.c
9964                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9965                         applet.  This ensures that the case between the seen-bssids and
9966                         the bssids reported by the driver match.
9967
9968 2007-08-17  Dan Williams  <dcbw@redhat.com>
9969
9970         * src/nm-device-802-11-wireless.c
9971                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9972                         we dispose of the interface proxy in NM
9973
9974 2007-08-16  Dan Williams  <dcbw@redhat.com>
9975
9976         * libnm-glib/nm-client.c
9977                 - (nm_client_init): create VPN connections hash table with key free
9978                         function
9979                 - (proxy_vpn_connection_added): VPN connections hash table key should
9980                         be a duplicated value, not the same memory address as the VPN
9981                         connection name.  This is because the VPN connection name could
9982                         potentially be freed and set to something else during the lifetime
9983                         of the NMVPNConnection object.
9984
9985 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9986
9987         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9988         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9989         with the file descriptors. Send a child setup function to change the pppd
9990         progress group.
9991
9992 2007-08-15  Dan Williams  <dcbw@redhat.com>
9993
9994         * src/supplicant-manager/nm-supplicant-interface.c
9995                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9996                         an interface
9997                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9998                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9999                         happens on hotplug if wpa_supplicant doesn't tear down and readd
10000                         the interface internally
10001
10002 2007-08-15  Dan Williams  <dcbw@redhat.com>
10003
10004         * src/nm-device-802-11-wireless.c
10005                 - (real_bring_down): move most of this function into device_cleanup()
10006                         so that it can be called from elsewhere
10007                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
10008                         and stuff on dispose.  These would normally get cleaned up when
10009                         the device is marked down and deactivated, but when the device is
10010                         hot-unplugged, it's already down and real_down() never gets run
10011
10012 2007-08-15  Dan Williams  <dcbw@redhat.com>
10013
10014         * src/nm-dbus-nmi.c
10015                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
10016                         caused a reference leak on device for which NM requested a key
10017
10018 2007-08-15  Dan Williams  <dcbw@redhat.com>
10019
10020         * libnm-glib/nm-client.c
10021                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
10022
10023 2007-08-15  Tambet Ingo  <tambet@gmail.com>
10024
10025         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
10026         nothing is using it at the moment, but it'll be all useful and stuff later on.
10027
10028         * libnm-util/nm-setting.h: Define NMSettingPPP.
10029
10030         * libnm-util/nm-setting.c: Implement NMSettingPPP.
10031
10032         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
10033
10034         * src/Makefile.am: Add ppp-manager to SUBDIRS.
10035
10036         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
10037
10038         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
10039
10040 2007-08-14  Tambet Ingo  <tambet@gmail.com>
10041
10042         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
10043
10044         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
10045         an issue with dbus-glib bindings generator. The issue is, the generated C caller
10046         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
10047         name and different arguments and it won't compile anymore. To fix this, we now have
10048         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
10049         that is new API + compatibility API and used by the daemon. The other, 
10050         nm-manager-client.xml is only the new API without compatibility bits and is used
10051         by libnm-glib to make it compile.
10052
10053         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10054
10055         * src/nm-manager.c (impl_manager_legacy_sleep)
10056         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10057         interface functions for 0.6 branch.
10058
10059 2007-08-14  Dan Williams  <dcbw@redhat.com>
10060
10061         * src/NetworkManagerAP.c
10062                 - (nm_ap_new_from_properties): fix mistaken check of return value
10063                         from memcmp (should expect 0)
10064
10065 2007-08-14  Dan Williams  <dcbw@redhat.com>
10066
10067         (force-commit to fix wrong comment and partial commit of r2685; this
10068          commit actually applies to r2685)
10069
10070         * src/NetworkManagerUtils.c
10071                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10072                         ignores trailing nulls in the SSID to work around mismatches in
10073                         expectations between WEXT and what the info-daemon passes back.  The
10074                         info-daemon would pass back the correct length, but due to the
10075                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10076                         the device would always have an SSID + 1 depending on what versions
10077                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10078                         visible by just quitting the applet and relaunching, which caused
10079                         NM to reassociated to the same network over again when reloading
10080                         the save networks.
10081
10082         * src/NetworkManagerPolicy.c
10083           src/NetworkManagerUtils.h
10084           src/nm-device-802-11-wireless.c
10085                 - Update for new parameter to nm_utils_same_ssid()
10086
10087 2007-08-14  Dan Williams  <dcbw@redhat.com>
10088
10089         * src/NetworkManagerAP.c
10090                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10091                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10092                         setting the BSSID to all 0s.  That confused the heck out of NM,
10093                         plus it's useless and probably out-of-spec.
10094
10095 2007-08-14  Dan Williams  <dcbw@redhat.com>
10096
10097         * callouts/Makefile.am
10098           src/dhcp-manager/nm-dhcp-manager.c
10099           src/dhcp-manager/nm-dhcp-manager.h
10100           src/dhcp-manager/Makefile.am
10101                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10102
10103 2007-08-14  Dan Williams  <dcbw@redhat.com>
10104
10105         * src/dhcp-manager/nm-dhcp-manager.c
10106                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10107                         it's really needed, get rid of unused xtra_args parameter
10108
10109 2007-08-14  Dan Williams  <dcbw@redhat.com>
10110
10111         * include/NetworkManagerVPN.h
10112           src/vpn-manager/nm-dbus-vpn.c
10113           src/vpn-manager/nm-dbus-vpn.h
10114           src/vpn-manager/nm-vpn-act-request.c
10115           src/vpn-manager/nm-vpn-act-request.h
10116           src/vpn-manager/nm-vpn-service.c
10117           src/vpn-manager/nm-vpn-service.h
10118           libnm-glib/nm-vpn-connection.c
10119           libnm-glib/nm-vpn-connection.h
10120           libnm-glib/nm-client.h
10121                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10122                         NMVPNServiceState to clarify what they apply to
10123                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10124                         NMVPNActStage -> NMVPNConnectionState for the same reason
10125
10126         * libnm-glib/nm-client.c
10127                 - Constant + type renames from above
10128                 - Properly handle NameOwnerChanged/manager_running signals
10129                         for NM service; only emit when state really changes
10130                 - Use hash tables correctly so that the key (which was previously owned
10131                         by the D-Bus message) now has the same lifetime as the value, since
10132                         the key is now taken from the the NMVPNConnection itself.  This
10133                         really fixes the double-VPN names in the applet
10134
10135 2007-08-13  Dan Williams  <dcbw@redhat.com>
10136
10137         Patch from Michael Biebl <biebl@debian.org>
10138
10139         * po/POTFILES.in
10140           po/POTFILES.skip
10141                 - Update for vpn-properties move
10142
10143 2007-08-13  Dan Williams  <dcbw@redhat.com>
10144
10145         * libnm-glib/nm-client.c
10146                 - Convert internal VPN connection tracking from a list to a hash table
10147                         to easily avoid duplicates
10148                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10149                         must be freed by the caller, like nm_client_get_devices()
10150                 - (nm_client_remove_vpn_connection): don't let the removal signal
10151                         leak through for NMVPNConnection objects that aren't actually
10152                         tracked.
10153                 - (manager_running): throw away VPN connection list when NM goes away,
10154                         like with the device list
10155
10156 2007-08-13  Dan Williams  <dcbw@redhat.com>
10157
10158         * src/dhcp-manager/nm-dhcp-manager.c
10159                 - Stop any dhclient instance that might be already running for a
10160                         particular interface before starting an NM spawned dhclient.  Fixes
10161                         dhclient processes left over if NM crashes, stuff like that.
10162
10163 2007-08-13  Dan Williams  <dcbw@redhat.com>
10164
10165         * src/NetworkManagerAP.c
10166                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10167                         when the AP wasn't broadcasting it's SSID
10168
10169 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10170
10171         * include/NetworkManager.h: added DBus path for connection settings.
10172
10173         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10174         nm_connection_settings_signal_updated,
10175         nm_connection_settings_signal_removed): new functions to wrap the
10176         objects' signals.
10177         (nm_connection_settings_init): register GObject with DBus.
10178         (nm_connection_settings_get_dbus_object_path): new function.
10179
10180         * libnm-glib/Makefile.am: added libnmutil to link flags.
10181
10182 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10183
10184         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10185
10186         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10187         libnm_glib directory got merged with libnm-glib/.
10188
10189         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10190
10191         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10192         Rename the library from libnm-glib to libnm_glib to maintain the library API
10193         compatibility with 0.6 branch.
10194
10195         * Makefile.am: Remove gnome/ SUBDIR.
10196
10197         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10198
10199         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10200
10201         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10202
10203         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10204         anymore.
10205         Remove checks for wpa_supplicant binary, it's used over dbus.
10206         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10207
10208         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10209         Link the binaries with libnm_glib.la.
10210
10211 2007-08-12  Dan Williams  <dcbw@redhat.com>
10212
10213         * src/NetworkManagerPolicy.c
10214                 - (nm_policy_device_change_check): fix policy to deactivate old device
10215                         before activating new one, at least until the multiple active
10216                         device support lands
10217
10218 2007-08-12  Dan Williams  <dcbw@redhat.com>
10219
10220         * src/NetworkManagerPolicy.c
10221                 - (nm_policy_new): hook up to connection-added / connection-removed
10222                         signals instead of connections-changed
10223
10224 2007-08-12  Dan Williams  <dcbw@redhat.com>
10225
10226         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10227         Robert Frank <rfrank@redhat.com>
10228
10229         * src/dhcp-manager/nm-dhcp-manager.c
10230           src/dhcp-manager/nm-dhcp-manager.c
10231           src/nm-device.c
10232                 - Spawn and communicate with dhclient directly, through means of a
10233                 custom dhclient callout script.  Process callout D-Bus signals
10234                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10235                 sent via gobject signals rather than being driven by the dhcp manager
10236                 directly.
10237
10238 2007-08-12  Dan Williams  <dcbw@redhat.com>
10239
10240         * callouts/nm-dhcp-client-action.c
10241                 - (build_message): ignore non-DHCP-related environment variables
10242
10243 2007-08-12  Dan Williams  <dcbw@redhat.com>
10244
10245         * Makefile.am
10246           configure.in
10247           callouts/Makefile.am
10248           callouts/nm-dhcp-client-action.c
10249           callouts/nm-dhcp-client.conf
10250                 - Add dhclient-executed callout that takes the place of dhclient-script
10251                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10252                 NM then listens for
10253
10254 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10255
10256         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10257
10258         * libnm-glib/nm-client.h:
10259         * libnm-glib/nm-object.h:
10260         * libnm-glib/nm-vpn-connection.h:
10261         * libnm-glib/nm-settings.h:
10262         * libnm-glib/nm-device.h:
10263         * libnm-glib/nm-ip4-config.h:
10264         * libnm-glib/nm-access-point.h:
10265         * libnm-glib/nm-device-802-3-ethernet.h:
10266         * libnm-util/nm-setting.h: 
10267         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10268
10269         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10270
10271         * libnm-glib/nm-access-point.c: Strength has type char.
10272
10273         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10274         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10275
10276         * introspection/nm-access-point.xml: Strength property is char, not int.
10277
10278         * src/NetworkManagerAP.c (set_property): Set strength from char.
10279         (get_property): Handle hidden APs (with empty SSID).
10280         Get strength value from char.
10281         (nm_ap_class_init): Strength property has char type.
10282
10283 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10284
10285         * introspection/Makefile.am:
10286         * introspection/nm-settings.xml:
10287         * introspection/nm-settings-connection.xml: added Settings interfaces.
10288
10289         * libnm-glib/nm-settings.[ch]:
10290         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10291         containing the DBus implementation.
10292
10293 2007-07-26  Dan Williams  <dcbw@redhat.com>
10294
10295         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10296
10297         * src/NetworkManagerSystem.c
10298                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10299                         same subnet (#437396)
10300
10301 2007-07-26  Dan Williams  <dcbw@redhat.com>
10302
10303         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10304
10305         * gnome/vpn-properties/nm-vpn-properties.c
10306                 - Fix translatable strings (#445865)
10307
10308 2007-07-26  Dan Williams  <dcbw@redhat.com>
10309
10310         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10311
10312         * configure.in
10313                 - Remove useless junk (#412530)
10314
10315 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10316
10317         Patch from Robert Buchholz <rbu@gentoo.org>:
10318
10319         * configure.in:
10320         * Makefile.am:
10321         * introspection/Makefile.am:
10322         Make make distcheck work again.
10323
10324 2007-06-27  Dan Williams  <dcbw@redhat.com>
10325
10326         * Make SSIDs GByteArrays everywhere
10327         * Rename "essid" -> "ssid" everywhere that's appropriate
10328         * Refcount activation_ap member of the 802.11 wireless device class
10329
10330 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10331
10332         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10333
10334 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10335
10336         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10337         that we got a new AP when we just update existing AP properties.
10338
10339 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10340
10341         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10342
10343         * nm-utils.[ch]: Remove.
10344
10345         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10346         objects for easy property access and dbus connection handling.
10347
10348         * libnm-glib/nm-client.c: Derive from NMObject.
10349
10350         * libnm-glib/nm-device.c: Ditto.
10351
10352         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10353
10354         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10355
10356         * libnm-glib/nm-ip4-config.c: Ditto.
10357
10358         * libnm-glib/nm-access-point.c: Ditto.
10359
10360         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10361         comparision. Currently used by the device activation code to determine if the new
10362         activation is the same as the old one.
10363
10364         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10365         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10366         able to ask password for the AP.
10367
10368         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10369         up if the device is already connected, tear down it's connection (if it isn't the
10370         same as new one) and start the activation.
10371
10372         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10373
10374         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10375         the issue where all APs are always listed as encrypted.
10376
10377         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10378         their own registered paths.
10379
10380         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10381         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10382
10383 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10384
10385         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10386         (0 & 0 == 0, doh)
10387
10388         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10389         because the handling code will cause the next state change and signal listeners
10390         get the signals in wrong order.
10391
10392         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10393         correctly in case of pending activation.
10394
10395         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10396         Convert the essid byte array to string correctly, including the terminating NULL.
10397
10398         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10399         mode with correct types.
10400
10401         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10402         constructed info to dbus call instead of the activation request.
10403
10404 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10405
10406         Patch from Christian Persch <chpe@gnome.org>
10407
10408         * libnm-glib/Makefile.am:
10409         * dispatcher-daemon/Makefile.am:
10410         Use the correct variables, the correct paths, and correct ordering. (446315)
10411
10412 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10413
10414         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10415         argument. The activation request is easy to retrieve.
10416
10417         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10418         just to be a convenient location for devices to store random stuff.
10419
10420 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10421
10422         Patch from Alex Smith <alex@alex-smith.me.uk>
10423
10424         * src/backends/NetworkManagerFrugalware.c:
10425         Update the FrugalWare backend to fix a few segfaults. (#392642)
10426
10427 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10428
10429         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10430
10431         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10432         setting.
10433         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10434
10435 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10436
10437         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10438         automagically.
10439         Implement NMSettingIP4Config.
10440         Finish NMSettingWired by adding all known members.
10441         (setting_wired_verify): Implement.
10442         Finish NMSettingWireless by adding all known members.
10443         (setting_wireless_verify): Implement.
10444
10445         * libnm-util/nm-connection.c: Register "ipv4" setting.
10446         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10447         dump function, we can introspect the GHashTable which is used for sending connections
10448         over dbus.
10449
10450         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10451         Take GByteArray for essid, it's really not a string.
10452
10453         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10454         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10455         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10456         means overriding the values we got from DHCP.
10457         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10458         (nm_device_deactivate_quickly): Ditto.
10459
10460         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10461         for debugging.
10462
10463 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10464
10465         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10466         NMConnection.
10467
10468         * libnm-glib/nm-device-802-11-wireless.c:
10469         (nm_device_802_3_ethernet_activate): Remove.
10470
10471         * libnm-glib/nm-device-802-3-ethernet.c
10472         (nm_device_802_3_ethernet_activate): Remove.
10473
10474         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10475
10476         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10477         NMConnection.
10478
10479         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10480         activation has started.
10481         Implement the new activation using NMConnection.
10482
10483         * src/nm-activation-request.c: Store a generic connection object instead
10484         of a wireless-specific AP.
10485
10486         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10487         on device type, create a device specific connection object suitable for
10488         device activation.
10489
10490         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10491         specific check to validate the connection and on success start the
10492         activation.
10493
10494         * src/nm-device-interface.h: Add a activate virtual function to the
10495         interface definition.
10496
10497         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10498         (impl_device_activate): Implement.
10499
10500         * introspection/nm-device.xml: Add a generic device activation interface
10501         that accepts an abstract NMConnection structure that has device-specific
10502         information in it.
10503
10504         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10505         activation interface.
10506
10507         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10508         activation interface.
10509
10510         * libnm-util/nm-connection.c: 
10511         * libnm-util/nm-connection.h: 
10512         * libnm-util/nm-setting.c:
10513         * libnm-util/nm-setting.h: Add.
10514
10515         * libnm-util/Makefile.am: Build the added files.
10516
10517         * src/nm-dbus-manager.c
10518         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10519         DbusConnection argument from 'name-owner-changed' signal. The manager
10520         is already passed as a first argument to the signal and the connection
10521         is easy enough to get from it.
10522
10523         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10524         Update the signature of the function.
10525
10526         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10527         Ditto.
10528
10529         * src/NetworkManager.c: Ditto.
10530
10531         * src/named-manager/nm-named-manager.c
10532         (nm_named_manager_name_owner_changed): Ditto.
10533
10534         * src/supplicant-manager/nm-supplicant-manager.c
10535         (nm_supplicant_manager_name_owner_changed): Ditto.
10536
10537         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10538
10539         * src/dhcp-manager/nm-dhcp-manager.c
10540         (nm_dhcp_manager_name_owner_changed): Ditto.
10541
10542         * src/nm-hal-manager.c: Add a list of device detectors and creators
10543         to make it easier to add new devices. Each device type has it's own
10544         entry in the table so adding new device types is only a matter of
10545         implementing a couple of functions, one for device detection and the
10546         other for device creation.
10547
10548 2007-04-25  Dan Williams  <dcbw@redhat.com>
10549
10550         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10551                 (gnome.org #432401)
10552
10553 2007-03-30  Dan Williams  <dcbw@redhat.com>
10554
10555         * src/NetworkManagerSystem.c
10556                 - (nm_system_device_set_ip4_route): clean up and fix argument
10557                         to nm_dev_sock_open()
10558
10559 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10560
10561         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10562         data to correct types instead of always using string.
10563
10564         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10565         _not_ have NM_802_11_CAP_PROTO_NONE.
10566         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10567         is not set.
10568
10569 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10570
10571         * libnm-glib/Makefile.am: Fix the build issue.
10572
10573 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10574
10575         * libnm-glib/nm-vpn-connection.h: 
10576         * libnm-glib/nm-vpn-connection.c: Implement.
10577
10578         * libnm-glib/nm-client.c: Add VPN support.
10579
10580         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10581         handler for VPN.
10582
10583         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10584         on DBUS again.
10585
10586 2007-03-26  Dan Williams  <dcbw@redhat.com>
10587
10588         * src/NetworkManagerAPList.c
10589         * src/nm-device-802-11-wireless.c
10590         * src/NetworkManagerAP.c:
10591                 - Store last seen as glong instead of GTimeVal.
10592                 - Fix the upper bound of capabilities, it's a bitfield.
10593
10594 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10595
10596         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10597
10598         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10599         "manager-running" signal that notifies the appearance/disappearance of NM.
10600         (nm_client_sleep): Implement.
10601
10602         * libnm-glib/nm-device.c:
10603         * libnm-glib/nm-device-802-11-wireless.c: 
10604         * libnm-glib/nm-device-802-3-ethernet.c: 
10605
10606         Don't inherit from DBusGProxy, add a proxy to private
10607         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10608         for anything but their own dbus interface. DBusGProxy objects support only one
10609         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10610         interface. The nice side effect of this change is that we do not create a new
10611         DBusGProxy object for each property access.
10612
10613 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10614
10615         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10616         with zeroes before passing them to functions - the functions never do that and
10617         reading the values back may produce wrong values.
10618         (real_bring_up): Store the signal handler id ...
10619         (real_bring_down): ... So that it can be removed here.
10620         Disconnect the supplicant interface here as well.
10621         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10622         from the access point instead of old $device/Networks/$essid.
10623
10624         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10625         device state is connected (instead of just having link/carrier).
10626
10627         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10628         already easily accessible through the device.
10629
10630         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10631         store it within the object.
10632         (nm_ap_get_dbus_path): Export it to public as well.
10633
10634         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10635         of the singleton.
10636
10637 2007-03-12  Dan Williams  <dcbw@redhat.com>
10638
10639         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10640         for non-carrier-detect capable devices, and useless for carrier-detect
10641         devices since we get notifications from netlink about carrier status anyway.
10642
10643         * src/nm-device-802-3-ethernet.c
10644                 - remove 'link_source_id' member from private data
10645                 - (probe_link): remove and collapse into real_update_link()
10646                 - (nm_device_802_3_periodic_update): remove
10647                 - (real_is_up): check for sup_iface rather than link_source_id
10648                 - (real_bring_up): return gboolean for success/fail; require that
10649                         sup_iface be valid for device bringup to succeed
10650                 - (real_bring_down): zero out link signal ids
10651
10652         * src/nm-device.c
10653                 - (nm_device_activate_stage2_device_config): fail activation if device
10654                         bringup fails
10655                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10656                         fails
10657                 - (nm_device_bring_up): return success/fail
10658
10659         * src/nm-device.h
10660                 - bring_up now returns success/fail
10661
10662         * src/nm-device-802-11-wireless.c
10663                 - (real_bring_up): return success from bringup
10664
10665 2007-03-07  Dan Williams  <dcbw@redhat.com>
10666
10667         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10668         * src/nm-ap-security-wpa-psk.c
10669                 - (real_write_supplicant_config): work with PSKs that may contain
10670                         zeros in the binary format rather than treating it as a string
10671
10672 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10673
10674         * libnm-glib/nm-device-802-11-wireless.c
10675         (nm_device_802_11_wireless_get_capabilities): Implement.
10676
10677         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10678
10679         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10680
10681         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10682         reply only if it's not NULL. Not sure why this started happening right now.
10683
10684         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10685         code paths for when devices get removed on shutdown or when a device is just
10686         removed.
10687         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10688         gets freed so any signal from a device (disconnected for instance) would invoke
10689         NMState update which would crash.
10690         (nm_manager_remove_device): Bring the device down when it gets removed.
10691
10692         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10693         the unused dev_type.
10694
10695         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10696         reference to the added device, NMManager will own it (if it wants).
10697
10698         * test/nm-tool.c: Rewrite using libnm-glib.
10699
10700         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10701         We get signalled when it changes.
10702
10703         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10704         when it changes.
10705
10706         * libnm-glib/nm-device.c: Cache the device state property.
10707
10708         * libnm-glib/nm-access-point.c: Cache the strength property.
10709
10710         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10711         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10712         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10713         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10714         the device is down, activating, or activated (in case of A/B/G cards).
10715         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10716         it's all done through supplicant now.
10717
10718         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10719         counting issues with pending calls which caused leaks and crashes when
10720         interface was removed (now that the interface actually gets removed).
10721
10722         * src/nm-call-store.c: Make a copy of data before running a foreach
10723         with user callback on it - The most common usage pattern is to cancel
10724         (and thus remove) all pending calls with foreach which would modify
10725         the hash table we're iterating over.
10726
10727         * src/nm-manager.c: When a device is added, make sure it is "up". When
10728         it's removed or disabled due to disabling wireless or networking, bring
10729         it down.
10730
10731         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10732
10733         * src/nm-device-802-11-wireless.c: 
10734         * src/nm-device-802-3-ethernet.c: 
10735         * src/nm-device.c:
10736                 - Remove "init" virtual function, all gobjects have a place for that
10737                   already (constructor).
10738                 - Replace "start" virtual function with "bring_up", devices can be
10739                   brought up and down more than just on startup now.
10740                 - Add "is_up" virtual function.
10741                 - Implement one way to bring a device down instead of previous 4 different
10742                   ways, each of witch did something different.
10743
10744         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10745         all it needs is the device interface.
10746
10747         Get rid of NMData.dev_list (3 members to go).
10748         Get rif of NMData in a lot of places.
10749
10750         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10751
10752 2007-02-23  Dan Williams  <dcbw@redhat.com>
10753
10754         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10755
10756         * src/NetworkManagerAP.c
10757                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10758                         OR-ing rather than AND-ing
10759
10760 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10761
10762         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10763         "network-removed" signals.
10764
10765         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10766
10767         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10768         when receiving the signal from dbus.
10769
10770         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10771         property.
10772
10773         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10774         deactivation of the previously activated device working again.
10775
10776         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10777         and setter.
10778
10779         * src/nm-device.c (nm_device_is_activated): Remove.
10780         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10781
10782         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10783         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10784         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10785         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10786         Remove NMNetworkStatus and NMActStage enums.
10787
10788 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10789
10790         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10791         Handle device state changes and disconnect VPN if it's device deactivates.
10792
10793         * src/nm-dbus-nm.c: 
10794         * src/nm-dbus-nm.h: 
10795         * src/nm-dbus-device.c: 
10796         * src/nm-dbus-device.c: 
10797         * src/nm-dbus-net.c: 
10798         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10799
10800         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10801
10802         * src/nm-device.c (nm_device_get_by_udi):
10803         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10804         implemented in the correct location (NMManager).
10805         Rip out all the test_device stuff.
10806
10807         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10808         failure handlers, it's all done by NMDevice already.
10809
10810         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10811         Remove the iochannel hack to route the unix signals to the main thread since
10812         we're not threaded anymore.
10813
10814         * src/NetworkManagerAP.c: Implement HWAddress property.
10815
10816         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10817         automatically with dbus-glib.
10818
10819         * src/nm-netlink-monitor.c: 
10820         * src/nm-netlink-monitor.h:
10821                 - Move it low in the class hierarchy, don't reference any NM types.
10822                 - Remove private data from the header.
10823                 - Use type safe checks in public API methods.
10824                 - Make it a singleton so we don't have to pass the single reference around.
10825
10826 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10827
10828         * introspection/nm-ip4-config.xml: Implement.
10829
10830         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10831
10832         * libnm-glib/nm-ip4-config.c:
10833         * libnm-glib/nm-ip4-config.c: Implement.
10834
10835         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10836         securities. APs reference security.
10837
10838         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10839         be exported over DBUS.
10840
10841         * src/nm-device-802-3-ethernet.c: Ditto.
10842
10843         * src/NetworkManagerAP.c:
10844         * src/NetworkManagerAP.h:
10845                 - Convert to GObject, export over DBUS.
10846
10847         * src/nm-ip4-config.h:
10848         * src/nm-ip4-config.h:
10849                 - Convert to GObject, export over DBUS.
10850
10851 2007-02-12  Dan Williams  <dcbw@redhat.com>
10852
10853         Patch from Helmut Schaa <hschaa@suse.de>
10854
10855         * vpn-daemons/pptp/configure.in
10856           vpn-daemons/pptp/Makefile.am
10857           vpn-daemons/openvpn/configure.in
10858           vpn-daemons/openvpn/Makefile.am
10859           vpn-daemons/vpnc/configure.in
10860           vpn-daemons/vpnc/Makefile.am
10861                 - Add --without-gnome switch which disables building gnome bits
10862
10863 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10864
10865         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10866
10867         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10868
10869         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10870         'HwAddress'.
10871
10872         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10873
10874         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10875
10876         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10877
10878         * src/:
10879                 - Remove old low-level dbus interface implementations and replace them
10880                   with dbus-glib one.
10881
10882         * configure.in:
10883                 - Require dbus-glib >= 0.72.
10884                 - Plug in new sources to build.
10885
10886         * libnm-glib/:
10887                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10888                   to make it more convenient to use from GObject based programs.
10889
10890         * introspection/:
10891                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10892
10893 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10894
10895         * src/nm-device-802-11-wireless.c:
10896                 - Add "network-added" and "network-removed" signals.
10897                 - Use gobject boilerplate macros to define the GObject.
10898                 - Implement wireless device activation.
10899                 - Remove activation_failure_handler and activation_success_handler
10900                   and instead listen on state-changed signals and run the same code
10901                   from there.
10902
10903         * src/nm-device.c:
10904                 - Implment NMDeviceInterface::deactivate.
10905                 - Remove activation_failure_handler and activation_success_handler
10906                   virtual methods. Each device which is interested in these events
10907                   can just listen on it's state changed signals.
10908
10909         * src/NetworkManagerPolicy.c:
10910                 - Move a bit more NMData usage to NMManager.
10911                 - Remove activation scheduling bits.
10912                 - Add listeners for wireless device's "network-added" and
10913                   "network-removed" signals.
10914                 - Listen device changed signals and deactivate currently activated
10915                   device when another device start activating (for now).
10916                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10917                   for calling this, the policy code knows exactly when this should happen,
10918                   by listening on events from NMManager and NMDevices.
10919
10920         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10921         Implement.
10922
10923         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10924         method on the specific device instead of going to through policy code
10925         and determining the device type by passed in AP's existance.
10926
10927         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10928         abstract NMDevice deactivation.
10929
10930 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10931
10932         * src/NetworkManager.c:
10933                 - Set up all the shiny new managers.
10934
10935         * src/NetworkManagerPolicy.c:
10936                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10937                   classes to call into policy code, make the policy code kind of like
10938                   a supervisor that monitors what's going on and drives the whole NM.
10939
10940         * src/nm-hal-manager.c: 
10941         * src/nm-hal-manager.h:
10942                 - Collect all libhal code scattered around NM to this one class.
10943                 - Listen libhal and NMManager events and add/remove devices to
10944                   NMManager.
10945
10946         * src/nm-manager.c:
10947         * src/nm-manager.h:
10948                 - Implment a replacement for NMData. NMData is now officially
10949                 deprecated.
10950
10951 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10952
10953         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10954         * src/supplicant-manager/nm-supplicant-interface.h
10955         * src/supplicant-manager/nm-supplicant-interface.c
10956         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10957         argument to boolean from enum.
10958
10959         Make NMDevice abstract class, remove almost all references to it's
10960         subclasses (the last place gets removed with new policy manager). Add
10961         NMDeviceInterface (which NMDevice implements) so that when we have
10962         NMDevice exported over DBUS, there's a common NMDevice interface which
10963         all instances have, plus there's a device specific interface for each
10964         specific type.
10965         Remove functions (nm_device_is_802_3_ethernet) and
10966         (nm_device_is_802_11_wireless). There are already standard GObject macros
10967         for type safe checks.
10968         Use the updated supplican manager API.
10969
10970         * src/nm-device-interface.h: 
10971         * src/nm-device-interface.c: 
10972         * src/nm-call-store.h: 
10973         * src/nm-call-store.c: Implement.
10974
10975         * src/supplicant-manager/nm-supplicant-interface.c:
10976         * src/supplicant-manager/nm-supplicant-interface.h:
10977         * src/supplicant-manager/nm-supplicant-manager.c:
10978         * src/supplicant-manager/nm-supplicant-manager.h:
10979                 - Remove all private data type references from public header files.
10980                 - Remove all references to other NM classes, this class is just a
10981                   proxy between wpa_supplicant and NM so it doesn't have to know
10982                   any internals.
10983                 - Convert to dbus-glib bindings.
10984                 - Type safe checks for public methods' arguments.
10985                 - Store pending DBUS call ids to NMCallStore.
10986
10987         * src/supplicant-manager/nm-supplicant-config.c:
10988                 - Store config values in a GHashTable instead of GSList.
10989
10990         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10991
10992         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10993         singleton now.
10994
10995         * src/nm-device.c: Use the new DHCP manager API.
10996
10997         * src/nm-activation-request.c:
10998         * src/nm-activation-request.h:
10999                 - Remove all dhcp related properties and methods.
11000
11001         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
11002
11003         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
11004
11005         * src/dhcp-manager/nm-dhcp-manager.c:
11006         * src/dhcp-manager/nm-dhcp-manager.h:
11007                 - Convert it to GObject since we need to signal state changes.
11008                 - Remove all references to other NM classes, this class is one
11009                   of the lowest classes in our hierarchy.
11010                 - One less class to use NMActRequest.
11011                 - Make it singleton, one less user of NMData.
11012                 - Remove a couple of sleep() calls.
11013                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
11014                   One less class to use the NM's custom tailored signal handlig.
11015
11016         * Makefile.am: Generate marshallers, add them to build.
11017
11018 2007-02-02  Dan Williams  <dcbw@redhat.com>
11019
11020         * configure.in
11021           gnome/Makefile.am
11022           nm-applet.desktop
11023           Makefile.am
11024                 - Remove last bits referencing gnome applet
11025
11026 2007-02-02  Dan Williams  <dcbw@redhat.com>
11027
11028         * src/vpn-manager/nm-vpn-service.c
11029                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
11030                         and NBNS server addresses
11031
11032 2007-02-02  Tambet Ingo  <tambet@ximian.com>
11033
11034         * src/nm-dbus-manager.c:
11035         * src/nm-dbus-manager.h:
11036                 - Convert all internal DBUS code to use dbus-glib bindings.
11037                 - Remove GObject properties, we don't need them here.
11038                 - Don't explicitly set things to NULL after freeing, glib is
11039                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
11040                 - Make public API argument checks type safe.
11041                 - Remove unnecessary (and wrong) cast to GObject for the first
11042                   argument to g_signal_* calls - The first argument is a gpointer.
11043                 - Export DBusGConnection to other cool classes that (are going to)
11044                   use dbus-glib.
11045
11046 2007-01-26  Dan Williams  <dcbw@redhat.com>
11047
11048         * libnm-util/dbus-dict-helpers.c
11049           libnm-util/dbus-dict-helpers.h
11050                 - Coordinate style with wpa_supplicant version to minimize diff
11051                 - Add uint32 array support
11052                 - (nmu_dbus_dict_append_uint32_array): new function
11053                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11054                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11055                         version; allow adding string array elements individually
11056
11057         * test/libnm-util/test-dbus-dict-helpers.c
11058                 - Test uint32 arrays
11059
11060 2007-01-27  Jürg Billeter  <j@bitron.ch>
11061
11062         * src/backends/NetworkManagerPaldo.c
11063                 - (nm_system_update_dns): clear nscd hosts cache
11064
11065 2007-01-04  Dan Williams  <dcbw@redhat.com>
11066
11067         Threading removal related cleanups:
11068
11069         - Use the glib default main context.  Remove the device main context
11070                 member from NMDevice, and the main_context member from NMData.  Change
11071                 all the idle and timeout scheduler functions to use plain
11072                 g_idle_add() and g_timeout_add().
11073
11074         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11075                 takes an argument; fix that up too.
11076
11077         - Remove all locking, which is useless since we no longer use threads.  For
11078                 example, nm_get_device_by_iface_locked() has been removed.  The global
11079                 device list lock, the AP List lock, and all static locks in
11080                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11081                 in NetworkManagerUtils.c have also been removed.
11082
11083         - Other cleanups in spacing and code style
11084
11085 2007-01-01  Dan Williams  <dcbw@redhat.com>
11086
11087         Found by Bill Moss:
11088
11089         * src/supplicant-manager/nm-supplicant-interface.c
11090                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11091                         the supplicant interface wasn't already disconnected.  Always
11092                         call removeNetwork and disconnect unless the supplicant interface
11093                         is in the DISCONNECTED or INACTIVE state.
11094
11095 2006-12-28  Dan Williams  <dcbw@redhat.com>
11096
11097         Use a single thread for everything.  With the move to wpa_supplicant
11098         and communication over D-Bus, there's no reason for multiple threads.
11099         Almost all of the blocking code has been removed, with one exception in
11100         the DHCP manager and a few in the VPN manager.  This commit removes the
11101         per-device worker thread and fixes activation cancellation in the absence
11102         of threads.  Further removal of thread-related code would be removing
11103         any locking code (like the device list lock) and simplification of logic
11104         around areas of code or data structures that are currently locked.
11105
11106         * autoip.c
11107           dhcp-manager/nm-dhcp-manager.c 
11108           nm-device-802-11-wireless.c
11109           nm-device-802-3-ethernet.c
11110           nm-device.c
11111           nm-device.h
11112                 - Remove usage of multiple threads
11113
11114 2006-12-19  Dan Williams  <dcbw@redhat.com>
11115
11116         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11117         plus a few other patches from wpa_supplicant bugzilla.
11118
11119         * src/Makefile.am
11120           src/NetworkManagerPolicy.c
11121           src/NetworkManagerUtils.c
11122           src/NetworkManagerUtils.h
11123           src/nm-ap-security-leap.c
11124           src/nm-ap-security-wep.c
11125           src/nm-ap-security-wpa-eap.c
11126           src/nm-ap-security-wpa-psk.c
11127           src/nm-ap-security.c
11128           src/nm-ap-security.h
11129           src/nm-device-802-11-wireless.c
11130           src/nm-device-802-11-wireless.h
11131           src/supplicant-manager/nm-supplicant-config.c
11132           src/supplicant-manager/nm-supplicant-config.h
11133           src/supplicant-manager/nm-supplicant-interface.c
11134           src/supplicant-manager/nm-supplicant-interface.h
11135           src/supplicant-manager/nm-supplicant-marshal.list
11136           src/supplicant-manager/nm-supplicant-settings-verify.c
11137           src/supplicant-manager/nm-supplicant-settings-verify.h
11138                 - Move all connection management and association handling to
11139                         wpa_supplicant over dbus, rather than spawning a private copy
11140
11141 2006-12-19  Dan Williams  <dcbw@redhat.com>
11142
11143         * src/NetworkManagerPolicy.c
11144                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11145                         better locking of the device change check handler ID.  Incorrect
11146                         locking was causing lost device change requests
11147
11148 2006-12-18  Dan Williams  <dcbw@redhat.com>
11149
11150         * libnm-util/dbus-dict-helpers.c
11151                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11152                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11153                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11154
11155 2006-12-18  Dan Williams  <dcbw@redhat.com>
11156
11157         * gnome/libnm_glib/libnm_glib.c
11158                 - Change dbus_connection_close() -> dbus_connection_unref()
11159
11160 2006-12-11  Dan Williams  <dcbw@redhat.com>
11161
11162         * src/supplicant-manager/nm-supplicant-interface.c
11163                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11164                         wpa_supplicant interface state
11165                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11166                         state before transitioning to READY state
11167
11168 2006-12-04  Dan Williams  <dcbw@redhat.com>
11169
11170         * src/nm-device-802-11-wireless.c
11171                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11172                         odd length of ESSID returned from ieee80211 stack-based drivers
11173
11174 2006-12-04  Dan Williams  <dcbw@redhat.com>
11175
11176         * src/nm-device-802-11-wireless.c
11177                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11178                         IE handling blocks that cause mis-parsing of the IE
11179
11180 2006-12-04  Dan Williams  <dcbw@redhat.com>
11181
11182         * src/nm-device-802-11-wireless.c
11183                 - (init_supplicant_interface): new function; pull supplicant interface
11184                         setup code out into standalone function since it must be called from
11185                         two different places
11186                 - (real_init): sup_mgr is now in private object data; get and track
11187                         the supplicant manager object over the NMDevice subclass' lifetime
11188                         and register a signal handler for its state signals; only try to
11189                         initialize the supplicant interface if the supplicant manager is in
11190                         the IDLE state (and therefore is ready for requests)
11191                 - (request_wireless_scan): reschedule the scan request if (a) there is
11192                         no supplicant interface yet (meaning wpa_supplicant isn't running
11193                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11194                         for requests yet
11195                 - (supplicant_iface_connection_state_cb): new function; stub for
11196                         handling supplicant interface connection state signals
11197                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11198                         comes and goes
11199                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11200                         supplicant manager object that's being tracked starting with this
11201                         commit
11202
11203 2006-12-04  Dan Williams  <dcbw@redhat.com>
11204
11205         * src/supplicant-manager/nm-supplicant-interface.c
11206                 - (nm_supplicant_interface_set_property): track signal handler ID
11207                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11208
11209 2006-12-04  Dan Williams  <dcbw@redhat.com>
11210
11211         * src/supplicant-manager/nm-supplicant-interface.[ch]
11212                 - (nm_supplicant_interface_get_state): new function
11213
11214 2006-12-04  Dan Williams  <dcbw@redhat.com>
11215
11216         * src/supplicant-manager/nm-supplicant-interface.c
11217                 - (bssid_properties_cb): don't treat DBus errors as valid
11218                         scanned AP messages
11219
11220 2006-12-04  Dan Williams  <dcbw@redhat.com>
11221
11222         * src/supplicant-manager/nm-supplicant-interface.[ch]
11223                 - (nm_supplicant_interface_get_connection_state): new function
11224                 - define new supplicant connection states
11225                 - send a signal when the supplicant connection state changes
11226
11227 2006-12-03  Dan Williams  <dcbw@redhat.com>
11228
11229         * src/supplicant-manager/Makefile.am
11230           src/supplicant-manager/nm-supplicant-connection.h
11231           src/supplicant-manager/nm-supplicant-connection.c
11232           src/supplicant-manager/nm-supplicant-config.h
11233           src/supplicant-manager/nm-supplicant-config.c
11234           src/supplicant-manager/nm-supplicant-types.h
11235           src/supplicant-manager/nm-supplicant-interface.h
11236           src/supplicant-manager/nm-supplicant-interface.c
11237                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11238
11239 2006-12-03  Dan Williams  <dcbw@redhat.com>
11240
11241         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11242
11243         * po/POTFILES.in
11244           po/POTFILES.skip
11245                 - Move VPN-related translatables to .skip
11246
11247         * vpn-daemons/pptp/po/POTFILES.in
11248                 - Update with new translatables
11249
11250 2006-12-02  Dan Williams  <dcbw@redhat.com>
11251
11252         Patch from Christian Persch <chpe@gnome.org>
11253
11254         * gnome/applet/Makefile.am
11255           gnome/applet/applet-dbus-devices.c
11256           gnome/applet/applet-notifications.c
11257           gnome/applet/applet.c
11258           gnome/applet/applet.h
11259           gnome/applet/main.c
11260                 - Be a GtkStatusIcon on GTK+ >= 2.10
11261
11262 2006-12-02  Dan Williams  <dcbw@redhat.com>
11263
11264         * gnome/applet/applet.c
11265                 - (nma_update_info): fix two unecessary allocations
11266
11267 2006-12-02  Dan Williams  <dcbw@redhat.com>
11268
11269         Patch from Michael Biebl <biebl@teco.edu>
11270         * configure.in
11271           man/NetworkManager.1.in
11272           man/NetworkManagerDispatcher.1.in
11273           man/NetworkManager.8.in
11274           man/NetworkManagerDispatcher.8.in
11275                 - Add .SH NAME stanzas
11276                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11277
11278 2006-12-02  Dan Williams  <dcbw@redhat.com>
11279
11280         Patch from Christian Persch <chpe@gnome.org>
11281
11282         * configure.in
11283                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11284
11285 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11286
11287         Patch by Timo Hoenig <thoenig@suse.de>:
11288         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11289         DBUS-1.0.
11290
11291         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11292         we can't use the one from the main source directory.
11293
11294 2006-11-27  Dan Williams  <dcbw@redhat.com>
11295
11296         Patch from Christian Persch <chpe@gnome.org>
11297
11298         * gnome/applet/applet-dbus-devices.c
11299                 - (hal_info_product_cb): fix memleak; free duped string.
11300                         Gnome.org #379908
11301
11302 2006-11-27  Dan Williams  <dcbw@redhat.com>
11303
11304         Patch from Christian Persch <chpe@gnome.org>
11305
11306         * gnome/applet/menu-items.c
11307                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11308                         as gtk_progress_set_percentage is deprecated.  Should
11309                         work as far back as GTK+ 2.4.  Gnome.org #379780
11310
11311 2006-11-26  Dan Williams  <dcbw@redhat.com>
11312
11313         Scan using wpa_supplicant over DBus.
11314
11315         * src/nm-device-802-11-wireless.c
11316                 - remove wireless extensions netlink event handler bits
11317                         (wireless_event_helper, nm_device_802_11_wireless_event)
11318                 - remove wireless extensions scan event handler bits
11319                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11320                         hex2byte, hex2num, request_and_convert_scan_results,
11321                         free_process_scan_cb_data, scan_results_timeout,
11322                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11323                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11324                         and request scans from the supplicant interface rather than directly
11325                 - Move functionality of convert_scan_results() to cull_scan_list() and
11326                         supplicant_iface_scanned_ap_cb()
11327                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11328                         at the scan interval when the current scan has finished
11329                 - (supplicant_iface_state_cb): start scanning when the supplicant
11330                         interface enters the READY state, and stop scanning when it
11331                         enters the DOWN state
11332                 - (cull_scan_list): weed out old access points from the scan list
11333                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11334                         point into an NMAccessPoint and merge it into the device's scan list
11335
11336         * src/supplicant-manager/nm-supplicant-interface.c
11337           src/supplicant-manager/nm-supplicant-interface.h
11338                 - Add a new signal "scan-result" which is issued when the supplicant
11339                         notifies NM that a scan has completed
11340                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11341                         point found in the scan.  Called once for each access point that
11342                         the supplicant interface object receives from the supplicant as a
11343                         result of the "scanResults" method call
11344                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11345                         for the initial scan results
11346                 - (scan_request_cb): new function; send listeners the result
11347                         (success, error) of a wireless scan request
11348                 - (nm_supplicant_interface_request_scan): new function; ask the
11349                         supplicant to perform an immediate wireless scan
11350
11351 2006-11-25  Dan Williams  <dcbw@redhat.com>
11352
11353         * src/supplicant-manager/Makefile.am
11354                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11355                         add HAL cflags/includes and named-manager includes directory
11356
11357         * src/supplicant-manager/nm-supplicant-interface.h
11358                 - New state STARTING to handle transition from INIT to READY where
11359                         the addInterface pending call is still outstanding
11360
11361         * src/supplicant-manager/nm-supplicant-interface.c
11362                 - track pending calls differently since we may have more than one
11363                         going on at any given time
11364                 - request scan results from wpa_supplicant; but don't do it more often
11365                         than every 4 seconds.  Drivers that do background scanning
11366                         (like the 'ipw' drivers) send a continuous stream of scan completion
11367                         notifications, so we don't want to hammer the supplicant or dbus
11368                         with requests for all scan results every time we get a completion
11369                         notification.
11370
11371 2006-11-25  Dan Williams  <dcbw@redhat.com>
11372
11373         * src/supplicant-manager/nm-supplicant-types.h
11374                 - new file; move all supplicant manager object typedefs here for
11375                         #include sanity
11376
11377         * src/supplicant-manager/nm-supplicant-interface.c
11378           src/supplicant-manager/nm-supplicant-interface.h
11379                 - new file; an object that interfaces an NMDevice object to the
11380                         supplicant and handles signals from the supplicant.  This object
11381                         does all necessary DBus communication with wpa_supplicant.
11382
11383         * src/supplicant-manager/nm-supplicant-manager.c
11384           src/supplicant-manager/nm-supplicant-manager.h
11385                 - Actually do something.  Track the state of the wpa_supplicant service
11386                         and deal with its comings & goings.  Handle life events of
11387                         supplicant interfaces too.
11388                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11389
11390         * src/supplicant-manager/nm-supplicant-connection.h
11391                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11392
11393         * src/supplicant-manager/Makefile.am
11394                 - Add new files to build, and add libnm-util to includes
11395
11396         * src/nm-marshal.list
11397                 - New marshaler type: VOID:UINT,UINT
11398
11399         * src/nm-device-802-3-ethernet.c
11400                 - (real_init): grab a supplicant interface
11401                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11402                 - (supplicant_iface_state_cb): new function, stub for handling
11403                         supplicant interface state changes
11404
11405         * src/nm-device-802-11-wireless.c
11406                 - (real_init): grab a supplicant interface
11407                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11408                 - (supplicant_iface_state_cb): new function, stub for handling
11409                         supplicant interface state changes
11410
11411         * src/NetworkManager.c
11412                 - (main): create and keep the supplicant manager around for the lifetime
11413                         of NetworkManager
11414
11415         * src/Makefile.am
11416                 - Link to the supplicant manager sub-library and use the supplicant
11417                         manager includes
11418
11419 2006-11-25  Dan Williams  <dcbw@redhat.com>
11420
11421         Rework DBus manager signal handling to be more flexible.  Previously,
11422         only one signal handler could be registered for a particular interface.
11423         The DBus manager now reference counts DBus bus matches and allows multiple
11424         clients to register signal handlers for the same interface and sender.
11425
11426         * src/NetworkManager.c
11427                 - (main): track NMI signal handler ID and remove it when we quit
11428
11429         * src/NetworkManagerMain.h
11430                 - Keep track of NMI signal handler ID
11431
11432         * src/nm-dbus-manager.c
11433           src/nm-dbus-manager.h
11434                 - rework signal handling; each signal handler references one signal
11435                         match, but a signal match may be referenced by one or more
11436                         signal handlers.  Matches are refcounted and are destroyed when the
11437                         last signal handler that references the match is removed.  This is
11438                         necessary because two signal handlers may end up requiring the same
11439                         dbus bus match, so the match must live until the last signal handler
11440                         is destroyed (for example, with the wpa_supplicant network interface
11441                         dbus interface).
11442
11443         * src/dhcp-manager/nm-dhcp-manager.c
11444                 - (nm_dhcp_manager_new): track DHCP signal handler id
11445                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11446
11447         * src/vpn-manager/nm-vpn-service.c
11448                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11449                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11450
11451 2006-11-25  Dan Williams  <dcbw@redhat.com>
11452
11453         Suggested by Helmut Schaa <hschaa@suse.de>
11454
11455         * src/vpn-daemons/nm-vpn-service.c
11456                 - (supplicant_child_setup): new function
11457                 - (supplicant_exec): make child process use a new process group id
11458
11459         * src/nm-device-802-11-wireless.c
11460                 - (nm_vpn_service_child_setup): new function
11461                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11462                         process group id
11463
11464 2006-11-19  Dan Williams  <dcbw@redhat.com>
11465
11466         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11467         * gnome/vpn-properties/nm-vpn-properties.c
11468                 - clean up after renamed VPN connection
11469
11470 2006-11-19  Dan Williams  <dcbw@redhat.com>
11471
11472         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11473         * gnome/applet/applet-dbus-vpn.c
11474                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11475
11476         * gnome/vpn-properties/nm-vpn-properties.c
11477                 - (init_app): sort VPN connections
11478
11479 2006-11-09  Dan Williams  <dcbw@redhat.com>
11480
11481         * src/NetworkManagerAPList.c
11482                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11483                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11484                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11485                 broke hidden SSID matching.  Found by Bill Moss.
11486
11487 2006-10-25  Dan Williams  <dcbw@redhat.com>
11488
11489         * src/nm-dbus-nm.c
11490                 - (nm_dbus_nm_set_active_device): return an empty success message on
11491                         success, rather than falling through to the error case.
11492
11493 2006-10-25  Dan Williams  <dcbw@redhat.com>
11494
11495         * src/NetworkManagerUtils.c
11496                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11497                         "SCAN" command
11498
11499 2006-10-24  Dan Williams  <dcbw@redhat.com>
11500
11501         Reduce the number of times the Gnome applet wakes up, especially when
11502         it's doing absolutely nothing and is hidden.  Initial patch by
11503         Chris Aillon.
11504
11505         * gnome/applet/applet-dbus.c
11506                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11507                         kill the redraw timeout.  When NM starts up, start the redraw
11508                         timeout.  Also, if we get kicked off the bus for some reason,
11509                         start the reconnection timeout if one's not already running.
11510                 - (nma_dbus_init): better handling of error conditions, don't leak
11511                         a half-initialized dbus connection
11512                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11513                         the applet's data, just call nm_dbus_init_helper()
11514                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11515                         timeout that calls nma_dbus_connection_watcher()
11516                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11517                         reconnection timeout, and don't start the reconnection timeout
11518                         unconditionally anymore
11519
11520         * gnome/applet/applet-dbus.h
11521                 - Expose nma_start_dbus_connection_watch()
11522
11523         * gnome/applet/applet.c
11524                 - (nma_update_state): no longer static, called from applet-dbus.c for
11525                         immediate UI updates on certain events
11526                 - (nma_set_running): new function; take over setting applet->running,
11527                         when not running (ie, NM is not active), don't activate the redraw
11528                         timeout because we're not showing the applet anyway.  When we are
11529                         running (ie, NM is active), and only when we're running, start the
11530                         redraw timeout.
11531                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11532                         kill any reconnection timeout
11533                 - (nma_get_instance): move one-off dbus initialization code here since
11534                         nm_dbus_init_helper() gets called more than once, possibly by the
11535                         reconnection timeout function too.  And, when we start up, if we
11536                         can't get a connection to the bus, start the reconnection timeout.
11537                         But don't start the redraw timeout yet, only do that when we get
11538                         NM's state and find out if it's running or not.
11539
11540         * gnome/applet/applet.h
11541                 - Add the reconnection GSource ID
11542                 - Add prototypes for nma_set_running() and the no-longer-static
11543                         nma_update_state()
11544
11545 2006-10-24  Dan Williams  <dcbw@redhat.com>
11546
11547         * src/vpn-daemons/nm-dbus-vpnc.c
11548                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11549                         pending call tracker
11550                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11551                         pending call tracker; register one-vpn-connection update pending
11552                         call in pending call tracker
11553                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11554                         update pending call in pending call tracker
11555                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11556                         update pending call in pending call tracker; don't block waiting
11557                         for call to return
11558
11559 2006-10-19  Robert Love  <rml@novell.com>
11560
11561         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11562           refresh the cache.
11563
11564 2006-10-14  Dan Williams  <dcbw@redhat.com>
11565
11566         * src/dhcp-manager/nm-dhcp-manager.c
11567                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11568                 the dbus connection and the device object path rather than
11569                 constructing it inside both functions.  Saves a bit of memory
11570                 and clarifies a failure path.
11571                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11572                 and allocate device path here rather than each of the two
11573                 functions above.
11574
11575 2006-10-13  Dan Williams  <dcbw@redhat.com>
11576
11577         * src/NetworkManager.c
11578                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11579                 this somehow droppout in the refactor
11580
11581 2006-10-13  Dan Williams  <dcbw@redhat.com>
11582
11583         * Huge DBus refactor:
11584                 - Create a "DBus Manager" object which manages the connection and
11585                 sends signals on NameOwnerChanged and connection/disconnection events,
11586                 handles reconnection to the bus if NM gets kicked off, and abstracts
11587                 signal handling
11588                 - Remove DBusConnection members from places where they are no
11589                 longer needed due to the refactor, like the dbus-connection
11590                 property of the named manager, and from NMData
11591                 - Reformats a bunch of the code to gnome style
11592                 (8-space tabs, braces on same line as statement, 80-col width).
11593                 Consider it open season to reformat any bits to gnome style.
11594                 style that aren't already.
11595
11596 2006-10-13  Dan Williams  <dcbw@redhat.com>
11597
11598         * src/supplicant-manager/Makefile.am
11599                 - Add new files
11600
11601         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11602                 - Make it a minimal GObject
11603
11604         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11605                 - Verify settings destined for wpa_supplicant
11606
11607         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11608                 - Minimal GObject to track wpa_supplicant controlled device
11609                 connections
11610
11611 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11612
11613         * gnome/applet/applet.c: (nma_update_info),
11614         (nma_act_stage_to_pixbuf), (nma_update_state):
11615         Mark missing strings for translation. Fixes bug #343306.
11616
11617 2006-10-01  Dan Williams  <dcbw@redhat.com>
11618
11619         * src/vpn-manager/nm-vpn-manager.c
11620                 - (nm_vpn_manager_load_services): split and clean up
11621                 for readability and correctness.  Restrict VPN service
11622                 files to ending in ".name", as was meant from the
11623                 beginning (but not coded in).  Better error reporting.
11624
11625 2006-10-01  Dan Williams  <dcbw@redhat.com>
11626
11627         * utils/nm-utils.h
11628                 - Clean up formatting of debug/info/warning log messages
11629
11630 2006-09-27  Robert Love  <rml@novell.com>
11631
11632         Patch by Tambet Ingo <tambet@ximian.com>:
11633         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11634           actually work.
11635
11636 2006-09-07  Dan Williams <dcbw@redhat.com>
11637
11638         * test/Makefile.am
11639           test/libnm-util/Makefile.am
11640           test/nm-supplicant-test.c
11641                 - Add test program emulating the way NM drives wpa_supplicant
11642                 to help debug supplicant issues
11643
11644 2006-08-24  Dan Williams <dcbw@redhat.com>
11645
11646         * configure.in
11647           src/Makefile.am
11648           src/supplicant-manager/Makefile.am
11649           src/supplicant-manager/nm-supplicant-manager.c
11650           src/supplicant-manager/nm-supplicant-manager.h
11651                 - Add skeleton bits of the wpa_supplicant manager
11652
11653 2006-08-24  Dan Williams <dcbw@redhat.com>
11654
11655         Patch from Ed Catmur:
11656         * src/NetworkManagerUtils.c
11657                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11658                 if netmask is 0 (Gnome #352634)
11659
11660 2006-08-17  Robert Love  <rml@novell.com>
11661
11662         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11663           package is now DBUS-enabled and listens for the NM signals.
11664
11665 2006-08-14  Dan Williams  <dcbw@redhat.com>
11666
11667         * Patch from Christian Persch <chpe gnome org>
11668         * configure.in
11669           po/LINGUAS
11670           vpn-daemons/openvpn/po/LINGUAS
11671           vpn-daemons/openvpn/configure.in
11672           vpn-daemons/pptp/po/LINGUAS
11673           vpn-daemons/pptp/configure.in
11674           vpn-daemons/vpnc/po/LINGUAS
11675           vpn-daemons/vpnc/configure.in
11676                 - Convert to LINGUAS method so translators don't have to modify
11677                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11678                 0.35 or higher
11679
11680 2006-08-14  Dan Williams  <dcbw@redhat.com>
11681
11682         Patch from Alex Smith <alex.extreme2@gmail.com>
11683         * configure.in
11684           src/backends/Makefile.am
11685           src/backends/NetworkManagerFrugalware.c
11686                 - Add support for Frugalware
11687
11688 2006-08-13  Dan Williams  <dcbw@redhat.com>
11689
11690         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11691         * src/nm-device-802-11-wireless.c
11692                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11693                 Gnome #346875
11694
11695 2006-08-13  Dan Williams  <dcbw@redhat.com>
11696
11697         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11698         * src/nm-ap-security.c
11699           src/nm-ap-security.h
11700                 - Add authentication_required bits for subclasses to specify whether
11701                 or not real authentication is required for connections, i.e. whether
11702                 the AP rejects us when an encryption key is wrong or not.
11703
11704         * src/nm-ap-security-wep.c
11705           src/nm-ap-security-wpa-eap.c
11706           src/nm-ap-security-wpa-psk.c
11707           src/nm-ap-security-leap.c
11708                 - Implement authentication_required appropriately for each method
11709
11710         * src/nm-device-802-11-wireless.c
11711                 - Be smarter about when to request a key; for example, using a wrong key
11712                 in WEP shared key mode previously just timed out and did not request
11713                 a new key
11714
11715 2006-08-13  Dan Williams  <dcbw@redhat.com>
11716
11717         * gnome/libnm_glib/libnm_glib.c
11718                 - dbus_connection_disconnect() -> dbus_connection_close() for
11719                 dbus >= 0.90
11720
11721 2006-08-07  Dan Williams  <dcbw@redhat.com>
11722
11723         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11724         * src/NetworkManagerSystem.c
11725                 - Respect specified MTU.  Gnome #344967
11726
11727 2006-08-07  Dan Williams  <dcbw@redhat.com>
11728
11729         * src/vpn-manager/nm-vpn-service.c
11730                 - Simplify print_vpn_config() arguments
11731
11732         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11733         * src/vpn-manager/Makefile.am
11734           src/vpn-manager/nm-vpn-service.c
11735                 - Add new API for passing VPN config options as a dict. Gnome #344967
11736
11737 2006-08-06  Dan Williams  <dcbw@redhat.com>
11738
11739         * gnome/applet/applet-dbus-devices.c
11740           gnome/applet/applet-dbus-vpn.c
11741           gnome/applet/applet-dbus.c
11742           gnome/applet/applet-dbus.h
11743           src/nm-dbus-nmi.c
11744           utils/nm-utils.c
11745           utils/nm-utils.h
11746                 - Make pending call tracking code generic,
11747                 so we can use it in NM as well as the applet
11748
11749 2006-08-06  Dan Williams  <dcbw@redhat.com>
11750
11751         * src/nm-activation-request.c
11752                 - Refcount pending call objects
11753
11754 2006-08-06  Dan Williams  <dcbw@redhat.com>
11755
11756         Patch from Christan Chiesa <christanc@gmail.com>
11757         * configure.in
11758                 - Tell sha1.c to use bigendian mode on PPC
11759
11760 2006-08-04  Robert Love  <rml@novell.com>
11761
11762         Glib Memory Slices!
11763         * configure.in: Require glib 2.10 or later.
11764         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11765           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11766           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11767           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11768           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11769           Memory Slices are the greatest thing since bread slices.
11770         * src/NetworkManagerAP.c: Also, fix memory leak.
11771
11772 2006-08-01  Robert Love  <rml@novell.com>
11773
11774         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11775
11776 2006-07-31  Robert Love  <rml@novell.com>
11777
11778         * src/backends/interface_parser.c: Declarations must begin the block.
11779
11780 2006-07-24  Dan Williams  <dcbw@redhat.com>
11781
11782         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11783         * src/backends/Makefile.am
11784           src/backends/NetworkManagerArch.c
11785           src/backends/NetworkManagerDebian.c
11786           src/backends/NetworkManagerGeneric.c
11787           src/backends/NetworkManagerGeneric.h
11788           src/backends/NetworkManagerGentoo.c
11789           src/backends/NetworkManagerPaldo.c
11790           src/backends/NetworkManagerRedHat.c
11791           src/backends/NetworkManagerSlackware.c
11792           src/backends/NetworkManagerSuSE.c
11793                 - Genericize common backend functions
11794
11795 2006-07-18  Robert Love  <rml@novell.com>
11796
11797         * configure.in: Add "--with-notify" option to allow disabling of
11798           libnotify support.
11799
11800 2006-07-13  Dan Williams  <dcbw@redhat.com>
11801
11802         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11803         * gnome/applet/applet.glade
11804           gnome/applet/Makefile.am
11805           gnome/applet/nm-gconf-wso.c
11806           gnome/applet/nm-gconf-wso-leap.c
11807           gnome/applet/nm-gconf-wso-leap.h
11808           gnome/applet/wireless-security-manager.c
11809           gnome/applet/wso-leap.c
11810           gnome/applet/wso-leap.h
11811           include/NetworkManager.h
11812           libnm-util/dbus-helpers.c
11813           libnm-util/dbus-helpers.h
11814           src/Makefile.am
11815           src/NetworkManagerAP.c
11816           src/nm-ap-security.c
11817           src/nm-ap-security-leap.c
11818           src/nm-ap-security-leap.h
11819                 - Add LEAP authentication support
11820
11821 2006-07-13  Dan Williams  <dcbw@redhat.com>
11822
11823         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11824         * configure.in
11825           src/backends/NetworkManagerArch.c
11826           src/backends/NetworkManagerDebian.c
11827           src/backends/NetworkManagerGentoo.c
11828           src/backends/NetworkManagerPaldo.c
11829           src/backends/NetworkManagerRedHat.c
11830           src/backends/NetworkManagerSlackware.c
11831           src/backends/NetworkManagerSuSE.c
11832                 - Convert hardcoding of 'ip' path to configure-time
11833                         detected one
11834
11835 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11836
11837         * configure.in: added ru to ALL_LINGUAS
11838
11839 2006-07-10  Dan Williams  <dcbw@redhat.com>
11840
11841         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11842         * src/nm-device.c
11843                 - (real_act_stage3_ip_config_start): don't infinite loop when
11844                         dhcdbd isn't running (Gnome #346845)
11845
11846 2006-07-09  Dan Williams  <dcbw@redhat.com>
11847
11848         * gnome/applet/applet.c
11849                 - (nma_destroy): don't pass NULL to notify_notification_close
11850                         (RH #197917)
11851
11852 2006-07-09  Dan Williams  <dcbw@redhat.com>
11853
11854         * gnome/applet/applet.c
11855                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11856
11857 2006-07-04  Tor Krill  <tor@krill.nu>
11858
11859         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11860         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11861         (nm_system_restart_mdns_responder), (ArchReadConfig),
11862         (nm_system_device_get_system_config):
11863                 - Explicitly check for DHCP configuration
11864                 - Check if daemons are running before starting them
11865
11866 2006-06-25  Dan Williams  <dcbw@redhat.com>
11867
11868         * libnm-util/dbus-dict-helpers.[ch]
11869           test/libnm-util/test-dbus-dict-helpers.c
11870                 - Add string array support
11871
11872 2006-06-24  Dan Williams  <dcbw@redhat.com>
11873
11874         * src/dhcp-manager/nm-dhcp-manager.c
11875                 - (nm_dhcp_manager_process_signal): clean up spacing
11876
11877 2006-06-21  Dan Williams  <dcbw@redhat.com>
11878
11879         * src/nm-dbus-device.c
11880                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11881                         through dbus
11882
11883 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11884
11885         * configure.in: Added 'lv' to ALL_LINGUAS
11886
11887 2006-06-19  Dan Williams  <dcbw@redhat.com>
11888
11889         * src/NetworkManagerAP.c
11890                 - Clarify usage of user_created
11891
11892         * src/nm-ap-security-wep.c
11893           src/nm-ap-security-wpa-eap.c
11894           src/nm-ap-security-wpa-psk.c
11895           src/nm-ap-security.c
11896           src/nm-ap-security.h
11897                 - s/user_created/adhoc, because we really do mean adhoc
11898
11899         Patch from Bernard Blackham <bernard@blackham.com.au>
11900         * src/nm-device-802-11-wireless.c         
11901                 - (supplicant_send_network_config): instead of user_created,
11902                         use adhoc, and do AP_SCAN 2 for adhoc networks
11903
11904 2006-06-18  Robert Love  <rml@novell.com>
11905
11906         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11907           we have a value to set.  Gconf generates a warning if `val' is NULL.
11908         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11909           unless we actually received a valid private key file passphrase or
11910           password.  Otherwise, we don't know to later ask the applet to pull
11911           the key from the keyring.
11912
11913 2006-06-17  Dan Williams  <dcbw@redhat.com>
11914
11915         * libnm-util/dbus-dict-helpers.[ch]
11916           test/libnm-util/test-dbus-dict-helpers.c
11917                 - Fixes for zero-length byte arrays
11918                 - Replace return values of 0 with FALSE for clarity
11919                 - Test zero-length byte arrays
11920
11921 2006-06-17  Dan Williams  <dcbw@redhat.com>
11922
11923         * libnm-util/dbus-dict-helpers.[ch]
11924           test/libnm-util/test-dbus-dict-helpers.c
11925                 - Add helpers for byte arrays
11926                 - Rework bits of the testcase
11927
11928 2006-06-16  Dan Williams  <dcbw@redhat.com>
11929
11930         * libnm-util/Makefile.am
11931         * libnm-util/dbus-dict-helpers.[ch]
11932                 - Add some helpers to take the pain out of using dict types in
11933                         dbus.
11934
11935         * test/libnm-util/Makefile.am
11936         * test/libnm-util/test-dbus-dict-helpers.c
11937                 - Test cases for the dict helper functions
11938
11939 2006-06-15  Robert Love  <rml@novell.com>
11940
11941         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11942           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11943           if there is no key to pass.
11944         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11945           receiving a non-NULL key.
11946
11947 2006-06-14  Robert Love  <rml@novell.com>
11948
11949         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11950           copy the strings.
11951
11952
11953 2006-06-14  Dan Williams  <dcbw@redhat.com>
11954
11955         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11956         * src/nm-device-802-11-wireless.c
11957                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11958                         or ones where the driver is unknown
11959                 - (supplicant_exec): don't wait for supplicant startup here
11960                 - (supplicant_interface_init): finer grained polling for supplicant
11961                         startup
11962
11963 2006-06-13  Robert Love  <rml@novell.com>
11964
11965         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11966           if it is currently set to TRUE.  Otherwise, we will reset the value
11967           when we connect normally.
11968         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11969           the old BSSID is valid, too.  The recently added ESSID check may not be
11970           sufficient (we can remove it?).  What we really want to catch is the
11971           case of going from all-zeros to the BSSID of some other network, which
11972           happens on failure.
11973
11974 2006-06-09  Dan Williams  <dcbw@redhat.com>
11975
11976         * src/NetworkManagerSystem.[ch]
11977                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11978                         it was unused and pointless
11979                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11980                         fix for set_up_down_with_iface change
11981
11982         * src/vpn-manager/nm-vpn-connection.c
11983                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11984
11985         * src/backends/NetworkManagerPaldo.c
11986           src/backends/NetworkManagerRedHat.c
11987           src/backends/NetworkManagerSuSE.c
11988           src/backends/NetworkManagerArch.c
11989           src/backends/NetworkManagerDebian.c
11990           src/backends/NetworkManagerGentoo.c
11991                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11992                         appropriate
11993                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11994                         where appropriate
11995
11996 2006-06-09  Dan Williams  <dcbw@redhat.com>
11997
11998         Patch from Peter Jones:
11999         * src/nm-device-802-11-wireless.c
12000                 - (nm_device_802_11_wireless_update_bssid): make sure that the
12001                         SSID hasn't changed from what we expect before automatically
12002                         updating the saved BSSID from a new AP
12003
12004 2006-06-08  Robert Love  <rml@novell.com>
12005
12006         Add 'fallback' support.  NetworkManager will attempt to brute-force
12007         connect to networks marked as fallback if there are no better wireless
12008         connections available.  This is useful as a method of last resort, to
12009         work around driver problems, and for use with hidden networks.
12010         * gnome/applet/applet-dbus-devices.c,
12011           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
12012         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
12013           pass it on via DBUS.
12014         * gnome/applet/applet.c: No fallback by default.
12015         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
12016           Update other-network-dialog to add UI checkbox toggling fallback.
12017         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
12018           propery from AP object.  Add "fallback" property to AP object.
12019         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
12020         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
12021         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
12022           separate function.  Add get_best_fallback_ap() for returning an AP
12023           on which to attempt fallback.
12024         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
12025         * test/nm-set-fallback: New file.  Sets a given network as fallback.
12026
12027 2006-06-07  Robert Love  <rml@novell.com>
12028
12029         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
12030           checked that the return type was GCONF_VALUE_STRING, not the correct
12031           GCONF_VALUE_BOOL, and thus it never worked.
12032         * src/NetworkManagerAPList.c: Before concluding that two networks are
12033           identical based on their BSSID, make sure that the BSSID in question
12034           is actually valid.  Specifically, an empty or all zero BSSID does not
12035           cut it.
12036         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
12037           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
12038           similar invariant clean up.
12039
12040 2006-06-02  Robert Love  <rml@novell.com>
12041
12042         * gnome/applet/applet.c: Update copyright years.  Add Novell.
12043
12044 2006-05-28  Dan Williams  <dcbw@redhat.com>
12045
12046         * gnome/applet/applet.glade
12047           gnome/vpn-properties/nm-vpn-properties.glade
12048                 - Set window icons on dialogs  (Gnome.org #333420)
12049
12050 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
12051
12052         * gnome/vpn-properties/nm-vpn-properties.glade:
12053         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12054         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12055         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12056                 - Make the VPN properties pages prettier and more HIG
12057                   compliant. Gnome Bug #336913.
12058
12059 2006-05-28  Dan Williams  <dcbw@redhat.com>
12060
12061         Patch from Christian Persch <chpe@gnome.org>
12062         * gnome/vpn-properties/nm-vpn-properties.c
12063         * gnome/vpn-properties/nm-vpn-properties.glade
12064                 - HIG-ification love  (Gnome.org #336846)
12065
12066 2006-05-28  Dan Williams  <dcbw@redhat.com>
12067
12068         Patch from Christian Persch <chpe@gnome.org>
12069         * configure.in
12070           gnome/vpn-properties/nm-vpn-properties.c
12071                 - (main): Fix option parsing.  Gnome.org #336847
12072
12073 2006-05-28  Dan Williams  <dcbw@redhat.com>
12074
12075         * gnome/vpn-properties/nm-vpn-properties.c
12076                 - (find_vpn_ui_by_service_name): protect against NULL service names
12077                 - (update_edit_del_sensitivity): protect against NULL service names
12078                         Gnome.org #341306
12079
12080 2006-05-28  Dan Williams  <dcbw@redhat.com>
12081
12082         Patch from Chris Fuller <crf@grandecom.net>:
12083         * src/nm-device-802-11-wireless.c
12084                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12085                         don't dispose of wireless-specific stuff unless it is actually
12086                         initialized.  Gnome.org #341263
12087
12088 2006-05-28  Dan Williams  <dcbw@redhat.com>
12089
12090         * src/NetworkManagerPolicy.c
12091                 - (nm_policy_device_change_check): don't switch devices if the "best"
12092                         AP is essentially the same as the current activation request, but
12093                         the current activation request isn't done activating yet.  Fixes
12094                         multiple requests for keyring password on startup for Gnome applet.
12095                         Gnome.org #341297
12096
12097 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12098
12099         * src/NetworkManager.c: use GOptions instead of getopt
12100         * configure.in: bump glib required version to >= 2.6 for GOption
12101           support
12102
12103 2006-05-25  Robert Love  <rml@novell.com>
12104
12105         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12106           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12107           instead of dumping ifdef's throughout the code.
12108         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12109           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12110           use nm_ioctl_info() in lieu.
12111
12112 2006-05-25  Robert Love  <rml@novell.com>
12113
12114         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12115         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12116           not using gcrypt.  Otherwise, we get a linker error.
12117
12118 2006-05-25  Robert Love  <rml@novell.com>
12119
12120         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12121         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12122           configure flag to disable building of the GNOME-based applet.
12123
12124 2006-05-25  Robert Love  <rml@novell.com>
12125
12126         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12127           parameter from link, because it shadows a global variable with some
12128           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12129           should never have exported to the entire system a common four letter
12130           word.  But we here at NetworkManager are team players.  Fixes
12131           GNOME bug #336532.
12132
12133 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12134
12135         * configure.in: Added mk.po, Macedonian translation.
12136
12137 2006-05-24  Robert Love  <rml@novell.com>
12138
12139         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12140           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12141           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12142
12143 2006-05-24  Robert Love  <rml@novell.com>
12144
12145         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12146           libnm-util/Makefile.am, src/Makefile.am,
12147           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12148           vpn-daemons/openvpn/properties/Makefile.am,
12149           vpn-daemons/pptp/auth-dialog/Makefile.am,
12150           vpn-daemons/pptp/properties/Makefile.am,
12151           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12152           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12153           user passed for --datadir, if anything, when setting the GNOME locale
12154           directory.  It should be a function of the specified datadir and not
12155           the prefix.
12156
12157 2006-05-24  Robert Love  <rml@novell.com>
12158
12159         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12160           src/NetworkManager.c: Take care to call bindtextdomain with the
12161           location of msgid files.
12162         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12163           files.
12164
12165 2006-05-22  Robert Love  <rml@novell.com>
12166
12167         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12168           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12169           99% of the time there is a real problem with wireless, and a
12170           seemingly successful connection via Zeroconf just confuses the user.
12171           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12172
12173 2006-05-22  Robert Love  <rml@novell.com>
12174
12175         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12176           autofs on interface up if NIS is configured.  On interface down, do
12177           nothing.
12178
12179 2006-05-22  Robert Love  <rml@novell.com>
12180
12181         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12182           to avoid calling g_object_unref() on stale pointers on error in
12183           nma_icons_free().  This happens because we short-circuit loaded the
12184           icons on the first failure but then free all icons.  Normally we have
12185           no issue because the icons were zero'ed out malloc, but we have stale
12186           pointer data after nma_icon_theme_changed().
12187         * gnome/applet/main.c: Return error code if nma_new() failed.
12188
12189 2060-05-21  Dan Williams  <dcbw@redhat.com>
12190
12191         * initscript/NetworkManager.in
12192                 - Ensure both dhcdbd and named are started before NM
12193
12194 2006-05-21  Dan Williams  <dcbw@redhat.com>
12195
12196         * configure.in
12197                 - Bump version to 0.7 to signify we are in 0.7 development
12198
12199 2006-05-21  Dan Williams  <dcbw@redhat.com>
12200
12201         Patch from Adam Schreiber <sadam@clemson.edu>
12202         * gnome/vpn-properties/nm-vpn-properties.c
12203                 - (main): correct Gnome program name  (gnome.org #342498)
12204
12205 2006-05-21  Dan Williams  <dcbw@redhat.com>
12206
12207         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12208
12209         * src/NetworkManagerDbus.[ch]
12210                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12211                         clarify that function's argument should be an escaped dbus object
12212                         path, and look for path segment end before returning a match
12213         * src/nm-dbus-nm.c:
12214                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12215
12216 2006-05-17  Robert Love  <rml@novell.com>
12217
12218         Functionality to differentiate Ad-Hoc networks from infrastructure
12219         networks in the applet, by displaying a special icon:
12220         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12221         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12222         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12223           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12224           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12225           networks, encrypted or not.
12226         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12227           accessor functions to get and set the mode of a given network,
12228           wireless_network_get_mode() and wireless_network_set_mode().
12229
12230 2006-05-17  Robert Love  <rml@novell.com>
12231
12232         Functionality to automatically add BSSIDs to the allowed-MAC list as
12233         one roams from access point to access point on a given network:
12234         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12235           helper function to compare two ether_addr structures and return TRUE
12236           if they contain the same MAC address.
12237         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12238           prototype.
12239         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12240           stored with the current AP.  If the BSSID has indeed changed, we
12241           send it out to the applet, allowing the allowed-MAC list to grow
12242           automatically in response to roaming.
12243
12244 2006-05-16  Robert Love  <rml@novell.com>
12245
12246         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12247           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12248
12249 2006-05-13  Dan Williams  <dcbw@redhat.com>
12250
12251         * src/nm-device-802-3-ethernet.c
12252                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12253                         carrier detect (Debian bug #366373)
12254
12255 2006-05-11  Dan Williams  <dcbw@redhat.com>
12256
12257         Patch from Michael Biebl <biebl@teco.edu>
12258         * src/backends/NetworkManagerDebian.c
12259                 - Debian backend fixups
12260
12261 2006-05-10  Robert Love  <rml@novell.com>
12262
12263         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12264
12265 2006-05-09  Robert Love  <rml@novell.com>
12266
12267         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12268           private certificate passphrase, if any, in the GNOME Keyring.
12269         * libnm-utils/dbus-helpers.c: Update.
12270
12271 2006-05-05  Dan Williams  <dcbw@redhat.com>
12272
12273         * src/nm-device-802-11-wireless.c
12274                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12275                         nm_device_802_11_wireless_disable_encryption() since that's all
12276                         we use it for anymore; we don't ever set WEP keys ourselves.
12277                 - (real_deactivate_quickly): reset SSID and encryption keys
12278                 - (real_deactivate): move SSID and encryption key reset to
12279                         real_deactivate_quickly(), which gets run before us anyway
12280
12281 2006-05-05  Robert Love  <rml@novell.com>
12282
12283         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12284           root has a wacky default of its own (or, more common, a user has a
12285           bad umask and uses su/sudo to restart NetworkManager).  Anything
12286           other than 0022 does not do what we want with, for example,
12287           resolv.conf.  This problem is amplified by our judicious use of
12288           fopen(), which uses mode 0666 -- implying that the only way to get
12289           the permissions we want is with a umask of 0022.
12290
12291 2006-05-05  Dan Williams  <dcbw@redhat.com>
12292
12293         * gnome/libnm_glib/libnm_glib.c
12294                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12295                         to reconnect; instead wait a bit more with each reconnect attempt
12296                         up to a max of one minute.
12297
12298 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12299
12300         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12301           the WirelessNetwork structure using the proper function instead of
12302           just casting it directly to (const char *) (gnome.org #336991)
12303
12304 2006-05-03  Robert Love  <rml@novell.com>
12305
12306         * src/backends/NetworkManagerSuSE.c: Respect the variable
12307           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12308           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12309           to dynamically update /etc/resolv.conf.
12310
12311 2006-05-02  Peter Jones  <pjones@redhat.com>
12312
12313         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12314
12315 2006-05-02  Robert Love  <rml@novell.com>
12316
12317         Patch by Timo Hoenig;
12318         * tests/nm-online.c: Print pretty status indicator as timeout winds
12319           down.  Also fix possible race between DBUS startup and failure
12320           return.
12321
12322 2006-05-01  Robert Love  <rml@novell.com>
12323
12324         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12325           empty, too.
12326
12327 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12328
12329         * src/nm-device.c (discover_device_type): Actually use the hal
12330         device type instead of ioctl poking
12331
12332 2006-04-26  Robert Love  <rml@novell.com>
12333
12334         * tests/nm-online.c: New file.  Simple utility that returns exit status
12335           noting whether the connection is offline or online.  If offline on
12336           start, it waits 30 seconds (or a command-line given value) for an
12337           online signal.  If it times out, it again returns offline.  This is
12338           useful for scripts that want to wait for network connections.
12339
12340 2006-04-25  Robert Love  <rml@novell.com>
12341
12342         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12343           key mode (the authentication algorithm), e.g. open or shared, when we
12344           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12345           only shared was broken.  If the user specified a shared key, set it
12346           explicitly, otherwise let wpa_supplicant go with the default.
12347
12348 2006-04-24  Dan Williams  <dcbw@redhat.com>
12349
12350         * src/nm-device-802-11-wireless.c
12351                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12352
12353 2006-04-24  Dan Williams  <dcbw@redhat.com>
12354
12355         Commit the async scanning patch
12356
12357         * src/nm-device-802-11-wireless.c
12358                 - get rid of scan_mutex
12359                 - (wireless_event_helper): act on wireless scan events
12360                 - (real_start): schedule a pending scan
12361                 - (link_to_specific_ap): fake the link to the AP during a scan
12362                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12363                         strength during scans
12364                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12365                         nm_device_set_bitrate): unused with new scanning code, disable
12366                 - (nm_device_wireless_schedule_scan): removed
12367                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12368                 - (request_and_convert_scan_results): new function; retrieve scan
12369                         results from the driver and schedule the processing function
12370                 - (scan_results_timeout): timeout triggered when card doesn't send
12371                         a scan results wireless event during a certain interval
12372                 - (schedule_scan_results_timeout): new function; schedule the scan
12373                         results timeout
12374                 - (cancel_scan_results_timeout): new function; cancel the scan
12375                         results timeout
12376                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12377                         to do the scanning.  Otherwise, just request a scan but don't
12378                         grab results here; instead schedule a timeout for scan results and
12379                         let netlink notify us of scan completion events
12380                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12381                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12382                 - (supplicant_status_cb): ignore disconnect events while scanning
12383                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12384                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12385                         timeouts
12386                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12387
12388 2006-04-24  Dan Williams  <dcbw@redhat.com>
12389
12390         * gnome/applet/applet-dbus.c
12391                 - Disable the pending call debug stuff, seems under control now
12392
12393 2006-04-20  Robert Love  <rml@novell.com>
12394
12395         Fix bug where hidden ESSID's would not show up in the applet, even
12396         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12397         because nm_policy_device_list_update_from_allowed_list() would merge
12398         the data, putting a name to the hidden networks, but never notify NMI
12399         of the changes.  Simple fix is to invoke the function
12400         nm_dbus_signal_wireless_network_change() if we make a mapping.
12401         * src/NetworkManagerAPList.c: Call the function
12402           nm_dbus_signal_wireless_network_change() if we made a successful
12403           BSSID to ESSID mapping, notifying the applet of the "new" network.
12404         * src/NetworkManagerAPList.h: Update the prototypes for both
12405           nm_ap_list_copy_essids_by_address() and
12406           nm_ap_list_copy_one_essid_by_address().
12407
12408 2006-04-20  Robert Love  <rml@novell.com>
12409
12410         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12411           not set.  Just return zero.
12412
12413 2006-04-20  Robert Love  <rml@novell.com>
12414
12415         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12416           only one copy of nm-vpn-properties is running at a time via the 'ol
12417           X selection trick.  This prevents the user from opening two "VPN
12418           Connections" windows from within the applet, which leads to mass
12419           hysteria.
12420         * clipboard.c: New file, implementing simple X selection logic.
12421         * clipboard.h: New file.
12422         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12423
12424 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12425
12426         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12427         * configure.in
12428           initscript/Gentoo/Makefile.am
12429           initscript/Gentoo/NetworkManagerDispatcher.in
12430                 - New script
12431         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12432           Gentopia
12433
12434 2006-04-16  Dan Williams  <dcbw@redhat.com>
12435
12436         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12437         * configure.in
12438           initscript/Slackware/Makefile.am
12439           initscript/Slackware/rc.networkmanager-dispatcher.in
12440           initscript/Slackware/rc.networkmanager.in
12441                 - Update slackware initscripts
12442
12443 2006-04-10  Robert Love  <rml@novell.com>
12444
12445         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12446           the "delete_event" signal on the druid's parent window and handle it
12447           our way, lest using the WM to close the druid results in a series of
12448           bloody and ultimately lethal errors.
12449
12450 2006-04-10  Robert Love  <rml@novell.com>
12451
12452         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12453           'Back' too or else the 'Forward' option is initially disabled despite
12454           valid input.
12455
12456 2006-04-06  Robert Love  <rml@novell.com>
12457
12458         Fix bad but simple bug where an active modem connection did not update
12459         NM's connection state, breaking any app that did online/offline:
12460         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12461           represented whether a dial up connection is active, or not.
12462         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12463           to modem activation and deactivation.
12464         * src/NetworkManagerDbus.c: When asked our state, do not return
12465           disconnected if the modem is active.
12466
12467 2006-04-04  Robert Love  <rml@novell.com>
12468
12469         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12470           applet.  It just confuses the crap out of people and does not make a
12471           lot of sense, as the daemon still runs.
12472
12473 2006-04-02  Tor Krill  <tor@krill.nu>
12474
12475         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12476           in start of service.
12477         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12478           get Archlinux backend up to date.
12479
12480 2006-03-29  Robert Love  <rml@novell.com>
12481
12482         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12483         to add support for per-route MSS and improve support for per-interface
12484         MTU:
12485         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12486           optionally take an MSS parameter and set it for the given route.
12487           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12488           NMIP4Config's stored MSS, if any.
12489         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12490           the interface's MTU and the route's MSS, respectively.  Add functions
12491           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12492           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12493           MSS.
12494         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12495           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12496           nm_ip4_config_set_mss.
12497         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12498           VPN daemon.
12499         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12500           Change the retval of nm_system_get_mtu to guint32.
12501         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12502           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12503           servers can specify MTU's, we should set it here if the MTU was not
12504           provided.
12505
12506 2006-03-27  Jürg Billeter  <j@bitron.ch>
12507
12508         * configure.in:
12509         * initscript/Makefile.am:
12510         * initscript/paldo/Makefile.am:
12511         * initscript/paldo/NetworkManager.in:
12512         * initscript/paldo/NetworkManagerDispatcher.in:
12513         * src/backends/Makefile.am:
12514         * src/backends/NetworkManagerPaldo.c:
12515                 - Add paldo support
12516
12517 2006-03-27  Dan Williams  <dcbw@redhat.com>
12518
12519         Patch from Christian Persch <chpe@gnome.org>
12520         * gnome/applet/applet.glade
12521                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12522
12523 2006-03-27  Dan Williams  <dcbw@redhat.com>
12524
12525         Patch from Diffe <diffie@blazebox.homeip.net>
12526         * src/backends/NetworkManagerSlackware.c
12527                 - Don't restart howl, since it's been replaced by Avahi
12528                         in most distributions
12529
12530 2006-03-27  Dan Williams  <dcbw@redhat.com>
12531
12532         Patch from Tor Krill <bugzilla@krill.nu>
12533         * configure.in
12534           initscript/Makefile.am
12535           src/backends/Makefile.am
12536           src/backends/NetworkManagerArch.c
12537           initscript/Arch/Makefile.am
12538           initscript/Arch/networkmanager-dispatcher.in
12539           initscript/Arch/networkmanager.in
12540                 - Add Arch Linux support, fixes gnome.org #335147
12541
12542 2006-03-27  Dan Williams  <dcbw@redhat.com>
12543
12544         Patch from Diffe <diffie@blazebox.homeip.net>
12545      * initscript/Slackware/rc.networkmanager
12546         - update, fixed gnome.org #333368
12547
12548 2006-03-27  Robert Love  <rml@novell.com>
12549
12550         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12551           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12552
12553 2006-03-27  Robert Love  <rml@novell.com>
12554
12555         Patch by Jürg Billeter <j@bitron.ch>:
12556         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12557           systems.
12558         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12559           as we prefer glibc over kernel headers, if possible.
12560
12561 2006-03-27  Robert Love  <rml@novell.com>
12562
12563         Patch by Jon Escombe <list@dresco.co.uk>:
12564         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12565         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12566           fail, don't bail out.  We don't expect all of the various WPA-EAP
12567           values to be present.
12568         * src/nm-ap-security.c: We need to match all capabilities for each
12569           encryption type, not any one of them.
12570
12571 2006-03-27  Robert Love  <rml@novell.com>
12572
12573         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12574           restart, not reload, ypbind.  Unfortunately there is no superior
12575           solution.
12576
12577 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12578
12579         * gnome/applet/applet-notifications.c:
12580         When displaying a notification, make sure to get rid of the
12581         previous notification so as to not have competing bubbles,
12582         and stop leaking the old one.
12583
12584         * gnome/applet/applet.c:
12585         * gnome/applet/applet.h:
12586         Add a new 'notification' member to the applet, and zero it out
12587         and free it appropriately.
12588
12589 2006-03-23  Robert Love  <rml@novell.com>
12590
12591         Patch by j <j@bootlab.org>:
12592         * gnome/applet/applet.glade: Don't set the invisible_char property,
12593           which simply overrides the GTK default.  By and by, this behavior
12594           ought to be fixed in Glade.
12595
12596 2006-03-22  Robert Love  <rml@novell.com>
12597
12598         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12599
12600 2006-03-22  Robert Love  <rml@novell.com>
12601
12602         Bug fix by Timo Hoenig <thoenig@suse.de>:
12603         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12604           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12605           and the applet going AWOL.
12606
12607 2006-03-22  Robert Love  <rml@novell.com>
12608
12609         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12610           preprocessor define and use it instead of open-coded the DHCP
12611           timeout, which is currently 25 seconds, everywhere.
12612
12613 2006-03-22  Robert Love  <rml@novell.com>
12614
12615         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12616         key exchange via WPA, ostensibly providing good security without
12617         requiring hardware that supports full WPA.  Also, add UI elements to
12618         allow the user to select the pairwise & group cipher for WPA Enterprise
12619         networks, too:
12620         * gnome/applet/applet.glade: Update glade file.
12621         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12622           key type, too, to and from gconf.
12623         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12624           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12625           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12626           the capabilities match.
12627         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12628           prototype.
12629         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12630           serialize from UI to DBUS.
12631         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12632           one element.
12633         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12634           nmu_security_serialize_wpa_eap_with_cipher(), and
12635           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12636           serialize/deserialize the key type via DBUS as the new third DBUS
12637           parameter.
12638         * libnm-util/dbus-helpers.h: Update prototypes.
12639         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12640           too.  If the key type is WEP104, do Dynamic WEP, which means
12641           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12642           pairwise and group ciphers (fixes a FIXME).
12643
12644 2006-03-21  Robert Love  <rml@novell.com>
12645
12646         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12647           nm_system_get_mtu(), which returns a user-provided or system-mandated
12648           MTU value for a given device, if any, or zero if no such value
12649           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12650           if we have a provided value.
12651         * src/nm-device.c: Set the MTU of devices.
12652         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12653         * src/backends/NetworkManagerDebian.c,
12654           src/backends/NetworkManagerGentoo.c,
12655           src/backends/NetworkManagerRedHat.c,
12656           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12657
12658 2006-03-21  Robert Love  <rml@novell.com>
12659
12660         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12661           configuration file.
12662
12663 2006-03-17  Robert Love  <rml@novell.com>
12664
12665         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12666           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12667           it, in case it is not running in the first place.  We just want its
12668           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12669
12670 2006-03-15  Robert Love  <rml@novell.com>
12671
12672         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12673           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12674           label "WEP 40/128-bit" is inconsistent because the physical key size
12675           is 40 or 104-bits, to which a 24-bit initialisation vector is
12676           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12677           to read "40/104" or "64/128".  I do not care much which, but most
12678           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12679           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12680           WEP passphrase support only handles 128-bit keys, and any future
12681           64-bit passphrase support will require a new option (no way to auto-
12682           detect the target key size), explicitly label our passphrase support
12683           "WEP 128-bit Passphrase".
12684
12685 2006-03-15  Robert Love  <rml@novell.com>
12686
12687         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12688           the system init scripts (or some other mechanism) starting it (or a
12689           compatible DBUS service) before NetworkManager runs.  This means that
12690           distributions might need to update their init scripts.  This fixes
12691           possible races and is quite a bit cleaner.
12692         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12693           starting the NetworkManager daemon.
12694
12695
12696 2006-03-14  Robert Love  <rml@novell.com>
12697
12698         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12699           before adding anything.
12700
12701 2006-03-13  Robert Love  <rml@novell.com>
12702
12703         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12704           widgets, too, if they exist, in case the user hit the back button.
12705           Fixes a bug where the details page contains the widgets of multiple
12706           VPN modules (Novell bug #157048).
12707
12708 2006-03-13  Robert Love  <rml@novell.com>
12709
12710         Patch by Timo Hoenig <thoenig@suse.de>:
12711         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12712           daemon survive DBUS restarts, too.
12713
12714 2006-03-10  Robert Love  <rml@novell.com>
12715
12716         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12717           passphrase or key.
12718         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12719           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12720           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12721           in response to "toggled" signal on new toggle.
12722
12723 2006-03-10  Robert Love  <rml@novell.com>
12724
12725         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12726           serialization if strings are NULL, lest DBUS get angry.
12727
12728 2006-03-10  Robert Love  <rml@novell.com>
12729
12730         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12731
12732 2006-03-09  Robert Love  <rml@novell.com>
12733
12734         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12735           configurations.
12736
12737 2006-03-09  Dan Williams  <dcbw@redhat.com>
12738
12739         Track pending call requests in the applet, and report how many are
12740         outstanding, and how long each completed one takes.
12741         
12742         * gnome/applet/applet-dbus-devices.c
12743           gnome/applet/applet-dbus-vpn.c
12744                 - Track pending calls
12745
12746         * gnome/applet/applet-dbus.[ch]
12747                 - Remove some unused enums
12748                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12749                         new functions to track dbus pending calls and spit out some
12750                         statistics about them
12751
12752 2006-03-09  Robert Love  <rml@novell.com>
12753
12754         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12755           nm_ap_set_timestamp() take the second and micro-second parameters as
12756           direct arguments, which avoids both a dynamic memory allocation and a
12757           structure-to-structure copy!  Add a new interface, the aptly named
12758           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12759           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12760           the return from nm_ap_get_timestamp().  New users should use the new
12761           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12762           the extreme benefit to performance.
12763         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12764           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12765
12766 2006-03-08  Robert Love  <rml@novell.com>
12767
12768         * gnome/applet/applet.glade: Hide the password entry text with
12769           asterisks.
12770
12771 2006-03-08  Robert Love  <rml@novell.com>
12772
12773         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12774           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12775           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12776           a second argument, NMData.
12777         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12778         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12779           config files as trusted.
12780
12781 2006-03-06  Robert Love  <rml@novell.com>
12782
12783         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12784         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12785           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12786           Rivera, detect if the applet was auto-started.  If so, ask the user
12787           if he or she would like to stop automatically running the applet on
12788           login.  If so, disable autostart.
12789
12790 2006-03-06  Robert Love  <rml@novell.com>
12791
12792         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12793           directory in CFLAGS so developers can actually use NetworkManager.h.
12794
12795 2006-03-06  Robert Love  <rml@novell.com>
12796
12797         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12798           open-coded integer constants.  Add state_to_string() to map a given
12799           state to a textual description, and provide that when notifying of
12800           state change.
12801         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12802           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12803           this header directly, but it is currently not installed on most
12804           systems.
12805
12806 2006-03-05  Dan Williams  <dcbw@redhat.com>
12807
12808         Process netlink messages in device subclasses rather than in
12809         NetworkManager.c.  Also add support for recognizing Wireless Events.
12810         
12811         * configure.in
12812                 - Find GLIB_GENMARSHAL
12813
12814         * src/Makefile.am
12815                 - Since we're marshalling custom types for wireless event signals,
12816                         we get to create our own marshallers using GLIB_GENMARSHAL
12817
12818         * src/NetworkManager.c
12819                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12820                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12821                         cut down somewhat.  We no longer process signals here.
12822                 - (nm_data_new): create the netlink monitor here, and remove a
12823                         useless call to nm_policy_schedule_device_change_check()
12824                 - (nm_data_free): get rid of the netlink monitor here
12825                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12826                 - (main): don't create the netlink monitor here, let nm_data_new
12827                         do that.  Call nm_policy_schedule_device_change_check() right
12828                         before we jump to the mainloop to figure out which device
12829                         to use first
12830
12831         * src/NetworkManagerSystem.[ch]
12832                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12833                         convert back and forth from interface names to interface
12834                         indexes
12835
12836         * src/nm-device-802-11-wireless.c
12837                 - (real_init): connect to wireless-event signals from the netlink
12838                         monitor object
12839                 - (nm_device_802_11_wireless_event): new function, schedule handler
12840                         for wireless event signals from the netlink monitor object.  We
12841                         want the handler to run in the device's context
12842                 - (wireless_event_helper): handle wireless-event signals from netlink
12843                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12844                         signal handler
12845
12846         * src/nm-device-802-11-wireless.h
12847                 - remove unused prototype for nm_device_802_11_wireless_new
12848
12849         * src/nm-device-802-3-ethernet.c
12850                 - (real_init): new function; set up signal handlers for link events
12851                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12852                         handler for netlink link activated events on device's main loop
12853                 - (link_activated_helper): when we get a link activated event, set
12854                         the device's link to be active
12855                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12856                         handler for netlink link deactivated events on device's main loop
12857                 - (link_deactivated_helper): when we get a link deactivated event, set
12858                         the device's link to be inactive
12859                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12860                         dispose
12861
12862         * src/nm-device-802-3-ethernet.h
12863                 - remove unused prototype for nm_device_802_3_ethernet_new
12864
12865         * src/nm-device.[ch]
12866                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12867                         but locks the device list
12868                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12869
12870         * src/nm-netlink-monitor.[ch]
12871                 - (nm_netlink_monitor_class_install_signals): New signal
12872                         "wireless-event"
12873                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12874                         at the device list
12875                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12876
12877         * src/nm-marshal-main.c
12878                 - Include generated nm-marshal.c and nm-marshal.h
12879
12880         * src/nm-marshal.list
12881                 - List of custom marshal functions
12882
12883 2006-03-05  Dan Williams  <dcbw@redhat.com>
12884
12885         * gnome/applet/applet-notifications.h
12886                 - Protect prototype of nma_send_event_notification() because it
12887                         includes libnotify-specific types
12888                 - Include libnotify/libnotify.h too, since we technically need it
12889
12890         * gnome/applet/applet.c
12891                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12892                 - (nma_show_vpn_login_banner_dialog): add some error checking
12893
12894 2006-03-04  Dan Williams  <dcbw@redhat.com>
12895
12896         Clean up activation cancellation.  Should be a lot faster now.  Observed
12897         an issue with wireless devices between stage 2 and 3 of activation, where
12898         activation would be cancelled, but the device thread wouldn't notice until
12899         the supplicant association timed out.  Reorganize activation such that
12900         a cancellation handler gets immediately scheduled in the device's thread,
12901         and devices have a chance to perform any custom cleanup too.
12902
12903         * src/nm-device.[ch]
12904                 - (activation_cancel_handler): new device-type-specific function
12905                         for cleaning up device-type-specific stuff on cancellation
12906                 - (cancel_activation): removed
12907                 - (nm_device_activation_cancel): subsume functionality of
12908                         real_cancel_activation, but instead of doing anything, punt
12909                         operation to a handler that's run in device-thread context
12910                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12911                         a warning message
12912                 - (activation_handle_cancel_helper): cancellation handler run in
12913                         device-thread context, calls device-type-specific cancelation,
12914                         then tears down the activation request
12915                 - (real_activation_cancel_handler): generic cancellation handler,
12916                         deals with cancelling any in-process DHCP request
12917                 - (nm_device_activate_stage1_device_prepare,
12918                    nm_device_activate_stage2_device_config,
12919                    nm_device_activate_stage3_ip_config_start,
12920                    nm_device_activate_stage4_ip_config_get,
12921                    nm_device_activate_stage4_ip_config_timeout,
12922                    nm_device_activate_stage5_ip_commit): don't call
12923                         nm_device_schedule_activation_handle_cancel() any more, since
12924                         cancellation will have been already scheduled for us by
12925                         nm_device_activation_cancel().  Just exit the function and
12926                         assume that the cancel handler will be called next.
12927
12928         * src/nm-device-802-3-ethernet.c
12929                 - (real_act_stage2_config): remove; didn't do anything anyway
12930
12931         * src/nm-device-802-11-wireless.c
12932                 - (supplicant_status_cb): ensure we don't do anything if the activation
12933                         got cancelled
12934                 - (real_activation_cancel_handler): implement; cancel user key request
12935                         on activation cancellation
12936
12937 2006-03-04  Dan Williams  <dcbw@redhat.com>
12938
12939         * src/nm-device-802-11-wireless.c
12940                 - (supplicant_send_network_config): assume that drivers that don't
12941                         support WPA pretty much suck, and can't handle NM scanning
12942                         along with wpa_supplicant.
12943
12944 2006-03-03  Robert Love  <rml@novell.com>
12945
12946         * configure.in: Bump version to 0.6.0.
12947         * NEWS: Update.
12948
12949 2006-03-03  Robert Love  <rml@novell.com>
12950
12951         * configure.in: Require DBUS 0.60 or later.
12952
12953 2006-03-03  Dan Williams  <dcbw@redhat.com>
12954
12955         Fix a crash if an "Other wireless network" was chosen, failed, then
12956         chosen again from the applet's menu.  If the other network wasn't
12957         noticed in a scan, it wouldn't have any capabilities, but would still
12958         be listed because the user forced the network.  To fix this, we set
12959         sensible capabilities on the forced network, which will get overwritten
12960         with the correct ones if the network shows up later in a scan.
12961         
12962         * src/nm-ap-security.h
12963                 - Add a new "get_default_capabilities_func" member to the
12964                         NMAPSecurity class
12965
12966         * src/nm-ap-security.c
12967                 - (nm_ap_security_get_default_capabilities): new function
12968
12969         * src/nm-ap-security.c
12970           src/nm-ap-security-wep.c
12971           src/nm-ap-security-wpa-psk.c
12972           src/nm-ap-security-wpa-eap.c
12973                 - Implement get_default_capabilities_func() for all, which
12974                         uses the information contained in a specific NMAPSecurity
12975                         object to determine default AP capabilites necessary
12976                         to support that object
12977
12978         As a secondary measure, we now prune artificial access points that fail
12979         to be activated right away.  The thing failed, and we have no scan data for
12980         it, so it's pretty much useless since security information is only saved
12981         in the applets when a connection is successful.
12982
12983         * src/NetworkManagerAPList.c
12984                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12985                         not artificial.  If we see it, it's no longer a figment of the
12986                         user's imagination :)
12987
12988         * src/NetworkManagerPolicy.c
12989                 - (nm_policy_activation_failed): send along the failed AP if we
12990                         have it
12991
12992         * src/nm-device-802-11-wireless.c
12993                 - (real_activation_failure_handler): remove artificial APs from
12994                         the device list, because activation failed
12995
12996 2006-03-02  Robert Love  <rml@novell.com>
12997
12998         Add support for retrieving both the per-device speed and the
12999         per-network maximum supported rate.  Then change the getProperties
13000         DBUS API for both networks and devices to report this informaiton.
13001         Finally, display the information via both nm-applet and nm-tool:
13002         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
13003           and set it.
13004         * gnome/applet/applet.c: Display the device's speed in the 'Connection
13005           Information' dialog.
13006         * gnome/applet/applet.glade: Update the UI to show per-device speed.
13007         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
13008           network_device_get_speed() and network_device_set_speed() for
13009           retrieving and setting, respectively, a network device's current
13010           speed.
13011         * src/nm-dbus-device.c: Send the device's speed on getProperties.
13012         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
13013           in the function nm_device_802_11_wireless_get_bitrate() -- it does
13014           not matter (yet) what the units are, because we only feed it its own
13015           output.  Implement SIOCGIRATE and set the per-network maximum
13016           supported rate during scanning.
13017         * src/nm-device-802-11-wireless.h: Export the function
13018           nm_device_802_11_wireless_get_bitrate().
13019         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
13020           function nm_device_802_3_ethernet_get_speed() for returning an
13021           802.3's current speed, in Mb/s.
13022         * test/nm-tool.c: Display the per-device current speed, if available,
13023           and the per-network maximum rate.
13024
13025 2006-03-02  Dan Williams  <dcbw@redhat.com>
13026
13027         * src/nm-device-802-11-wireless.c
13028                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
13029                         card when it gets initialized.  Since devices don't get added to
13030                         the scan list until they are initialized, this function wasn't
13031                         setting the intitial scan interval correctly, and was leaving
13032                         it at 0.  This caused cards to get many scan requests in a short
13033                         amount of time when they were initialized
13034
13035 2006-03-02  Robert Love  <rml@novell.com>
13036
13037         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
13038           active device.  But do not do what we used to do and override the
13039           state, which caused the dreaded icon race of '05.
13040
13041 2006-03-02  Robert Love  <rml@novell.com>
13042
13043         Commit Dan's update of my previous commit:
13044         * src/nm-device-802-11-wireless.c: Always set the mode, because the
13045           set_mode() function itself does the check.  But do only set the
13046           frequency if in Ad-Hoc mode.
13047
13048 2006-03-02  Robert Love  <rml@novell.com>
13049
13050         Patch by Brian Magnuson <magnuson@rcn.com>:
13051         * src/nm-device-802-11-wireless.c: During scanning, only set the
13052           wireless mode to infrastructure if it is not currently in
13053           infrastructure mode.  For some driver, setting the mode is a costly
13054           operation, apparently.
13055
13056 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13057
13058         * Makefile.am: use the correct dir for autostart mechanism.
13059
13060 2006-02-28  Dan Williams  <dcbw@redhat.com>
13061
13062         Patch from Brian Magnuson <magnuson@rcn.com>
13063         * gnome/applet/applet.c
13064                 - (nma_show_vpn_failure_dialog): fix errors left over from
13065                         libnotify support changes
13066
13067 2006-02-28  Dan Williams  <dcbw@redhat.com>
13068
13069         * src/vpn-manager/nm-vpn-act-request.[ch]
13070                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13071                         just one value
13072                 - (nm_vpn_act_request_is_failed): new function; return whether or
13073                         not the vpn activation request has failed
13074
13075         * src/vpn-manager/nm-vpn-manager.c 
13076                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13077                         daemon to kill the connection when the activation request fails.
13078                         Fixes issue where NM would get confused if the VPN activation
13079                         request timed out, and would not allow further VPN connections
13080                         on that service.
13081
13082 2006-02-28  Dan Williams  <dcbw@redhat.com>
13083
13084         * gnome/applet/applet.c
13085                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13086                         overlapping connection requests, disable all VPN menu items
13087                         but the active VPN connection
13088
13089 2006-02-28  Dan Williams  <dcbw@redhat.com>
13090
13091         * src/vpn-manager/nm-vpn-connection.c
13092                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13093                         called g_object_unref() on the connection's parent device
13094                         when it should have been ref-ed instead.  Fixes crash with
13095                         repeated vpn connect requests
13096
13097 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13098
13099         * gnome/applet/applet.glade:
13100         Mark a few strings non-translatable, since they shouldn't be.
13101
13102 2006-02-28  Dan Williams  <dcbw@redhat.com>
13103
13104         * src/vpn-manager/nm-vpn-service.c
13105                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13106                         already running, don't blindly ask it to connect, but wait until
13107                         it's in the STOPPED state first.  Fixes an assertion when user
13108                         starts a second vpn connection without stopping the first.
13109                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13110                         dbus service exists before continuing with the connection
13111                         process, and reduce latency while waiting for it to become
13112                         available
13113                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13114                         waiting for the vpn service daemon to become available
13115                 - General log message cleanups; show progress via "Stage x of 4"
13116                         rather than not telling anyone how many stages there are
13117
13118 2006-02-28  Robert Love  <rml@novell.com>
13119
13120         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13121         * src/backends/NetworkManagerSuSE.c: Implement the interface
13122           nm_system_should_modify_resolv_conf() for SUSE.
13123         * src/backends/NetworkManagerDebian.c,
13124           src/backends/NetworkManagerGentoo.c,
13125           src/backends/NetworkManagerRedHat.c,
13126           src/backends/NetworkManagerSlackware.c: Add stub.
13127         * src/named-manager/Makefile.am: Grab includes from src.
13128         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13129           automatic updating of resolv.conf.  This is useful for testing,
13130           broken static configurations, and administrator lock-down.
13131
13132 2006-02-28  Dan Williams  <dcbw@redhat.com>
13133
13134         * src/nm-device-802-11-wireless.c
13135                 - Move all the wpa_supplicant-related management stuff into its
13136                         own struct, just for oranization's sake
13137                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13138                         to a GIOChannel/GSource
13139                 - (supplicant_log_stdout): new function; grab output from the
13140                         wpa_supplicant stdout pipe and write it to our logs.
13141
13142 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13143
13144         * src/nm-device-802-11-wireless.c:
13145         Err, fix thinko in my previous commit.
13146
13147 2006-02-28  Robert Love  <rml@novell.com>
13148
13149         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13150
13151 2006-02-28  Robert Love  <rml@novell.com>
13152
13153         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13154           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13155           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13156           deserializers are responsible for freeing the returned DBUS strings.
13157
13158 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13159
13160         * src/nm-device-802-11-wireless.c:
13161         The scan list is being pruned prematurely.  We should prune after
13162         the device has gone MIA for three scans, not one.  Split out the
13163         interval to realtime seconds function to better serve this.
13164
13165 2006-02-27  Robert Love  <rml@novell.com>
13166
13167         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13168           Open the pid file O_TRUNC, so if it already exists we truncate it to
13169           zero length.  Also, be more verbose about warnings generated during
13170           writing out the pid file.  Finally, always write out the pid file if
13171           in daemon mode.  Use "--pid-file" to override the default.
13172
13173 2006-02-27  Robert Love  <rml@novell.com>
13174
13175         Patch by R. Vinay <rvinay@novell.com>:
13176         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13177           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13178           Novell bug #153628).
13179           
13180 2006-02-27  Robert Love  <rml@novell.com>
13181
13182         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13183           entry so user can hit <ENTER> after entering passphrase (Novell bug
13184           #153738).
13185
13186 2006-02-27  Dan Williams  <dcbw@redhat.com>
13187
13188         * gnome/applet/*
13189                 - Mass search/replace of:
13190                         nmwa -> nma
13191                         NMWirelessApplet -> NMApplet
13192                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13193                    (it ain't just for wireless anymore, ma!)
13194                 - Fix duplicate function name printing when using nm_warning
13195                 - wireless-applet.glade -> applet.glade
13196
13197 2006-02-27  Dan Williams  <dcbw@redhat.com>
13198
13199         * dispatcher-daemon/NetworkManagerDispatcher.c
13200                 - Accept --pid-file with a path to a pidfile, write it out on
13201                         startup, and delete it on shutdown
13202
13203         * src/NetworkManager.c
13204                 - Accept --pid-file with a path to a pidfile, write it out on
13205                         startup, and delete it on shutdown
13206                 - Move nm_print_usage() lower
13207
13208         * initscripts/RedHat/NetworkManager.in
13209                 - Use new --pid-file option
13210                 - Fix service stopping to wait a bit for NM to quit
13211
13212         * initscripts/RedHat/NetworkManagerDispatcher.in
13213                 - Use new --pid-file option
13214
13215 2006-02-26  Dan Williams  <dcbw@redhat.com>
13216
13217         * src/Makefile.am
13218                 - make and install nm-crash-logger
13219
13220         * src/nm-logging.[ch]
13221                 - New files; consolidate logging and crash handling
13222
13223         * src/nm-crash-logger.c
13224           src/gdb-cmd
13225                 - Standalong crashlogger for NM, grab a backtrace
13226                         using GDB
13227
13228         * src/NetworkManager.[ch]
13229                 - Remove signal handling and put it into nm-logging.c
13230
13231 2006-02-26  Dan Williams  <dcbw@redhat.com>
13232
13233         * configure.in
13234           gnome/applet/Makefile.am
13235                 - Conditionalize all the notify stuff
13236
13237         Merge most of Chris Aillon's notification patch:
13238         
13239         * gnome/applet/applet-notifications.[ch]
13240                 - New files; show a notification
13241         
13242         * gnome/applet/applet-dbus-devices.[ch]
13243                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13244                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13245                         new functions, do the right thing when a device change occurs
13246
13247         * gnome/applet/applet-dbus.c
13248                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13249                         signals, so we can handle them specially
13250
13251         * gnome/applet/applet.[ch]
13252                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13253                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13254                 - (nmwa_notify_state): remove
13255                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13256                         notification work is now done when the appropriate dbus signals
13257                         are received.
13258                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13259                         defer execution of the notification/dialog stuff.  That was an
13260                         artifact of the previous multi-threaded nature of the applet
13261                         and is now pointless.
13262                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13263                         no longer needed.  Function folded into applet-notifications.c
13264
13265         * src/NetworkManagerPolicy.c
13266                 - (nm_policy_activation_finish): send the AP along with the device
13267                         status change signal, if the connection is wireless.  Should
13268                         fix the race where applet would show a connection to "unknown"
13269
13270 2006-02-25  Robert Love  <rml@novell.com>
13271
13272         Add WPA Enterprise support:
13273         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13274           nm-gconf-wso-wpa-eap.h.
13275         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13276           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13277           serialization and deserialization.
13278         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13279           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13280           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13281         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13282           settings related to WPA Enterprise.
13283         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13284           instantiate WPA Enterprise wireless-security-option.
13285         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13286           Implement WPA Enterprise wireless-security-option object.
13287         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13288           defines.  Cleanup.
13289         * libnm-util/cipher-wpa-psk-hex.c,
13290           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13291         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13292           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13293           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13294           including the cipher to DBUS method, and
13295           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13296           to output.
13297         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13298           nm-ap-security-wpa-eap.h
13299         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13300           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13301         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13302           files.  Implement NMAPSecurityWPA_EAP object.
13303         * src/nm-ap-security-wpa-psk.c: Cleanup.
13304         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13305           an NMAPSecurityWPA_EAP object via the method
13306           nm_ap_security_wpa_eap_new_deserialize().
13307         * src/nm-dbus-nm.c: Cleanup.
13308         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13309           WPA Enterprise support.
13310
13311 2006-02-24  Robert Love  <rml@novell.com>
13312
13313         Patch from Timo Hoenig <thoenig@suse.de>:
13314         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13315
13316 2006-02-24  Robert Love  <rml@novell.com>
13317
13318         Patch from Dan Winship <danw@novell.com>:
13319         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13320           area to transparent.
13321
13322 2006-02-21  Dan Williams  <dcbw@redhat.com>
13323
13324         * gnome/applet/applet.[ch]
13325           gnome/applet/applet-dbus.c
13326                 - Implement notification support for VPN messages too
13327
13328 2006-02-21  Dan Williams  <dcbw@redhat.com>
13329
13330         * gnome/applet/applet-dbus-info.c
13331                 - Clean up warning messages to not double-print the function
13332
13333 2006-02-21  Dan Williams  <dcbw@redhat.com>
13334
13335         * gnome/applet/applet-compat.c
13336                 - (convert_one_entry): accept entries without a key_type and
13337                         convert them to unencrypted networks
13338
13339 2006-02-21  Dan Williams  <dcbw@redhat.com>
13340
13341         * gnome/libnm_glib/libnm_glib.c
13342                 - Use __func__ everywhere we can
13343                 - Code cleanups
13344                 - Use dbus pending calls rather than blocking
13345                 - Reduce busywaits for our thread to start and stop
13346                         (gnome.org #330562)
13347                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13348                         stomp on others using the default shared dbus connection.
13349                         Fixes #rh177546# and gnome.org #326572
13350
13351 2006-02-21  Dan Williams  <dcbw@redhat.com>
13352
13353         Patch from Rodney Dawes <dobey@novell.com>
13354         * configure.in
13355           gnome/applet/Makefile.am
13356           gnome/applet/applet.c
13357                 - Add libnotify support if '--enable-notify=yes' is passed
13358                   at configure time
13359
13360 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13361
13362         * configure.in (ALL_LINGUAS): ko added. (Korean)
13363
13364 2006-02-15  Robert Love  <rml@novell.com>
13365
13366         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13367           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13368           and WPA_SUPPLICANT_CONTROL_SOCKET.
13369         
13370 2006-02-15  Robert Love  <rml@novell.com>
13371
13372         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13373           information about what connection stage we are at, provide the total
13374           number of stages, e.g. "Stage 2 of 5", so users know how far along
13375           they are if they experience problems.
13376
13377 2006-02-15  Robert Love  <rml@novell.com>
13378
13379         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13380           define to $sysconfdir.
13381         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13382           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13383           type of VPN and then editing another results in a mangled dialog
13384           box containing the widgets from both VPNs (fixes Novell #150854).
13385           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13386
13387 2006-02-14  Robert Love  <rml@novell.com>
13388
13389         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13390           syslog's file descriptor.
13391
13392 2006-02-14  Robert Love  <rml@novell.com>
13393
13394         Fix bug around since the change to "deal with APs changing settings on
13395         us," checked in on the fifth of February in the year of the dog, 
13396         wherein connecting to non-broadcast encrypted networks always fails
13397         because nm_ap_get_encrypted() always returns FALSE, even when the user
13398         provided a key, because the newly-created fake AP does not have any
13399         capabilities set, which is a sypmtom of security settings not matching
13400         capabilities (Novell bug #150784):
13401         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13402           nm_ap_add_capabilities_from_security(), which sets the given AP's
13403           capabilities off the given security settings.  Also improve our
13404           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13405           NM_AUTH_CIPHER_AUTO.
13406         * src/nm-device-802-11-wireless.c: Call the function
13407           nm_ap_add_capabilities_from_security() to ensure that capabilities
13408           match newly updated security settings.
13409
13410 2006-02-14  Robert Love  <rml@novell.com>
13411
13412         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13413           error as a string, not an integer, if possible; do not print the
13414           function name twice; always give the interface, if possible; misc.
13415           cleanup.
13416
13417 2006-02-12  Dan Williams  <dcbw@redhat.com>
13418
13419         Patch from Tom Parker <palfrey@tevp.net>
13420         * src/NetworkManagerSystem.h
13421                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13422                         no longer used
13423
13424         * src/backends/NetworkManagerDebian.c
13425                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13426                         unused variables
13427
13428 2006-02-12  Dan Williams  <dcbw@redhat.com>
13429
13430         * vpn-daemons/openvpn/intltool-extract.in
13431           vpn-daemons/openvpn/intltool-merge.in
13432           vpn-daemons/openvpn/intltool-update.in
13433           vpn-daemons/pptp/intltool-extract.in
13434           vpn-daemons/pptp/intltool-merge.in
13435           vpn-daemons/pptp/intltool-update.in
13436                 - Remove from CVS, they should get created by intltoolize,
13437                         shouldn't they?
13438
13439 2006-02-12  Dan Williams  <dcbw@redhat.com>
13440
13441         * vpn-daemons/pptp/src/pppd/patchlevel.h
13442         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13443                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13444                         Makefile-defined VERSION
13445
13446 2006-02-09  Dan Williams  <dcbw@redhat.com>
13447
13448         Patch from: Vinay A R <rvinay@novell.com>
13449         * src/vpn-manager/nm-vpn-act-request.[ch]
13450                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13451                         IPSec VPNs require them for std gateway.
13452                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13453                         and 'user_routes_count'
13454                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13455                         defined routes  from NMVPNActRequest object, returns the string
13456                         array of routes.
13457
13458         * src/vpn-manager/nm-vpn-manager.[ch]
13459                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13460                         for 'user_routes' and 'user_routes_count'
13461         
13462         * src/vpn-manager/nm-dbus-vpn.c
13463                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13464                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13465         
13466         * src/vpn-manager/nm-vpn-service.c
13467                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13468                         the vpn daemon
13469
13470         Modifications by Dan:
13471         * src/vpn-manager/nm-vpn-service.c
13472                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13473                         arrays into dbus
13474
13475         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13476         * vpn-daemons/pptp/src/nm-pptp-service.c
13477         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13478                 - Grab user routes from dbus message
13479                 - Free all string arrays we got from dbus
13480
13481 2006-02-07  Robert Love  <rml@novell.com>
13482
13483         Patch by Stefan Seyfried <seife@suse.de>:
13484         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13485
13486 2006-02-06  Robert Love  <rml@novell.com>
13487
13488         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13489
13490 2006-02-06  Robert Love  <rml@novell.com>
13491
13492         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13493           test ">=" is never false.  If no newline is found, we loop forever.
13494           We can just check for ">" because the following if() will see the
13495           zero-th argument if the while() gets that far.
13496
13497 2006-02-05  Dan Williams  <dcbw@redhat.com>
13498
13499         Refine handling of non-broadcast networks.
13500
13501         * src/NetworkManagerAPList.c
13502                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13503                         property from scanned AP to the AP from the device list
13504
13505         * src/nm-device-802-11-wireless.c
13506                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13507                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13508                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13509                         networks since those don't have APs.
13510                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13511                         AP as non-SSID-broadcasting
13512                 - (process_scan_results): don't handle non-SSID-broadcasting here
13513
13514 2006-02-05  Dan Williams  <dcbw@redhat.com>
13515
13516         * src/nm-device-802-11-wireless.c
13517                 - (get_supplicant_timeout): new function; return
13518                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13519                         14 channels.  These are likely a/b/g cards, like Atheros, and
13520                         slow as hell to scan.
13521                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13522                         get_supplicant_timeout()
13523
13524 2006-02-05  Dan Williams  <dcbw@redhat.com>
13525
13526         * src/dhcp-manager/nm-dhcp-manager.c
13527                 - Loose a commit race with Robert; make sure size check
13528                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13529
13530 2006-02-05  Robert Love  <rml@novell.com>
13531
13532         Patch by Christoph Brill <chrisbrill@gmx.net>:
13533         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13534           with DHCP_SERVICE_NAME.
13535
13536 2006-02-05  Dan Williams  <dcbw@redhat.com>
13537
13538         Remove anything having to do with device_setup_func from the
13539         AP security objects, since it's no longer used.
13540
13541         * src/nm-ap-security.h
13542                 - Kill device_setup_func and nm_ap_security_device_setup()
13543
13544         * src/nm-ap-security-wep.c
13545           src/nm-ap-security-wpa-psk.c
13546                 - (real_device_setup): remove
13547
13548         * src/nm-ap-security.c
13549                 - (real_device_setup): remove
13550                 - (nm_ap_security_device_setup): remove
13551
13552         * src/nm-device-802-11-wireless.[ch]
13553                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13554                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13555                         and done by wpa_supplicant now anyway
13556
13557 2006-02-05  Dan Williams  <dcbw@redhat.com>
13558
13559         * src/nm-device-802-11-wireless.c
13560                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13561                         settings on us.  Previously NM would loop asking for the
13562                         key but getting the same one back.  Now, if the NMI-supplied
13563                         cipher doesn't overlap with the scanned AP capabilities,
13564                         we request a completely new key from the user.
13565
13566 2006-02-05  Dan Williams  <dcbw@redhat.com>
13567
13568         * src/NetworkManagerUtils.c
13569                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13570                         Handle newline killing better
13571
13572 2006-02-05  Dan Williams  <dcbw@redhat.com>
13573
13574         * gnome/applet/nm-gconf-wso.c
13575                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13576                         of unencrypted access point security info.
13577
13578 2006-02-03  Robert Love  <rml@novell.com>
13579
13580         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13581           user's encryption key, so we print the err_msg_cmd not the command,
13582           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13583           sense.
13584
13585 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13586
13587         * initscript/RedHat/NetworkManagerDispatcher.in:
13588         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13589         Patch from Dan Walsh <dwalsh@redhat.com>
13590
13591 2006-02-03  Robert Love  <rml@novell.com>
13592
13593         * dispatcher-daemon/NetworkManagerDispatcher.c,
13594           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13595           but use the sysconfdir.
13596
13597 2006-02-03  Robert Love  <rml@novell.com>
13598
13599         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13600           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13601           'char *'.
13602         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13603           nm_ip4_config_get_hostname() and
13604           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13605         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13606           leak g_strdup() result.
13607
13608 2006-02-03  Robert Love  <rml@novell.com>
13609
13610         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13611           broadcast == TRUE.  Also, copy broadcast and artificial properties
13612           from source network to destination in nm_ap_copy().
13613         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13614           since we now default new networks to non-hidden.
13615
13616 2006-02-03  Dan Williams  <dcbw@redhat.com>
13617
13618         * gnome/applet/main.c
13619                 - (main): change the NEVER->ALWAYS so we start at the
13620                         beginning of the session, if being session-managed
13621
13622 2006-02-03  Dan Williams  <dcbw@redhat.com>
13623
13624         * gnome/applet/main.c
13625                 - (main): in a variation on Robert's patch, change
13626                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13627                         he wants.
13628
13629 2006-02-02  Robert Love  <rml@novell.com>
13630
13631         * src/Makefile.am: If we aren't going to create the run directory at,
13632           uh, run-time, create it during install.  Then users just doing
13633           'make install' are cool, too.  While we are here, create the
13634           dispatcher.d directory, too.
13635         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13636           the exact run directory.
13637         * Makefile.am: Install nm-applet.desktop.
13638
13639 2006-02-02  Robert Love  <rml@novell.com>
13640
13641         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13642           structure, which denotes whether or not the AP is hidden.  This is a
13643           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13644           can show up in the scan list.  Add nm_ap_get_broadcast() and
13645           nm_ap_set_broadcast() accessor interfaces.
13646         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13647           nm_ap_set_broadcast().
13648         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13649           "getProperties" method, which denotes whether or not the given
13650           network is hidden.
13651         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13652           an artificial network.  Set broadcast to TRUE when scanning returns
13653           an ESSID and FALSE when not.
13654         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13655           from "getProperties" method on a network.  Possible TODO is to
13656           somehow display this.
13657         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13658
13659 2006-02-02  Dan Williams  <dcbw@redhat.com>
13660
13661         * src/nm-device-802-11-wireless.c
13662                 - (supplicant_interface_init): don't try to create
13663                         /var/run/NetworkManager, since that should be done by
13664                         the distro package.  Causes problems for stuff like SELinux
13665
13666 2006-02-02  Robert Love  <rml@novell.com>
13667
13668         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13669         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13670           Check for and handle empty string for iface.
13671
13672 2006-02-01  Robert Love  <rml@novell.com>
13673
13674         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13675           manpage.
13676
13677 2006-01-31  Dan Williams  <dcbw@redhat.com>
13678
13679         * nm-applet.desktop
13680                 - Add --sm-disable to Exec arguments, presuming that when
13681                         using autostart, we don't want session management
13682
13683 2006-01-31  Robert Love  <rml@novell.com>
13684
13685         * src/NetworkManagerAP.c: Add two new manufacturer default network
13686           names: linksys-a and linksys-g.  These are found (at least) on the
13687           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13688           own ESSID.
13689
13690 2006-01-31  Robert Love  <rml@novell.com>
13691
13692         * src/NetworkManagerAP.c: Optimize the function
13693           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13694           machine code.  This is the first in a series of code tweaks aiming to
13695           generate better machine code and make NetworkManager all the better.
13696           Just kidding.  Who has time to go through the assembly generated for
13697           every function?  I certainly don't.  I have a wife, a kid, a job,
13698           a mortgage, a mistress.  But this function was so bad, I was called
13699           to arms.  Like the book.
13700
13701 2006-01-31  Robert Love  <rml@novell.com>
13702
13703         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13704           AP is not broadcasting, to scan with probe request frames.  Required
13705           for non-broadcast networks.
13706
13707 2006-01-31  Robert Love  <rml@novell.com>
13708
13709         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13710           preprocessor define (still 20s).  Fix message text in nm_info()
13711           s/too too/took too/.
13712
13713 2006-01-30  Dan Williams  <dcbw@redhat.com>
13714
13715         * src/nm-device-802-11-wireless.c
13716                 - (supplicant_monitor_start): increase connect/auth timeout to
13717                         20 seconds from 10 seconds
13718
13719 2006-01-30  Dan Williams  <dcbw@redhat.com>
13720
13721         * src/Makefile.am
13722                 - Define LOCALSTATEDIR
13723
13724         * src/nm-device-802-11-wireless.c
13725                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13726                         socket where we want it to
13727
13728         * src/wpa_ctrl.[ch]
13729                 - (wpa_ctrl_open): accept location to put local control socket
13730
13731 2006-01-30  Robert Love  <rml@novell.com>
13732
13733         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13734           get_ip4_string() for "domain_name".
13735
13736 2006-01-30  Robert Love  <rml@novell.com>
13737
13738         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13739           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13740           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13741           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13742           support for "Automatic" pairwise and group cipher configuration by
13743           letting wpa_supplicant handle the details.  Add UI elements, new
13744           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13745           charm.  Note this does more than add a nice feature, it fixes a bug.
13746           Apparently, some people have AP's where the pairwise cipher does not
13747           match the group cipher.  Insane, but true.
13748
13749 2006-01-30  Dan Williams  <dcbw@redhat.com>
13750
13751         * gnome/applet/applet-dbus-devices.c
13752                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13753                         functions, grab device driver name from NetworkManager
13754                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13755
13756         * gnome/applet/applet.c
13757                 - (nmwa_update_info): show driver name in Connection Information
13758                         dialog
13759
13760         * gnome/applet/nm-device.[ch]
13761                 - (network_device_get_driver, network_device_set_driver): add
13762                         accessors for driver name
13763
13764         * gnome/applet/wireless-applet.glade
13765                 - Add line for driver name to Connection Information dialog
13766
13767         * src/nm-dbus-device.c
13768                 - (nm_dbus_device_get_driver): new function to return driver name
13769                 - (nm_dbus_device_methods): hook up driver name function to dbus
13770
13771         * test/nm-tool.c
13772                 - (get_driver_name): new function
13773                 - (detail_device): grab and show driver name
13774
13775 2006-01-30  Robert Love  <rml@novell.com>
13776
13777         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13778           does not parse the markup if it is not part of the format.
13779
13780 2006-01-30  Robert Love  <rml@novell.com>
13781
13782         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13783           FALSE, we have no security options for this dialog, so we throw up
13784           an error dialog instead of a broken passphrase dialog.  Fixes
13785           Novell #138404.
13786         * gnome/applet/wireless-security-manager.c,
13787           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13788           does not add any security options, not even NONE, print a warning
13789           and return FALSE.  This let's functions constructing a dialog bail
13790           out if the device's capabilities and the network's requirements have
13791           zero overlap.
13792
13793 2006-01-27  Robert Love  <rml@novell.com>
13794
13795         * configure.in: Require wpa_supplicant.  Detect location of binary and
13796           use it.  Override with "--with-wpa_supplicant=foo".
13797         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13798           path to wpa_supplicant but use the auto-detected or user-provided
13799           value from configure.
13800
13801 2006-01-27  Robert Love  <rml@novell.com>
13802
13803         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13804           but the DHCP server did not return a hostname, try to look up our
13805           name via DNS and set the system hostname to that.
13806
13807 2006-01-27  Dan Williams  <dcbw@redhat.com>
13808
13809         * src/backends/NetworkManagerRedHat.c
13810                 - Add NM_CONTROLLED system network script support for RH/Fedora
13811
13812 2006-01-27  Dan Williams  <dcbw@redhat.com>
13813
13814         * src/backends/NetworkManagerGentoo.c
13815                 - (nm_system_device_get_disabled): add missing function.
13816                         Gnome BZ #328780
13817
13818 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13819
13820         * configure.in: Added vi in ALL_LINGUAS line.
13821         
13822 2006-01-26  Robert Love  <rml@novell.com>
13823
13824         * src/Makefile.am, src/kernel-types.h: Now that two different source
13825           files are feeling the crack-addled leakage of kernel types such as
13826           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13827           types in user-space -- define a header and include it as needed.
13828         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13829         * src/nm-device-802-3-ethernet.h: Remove defines.
13830         * src/wpa.c: Remove defines and include kernel-types.h.
13831
13832 2006-01-26  Robert Love  <rml@novell.com>
13833
13834         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13835           work.
13836
13837 2006-01-26  Robert Love  <rml@novell.com>
13838
13839         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13840         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13841           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13842           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13843           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13844           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13845           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13846           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13847           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13848           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13849           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13850           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13851           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13852           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13853           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13854           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13855           Kill unused variables, labels, and static functions.  Don't pass
13856           string literals as the format string for printf-like functions.
13857
13858 2006-01-25  Dan Williams  <dcbw@redhat.com>
13859
13860         * gnome/applet/wireless-applet.glade
13861                 - Remove WPA2 Checkbox
13862
13863         * gnome/applet/wireless-security-manager.c
13864                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13865                         This means the Wireless Security menu now has two WPA options,
13866                         one for "WPA Personal" and one for "WPA2 Personal"
13867
13868         * gnome/applet/wso-wpa-psk.[ch]
13869                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13870                         'wpa2' argument to determine WPA version to use
13871                 - (append_dbus_params_func): pass stored WPA version to cipher
13872                         rather than using the (removed) checkbox
13873
13874 2006-01-24  Robert Love  <rml@novell.com>
13875
13876         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13877           before we g_strdup(), not the ultimate string.
13878
13879 2006-01-23  Dan Williams  <dcbw@redhat.com>
13880
13881         * src/NetworkManagerAP.[ch]
13882                 - (nm_ap_new_from_ap): copy original essid too
13883                 - (nm_ap_unref): free original essid
13884                 - (nm_ap_get_orig_essid): new function
13885                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13886                         but keep original essid around too
13887
13888         * src/nm-device-802-11-wireless.c
13889                 - (supplicant_send_network_config): send wpa_supplicant the
13890                         _original_ essid, and not as a string, but in hex.  Should
13891                         allow us to connect to more APs that use wierd character
13892                         encodings for their essids
13893
13894         * utils/nm-utils.[ch]
13895                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13896                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13897                         use the current locale as a hint for what encoding the essid
13898                         might be in.  Obviously not 100% accurate, but the idea here is
13899                         that if a user's locale is ex. ja_JP, they are more likely than
13900                         not to be in Japan, where access points will likely be in some
13901                         Japanese encoding.
13902
13903 2006-01-23  Dan Williams  <dcbw@redhat.com>
13904
13905         * libnm-util/cipher-private.h
13906           libnm-util/cipher.c
13907           libnm-util/cipher.h
13908                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13909
13910 2006-01-23  Robert Love  <rml@novell.com>
13911
13912         Patch by Timo Hoenig <thoenig@suse.de>:
13913         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13914           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13915           by DHCP and pass it to the backends, allowing distribution-specific
13916           behavior with respect to the DHCP-supplied hostname (if nothing else,
13917           some distributions might not want to set the hostname).
13918         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13919           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13920           Also update our NIS behavior.
13921         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13922           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13923           Add stub functions.
13924
13925 2006-01-23  Robert Love  <rml@novell.com>
13926
13927         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13928           gnome-session does autostart.  TODO: We need to install this to
13929           $prefix/share/autostart/.
13930
13931 2006-01-22  Dan Williams  <dcbw@redhat.com>
13932
13933         * src/NetworkManagerAP.[ch]
13934           src/nm-dbus-nmi.c
13935           src/nm-device-802-11-wireless.c         
13936                 - Make nm_ap_get_essid return "const char *"
13937
13938 2006-01-22  Dan Williams  <dcbw@redhat.com>
13939
13940         * src/NetworkManagerAP.[ch]
13941                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13942
13943         * src/NetworkManagerAPList.[ch]
13944                 - (nm_ap_list_diff): removed
13945                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13946                         deal with access points changing essids on us
13947
13948         * src/nm-device-802-11-wireless.c
13949                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13950                         src/NetworkManagerAPList.c
13951                 - (real_can_interrupt_activation): new function; allow interruption
13952                         of device activation if we are waiting for a network key
13953
13954         * src/NetworkManagerPolicy.c
13955                 - (nm_policy_device_change_check): allow interruption of currently
13956                         activating devices if the device allows it.  Previous behavior
13957                         would refuse to activate a just-plugged wired device if a
13958                         wireless device was waiting for a key.
13959
13960         * src/nm-device.[ch]
13961                 - (nm_device_can_interrupt_activation): new function; ask devices
13962                         whether their activation can be interrupted
13963
13964 2006-01-20  Robert Love  <rml@novell.com>
13965
13966         * Makefile.am, configure.in: Add new man subdirectory.
13967         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13968           man/Makefile.am: Add man pages for NetworkManager and its
13969           crime-solving bumbling buddy, NetworkManagerDispatcher.
13970         * man/.cvsignore: Add.
13971         * initscript/Debian/NetworkManager,
13972           initscript/Gentoo/NetworkManager.in,
13973           initscript/RedHat/NetworkManager.in,
13974           initscript/RedHat/NetworkManagerDispatcher.in,
13975           initscript/SUSE/networkmanager-dispatcher.in,
13976           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13977
13978 2006-01-20  Robert Love  <rml@novell.com>
13979
13980         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13981           instead of queuing.  This prevents the running of multiple NM
13982           daemons concurrently, which does not work whatsoever and results in
13983           neither daemon working correctly.  Also, we don't handle queuing and
13984           name-owner-changes, anyhow.
13985
13986 2006-01-20  Robert Love  <rml@novell.com>
13987
13988         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13989         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13990           to sbin, not bin.
13991
13992 2006-01-19  Robert Love  <rml@novell.com>
13993
13994         * configure.in: Require hal 0.5.0 or later.
13995
13996 2006-01-18  Robert Love  <rml@novell.com>
13997
13998         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13999           Allow backends to flag a device (in whatever distro-dependent way
14000           they so desire) as disabled.  NM will ignore any such device.
14001         * src/backends/NetworkManagerDebian.c,
14002           src/backends/NetworkManagerRedHat.c,
14003           src/backends/NetworkManagerSlackware.c: Add stub function
14004           nm_system_device_get_disabled() that always returns FALSE (enabled).
14005         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
14006           SUSE-specific configuration structure.  Fill it in from the
14007           NM_CONTROLLED variable in the system networking scripts.  If this var
14008           exists and is "no", we ignore the device.
14009
14010 2006-01-17  Robert Love  <rml@novell.com>
14011
14012         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
14013           identical for NM.  For a full discussion, see the thread at
14014           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
14015
14016 2006-01-17  Dan Williams  <dcbw@redhat.com>
14017
14018         * src/nm-device.c
14019                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
14020                         function.  Fixes crash when wired DHCP fails.
14021
14022 2006-01-16  Robert Love  <rml@novell.com>
14023
14024         * src/Makefile.am: Don't install NMLoadModules
14025         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
14026           from src/ to test/ as no one uses it anymore.  Note that I would be
14027           fine with removing it altogether.
14028
14029 2006-01-16  Robert Love  <rml@novell.com>
14030
14031         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
14032           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
14033           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
14034           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
14035           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
14036           src/nm-netlink-monitor.c: Don't miss any initializers on structure
14037           declarations, ever.
14038         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
14039           NM_STATE_DISCONNECTED is zero).
14040
14041 2006-01-16  Robert Love  <rml@novell.com>
14042
14043         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
14044           uninitialized parameter and buffer overflow.  Novell #143496.
14045
14046 2006-01-16  Dan Williams  <dcbw@redhat.com>
14047
14048         Apply the PtP Address bits of a patch from Tim Niemueller
14049
14050         * src/nm-ip4-config.[ch]
14051                 - Add ip4_ptp_address member to object
14052                 - (nm_ip4_config_copy): copy ptp address too
14053                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14054                         new functions
14055                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14056                         rather than local tunnel ip address
14057
14058         * src/vpn-manager/nm-vpn-service.c
14059                 - (print_vpn_config): update for PtP address
14060                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14061                         DBusMessageIters in preparation for getting routes from the VPN
14062                         service daemons too
14063
14064         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14065                 - (send_config_info): update for PtP address, clean up code
14066                 - (main): update for PtP address, clean up code, fix typo
14067
14068         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14069                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14070
14071         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14072                 - (pptp_ip_up): update for PtP address
14073
14074         * vpn-daemons/pptp/src/nm-pptp-service.c
14075                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14076
14077         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14078                 - (print_vpn_config): update for PtP address
14079                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14080
14081 2006-01-16  Dan Williams  <dcbw@redhat.com>
14082
14083         * gnome/applet/applet.c
14084                 - (nmwa_add_networks_helper): don't indicate an active network
14085                         if NM is disconnected or asleep
14086
14087 2006-01-16  Dan Williams  <dcbw@redhat.com>
14088
14089         * src/NetworkManagerPolicy.c
14090                 - (nm_policy_device_change_check): switch devices if we lose the link
14091                         on an ethernet device. 
14092
14093 2006-01-16  Dan Williams  <dcbw@redhat.com>
14094
14095         * gnome/applet/wso-wpa-psk-hex.[ch]
14096                 - Renamed -> wso-wpa-psk.[ch]
14097
14098         * gnome/applet/wso-wpa-psk.[ch]
14099                 - New files
14100
14101         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14102                 - Removed, rolled into wso-wpa-psk.[ch]
14103
14104         * gnome/applet/Makefile.am
14105                 - Updated for above changes
14106
14107         * gnome/applet/wireless-applet.glade
14108                 - Consolidate WPA-PSK options into one notebook
14109                         widget, and make dialogs invisible by default
14110                         to fix screen oddities
14111
14112         * gnome/applet/wireless-security-manager.c
14113                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14114                         than both the old hex & passphrase ones
14115
14116 2006-01-16  Dan Williams  <dcbw@redhat.com>
14117
14118         * gnome/applet/other-network-dialog.c
14119                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14120
14121 2006-01-16  Dan Williams  <dcbw@redhat.com>
14122
14123         * gnome/applet/applet.c
14124                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14125                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14126                         prevention to realize window before trying to get server
14127                         time
14128
14129         * gnome/applet/other-network-dialog.c
14130                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14131                         prevention to realize window before trying to get server
14132                         time
14133
14134         * gnome/applet/passphrase-dialog.c
14135                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14136                         prevention to realize window before trying to get server
14137                         time
14138
14139 2006-01-16  Robert Love  <rml@novell.com>
14140
14141         Patch from Timo Hoenig  <thoenig@suse.de:
14142         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14143           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14144           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14145           libnm-util/dbus-helpers.h: add checks whether headers are used
14146           within a C++ build.
14147
14148 2006-01-16  Dan Williams  <dcbw@redhat.com>
14149
14150         * gnome/applet/wireless-security-option.c
14151                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14152
14153 2006-01-16  Dan Williams  <dcbw@redhat.com>
14154
14155         * libnm-util/cipher-wpa-psk-passphrase.c
14156                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14157                         be 8 - 63 characters inclusive
14158
14159 2006-01-16  Dan Williams  <dcbw@redhat.com>
14160
14161         * src/nm-dbus-nm.c
14162                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14163
14164 2006-01-13  Robert Love  <rml@novell.com>
14165
14166         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14167         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14168           modules that do not use an interface.
14169
14170 2006-01-13  Dan Williams  <dcbw@redhat.com>
14171
14172         * src/nm-device.c
14173           src/nm-device.h
14174                 - Allow subclasses to implement deactivate_quickly()
14175                 - (nm_device_deactivate_quickly): call subclass
14176                         deactivate_quickly() methods
14177                 - (nm_device_set_active_link): small cleanups, and don't
14178                         deactivate the device right away because we risk a deadlock
14179                         when called from device thread, waiting for the device
14180                         thread to cancel activation
14181
14182         * src/nm-device-802-11-wireless.c
14183                 - (real_deactivate_quickly): new function
14184                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14185                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14186                         so that we kill the supplicant when we sleep too
14187                 - (supplicant_interface_init): work around naive naming attempts of
14188                         wpa_ctrl when naming sockets
14189
14190 2006-01-13  Dan Williams  <dcbw@redhat.com>
14191
14192         * src/nm-device-802-11-wireless.c
14193                 - (supplicant_cleanup): delete old device control sockets too
14194                 - (supplicant_get_device_socket_path): new function to consolidate
14195                         locations that need a path to a device's control socket
14196
14197 2006-01-12  Robert Love  <rml@novell.com>
14198
14199         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14200           description so that the description is unique for each
14201           pair (device,provider).  Fixes Novell #142773.
14202
14203 2006-01-12  Dan Williams  <dcbw@redhat.com>
14204
14205         * src/nm-device-802-11-wireless.c
14206                 - (supplicant_exec): ensure GError is correctly initialized
14207                         Reported by Diego González (gnome.org #326708)
14208
14209 2006-01-11  Robert Love  <rml@novell.com>
14210
14211         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14212           define if_mii(), open code the same results, and do so without any
14213           type punning.
14214
14215 2006-01-11  Robert Love  <rml@novell.com>
14216
14217         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14218           that wso_foo_new() returned non-NULL.  Instead, only append the new
14219           wso to wsm->options if the wso is non-NULL.  The crux is that we
14220           assume that the relevant key types are implied by WEP and WPA as
14221           appropriate.  To be sure, they should be, but we should not expect
14222           drivers to not be oozing piles of wolf fecal matter.
14223
14224 2006-01-11  Robert Love  <rml@novell.com>
14225
14226         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14227         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14228           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14229           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14230           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14231           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14232           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14233         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14234           comparing values within DBL_EPSILON.  Also fix shadowed variable
14235           usage.
14236
14237 2006-01-11  Dan Williams  <dcbw@redhat.com>
14238
14239         Add options for WPA2 and WPA1+CCMP (AES).
14240
14241         * gnome/applet/wireless-applet.glade
14242                 - Add UI bits for WPA+CCMP
14243
14244         * gnome/applet/other-network-dialog.c
14245                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14246                         and don't allow creation of WPA2 Ad-Hoc networks since
14247                         wpa_supplicant doesn't support them
14248
14249         * gnome/applet/wireless-security-manager.c
14250                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14251                         on to the specific wireless security option being created
14252
14253         * gnome/applet/wireless-security-option.[ch]
14254                 - (wso_wpa_create_key_type_model): new utility function to create
14255                         the model required for WPA Key Type combo box
14256
14257         * gnome/applet/wso-private.h
14258           gnome/applet/wireless-security-option.h
14259                 - Move private function prototypes into wso-private.h
14260
14261         * gnome/applet/wso-wpa-psk-hex.[ch]
14262           gnome/applet/wso-wpa-psk-passphrase.[ch]
14263                 - (append_dbus_params_func): get WPA version from checkbox and pass
14264                         it to the dbus serialization helper
14265                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14266                         key type combo changes
14267                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14268                         model and options
14269
14270         * libnm-util/cipher-wpa-psk-hex.c
14271           libnm-util/cipher-wpa-psk-passphrase.c
14272                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14273                         new function; allow the cipher to be changed after object creation
14274
14275         * src/nm-ap-security-wpa-psk.c
14276                 - (set_description): Do WPA2 descriptions too
14277
14278         * src/nm-ap-security.c
14279                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14280
14281 2006-01-11  Robert Love  <rml@novell.com>
14282
14283         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14284           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14285           from the ifreq structure in lieu of an open coded solution.  Removes
14286           a life-threatening type-punning.
14287         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14288           types, ever, whatsoever, baby.
14289
14290 2006-01-11  Robert Love  <rml@novell.com>
14291
14292         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14293           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14294           assignments to applet->nm_state into a new nmwa_set_state() function
14295           for both cleanliness and to help debugging.
14296
14297 2006-01-10  Robert Love  <rml@novell.com>
14298
14299         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14300           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14301           seconds, exclusive.  That is, we want to sleep x seconds such that
14302           1 < x < 2.
14303
14304 2006-01-10  Robert Love  <rml@novell.com>
14305
14306         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14307           the attr fields according to the example in the email available at
14308           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14309           Conversely, we do have to free 'name', so we do so, fixing a leak.
14310
14311 2006-01-10  Robert Love  <rml@novell.com>
14312
14313         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14314           sure that we close the socket!
14315
14316 2006-01-10  Robert Love  <rml@novell.com>
14317
14318         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14319           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14320           src/nm-device.c: Fix a FIXME!  Reimplement the function
14321           nm_device_update_hw_address() in device subclass variants,
14322           nm_device_802_3_ethernet_set_address() and
14323           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14324           This fixes the existing bug where MAC addresses are all zeros.
14325
14326 2006-01-10  Robert Love  <rml@novell.com>
14327
14328         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14329           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14330           option to give users ability to globally disconnect and put NM to
14331           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14332           clean disconnect.
14333
14334 2006-01-09  Robert Love  <rml@novell.com>
14335
14336         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14337           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14338           User-space does not supply these types, so we have to define them
14339           ourselves.  The relevant kernel maintainer refused to accept a patch
14340           switching these headers to the proper C99 types.
14341
14342 2006-01-09  Dan Williams  <dcbw@redhat.com>
14343
14344         Apply Robert's 'tray icon redo' patch with fixes
14345         * gnome/applet/applet.c
14346           gnome/applet/applet.h
14347                 - Instead of using a menu bar + menu item, simulate menu
14348                         behavior using a popup menu.  Highlight the area around
14349                         the icon more like a menu too, by playing with the
14350                         applet's size requisition
14351
14352 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14353         * libnm-util/dbus-helpers.c
14354           libnm-util/dbus-helpers.h
14355                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14356                         to 'exception_namespace' (:namespace is a keyword in
14357                         C++)
14358
14359 2006-01-09  Dan Williams  <dcbw@redhat.com>
14360
14361         * src/NetworkManagerPolicy.c
14362                 - (nm_policy_device_change_check): don't autoswitch away from
14363                         Ad-Hoc networks, since there's really no concept of
14364                         "link"
14365
14366         * src/nm-dbus-nm.c
14367                 - (nm_dbus_nm_create_wireless_network): mark created networks
14368                         as Ad-Hoc networks
14369
14370         * src/nm-device-802-11-wireless.c
14371                 - (real_activation_success_handler): add user-created Ad-Hoc
14372                         networks to the device's scan list
14373
14374 2006-01-08  Dan Williams  <dcbw@redhat.com>
14375
14376         We now require a patch for wpa_supplicant to support Ad-Hoc
14377         networks:
14378           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14379
14380         * src/nm-device-802-11-wireless.c
14381                 - (supplicant_send_network_config): turn off wpa_supplicant's
14382                         scanning.  Fixes Ad-Hoc networks.
14383
14384 2006-01-08  Dan Williams  <dcbw@redhat.com>
14385
14386         * src/nm-ap-security.c
14387           src/nm-ap-security.h
14388                 - Add a user_created argument to the write_supplicant_config
14389                         functions
14390
14391         * src/nm-ap-security-wep.c
14392           src/nm-ap-security-wpa-psk.c
14393           src/nm-device-802-11-wireless.c
14394                 - Make Ad-Hoc mode somewhat work, at least write the
14395                         correct options to wpa_supplicant
14396
14397 2006-01-08  Dan Williams  <dcbw@redhat.com>
14398
14399         * src/nm-device-802-11-wireless.c
14400                 - Remove unused code from the old device activation path
14401
14402 2006-01-08  Dan Williams  <dcbw@redhat.com>
14403
14404         * libnm-util/dbus-helpers.c
14405                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14406                         dbus when key == NULL
14407
14408 2006-01-08  Dan Williams  <dcbw@redhat.com>
14409
14410         * gnome/applet/nm-gconf-wso-wpa-psk.c
14411                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14412                         correct arguments to nmu_security_deserialize_wpa_psk()
14413
14414         * src/nm-ap-security-wpa-psk.c
14415                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14416                         arguments to nmu_security_deserialize_wpa_psk()
14417
14418 2006-01-08  Dan Williams  <dcbw@redhat.com>
14419
14420         * gnome/applet/wso-wpa-psk-hex.c
14421           gnome/applet/wso-wpa-psk-passphrase.c
14422                 - Hook up the append_dbus_params_func() function
14423
14424 2006-01-08  Dan Williams  <dcbw@redhat.com>
14425
14426         * src/nm-device-802-11-wireless.c
14427                 - (get_wireless_capabilities): correctly detect driver WPA
14428                         capabilities
14429
14430 2006-01-08  Dan Williams  <dcbw@redhat.com>
14431
14432         * gnome/applet/Makefile.am
14433           gnome/applet/wso-wpa-psk-hex.c
14434           gnome/applet/wso-wpa-psk-hex.h
14435                 - New files, implement WPA-PSK Hex key input
14436
14437         * gnome/applet/wireless-applet.glade
14438                 - Change existing wpa-psk stuff to wpa-psk-hex
14439                 - Add new widgets for wpa-psk-passphrase
14440
14441         * gnome/applet/wireless-security-manager.c
14442                 - (wsm_set_capabilities): enable WPA options
14443
14444         * gnome/applet/wso-wpa-psk-passphrase.c
14445                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14446                         for WPA-PSK passphrase
14447
14448 2006-01-08  Dan Williams  <dcbw@redhat.com>
14449
14450         * include/NetworkManager.h
14451                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14452                         applet/info-daemons
14453
14454         * gnome/applet/passphrase-dialog.c
14455                 - Use the constant.  Fixes a bug where the arguments to
14456                         dbus_message_new_error() were incorrect
14457
14458         * src/nm-dbus-nmi.c
14459                 - Use the constant
14460
14461 2006-01-07  Dan Williams  <dcbw@redhat.com>
14462
14463         * src/nm-device-802-11-wireless.c
14464                 - Add a link timeout so we allow the supplicant time to
14465                         reassociate if it can, before we deactivate the card
14466                 - Fix up link status and link updating so things work better
14467
14468 2006-01-07  Dan Williams  <dcbw@redhat.com>
14469
14470         * src/nm-device-802-11-wireless.c
14471                 - Switch over to using wpa_supplicant
14472                 - Add a timeout of 10s for association of the supplicant
14473                 - Start the monitor callback of the supplicant
14474
14475 2006-01-07  Dan Williams  <dcbw@redhat.com>
14476
14477         * src/NetworkManagerUtils.c
14478                 - (nm_utils_supplicant_request,
14479                   nm_utils_supplicant_request_with_check):
14480                         pass correct buffer length to wpa_ctrl_request()
14481
14482 2006-01-07  Dan Williams  <dcbw@redhat.com>
14483
14484         * src/nm-device-private.h
14485           src/nm-device.c
14486                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14487                         this function available to subclasses
14488
14489 2006-01-06  Robert Love  <rml@novell.com>
14490
14491         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14492           user plugging in a network cable signals their preference for to
14493           switch, unless the user explicitly selected a wireless network and
14494           therefore signaled their preference for said wireless network over
14495           wired.  In other words, do exactly what makes sense.
14496
14497 2006-01-06  Robert Love  <rml@novell.com>
14498
14499         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14500           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14501           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14502           showing up in my greps.
14503
14504 2006-01-06  Robert Love  <rml@novell.com>
14505
14506         * gnome/applet/applet-dbus-devices.c,
14507           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14508           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14509           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14510           New Network' both failed in the non-encrypted case because we were
14511           not appending the security options to the DBUS message.  And
14512           'Connect to Other' was also failing in the encrypted case because
14513           we were not incrementing to the next DBUS parameter.  All fixed.
14514           Thanks to dcdw for some debugging help.
14515
14516 2006-01-06  Robert Love  <rml@novell.com>
14517
14518         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14519           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14520           hangup code and add per-device hangup.  Tie last commit into the
14521           GNOME applet.  TODO:  Save, understand, and respond to the state of
14522           each dialup device.
14523
14524 2006-01-06  Robert Love  <rml@novell.com>
14525
14526         Patch by Timo Hoenig <thoenig@suse.de>:
14527         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14528           hangup specific dialup devices.
14529         * src/backends/NetworkManagerDebian.c,
14530           src/backends/NetworkManagerGentoo.c,
14531           src/backends/NetworkManagerRedHat.c,
14532           src/backends/NetworkManagerSlackware.c: Add stub backend.
14533         * src/backends/NetworkManagerRedHat.c,
14534           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14535           hangup specific dialup devices.
14536
14537 2006-01-04  Robert Love  <rml@novell.com>
14538
14539         * gnome/applet/applet-dbus-devices.c,
14540           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14541           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14542           connections.
14543
14544 2006-01-04  Dan Williams  <dcbw@redhat.com>
14545
14546         First dump of wpa_supplicant-related code.  It's not hooked up to
14547         anything yet though.  Thanks to Kay Sievers for
14548         wpa_supplicant_wrapper.c, which formed the basis for this work,
14549         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14550
14551         * src/Makefile.am
14552           src/wpa_ctrl.[ch]
14553                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14554
14555         * src/NetworkManagerUtils.[ch]
14556                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14557                         Add convenience functions for talking to wpa_supplicant
14558
14559         * src/nm-ap-security.[ch]
14560           src/nm-ap-security-wep.c
14561           src/nm-ap-security-wpa-psk.[ch]
14562                 - Update and implement real_write_supplicant_config functions
14563                         in all security types
14564                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14565                         nm-ap-security-wpa-psk.c
14566
14567         * src/nm-device-802-11-wireless.c
14568                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14569                    wpa_supplicant_start, wpa_supplicant_interface_init,
14570                    wpa_supplicant_send_network_config): add functions to talk to
14571                         wpa_supplicant and write network config to it
14572
14573 2006-01-04  Robert Love  <rml@novell.com>
14574
14575         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14576           values so that distribution-backends can differentiate between the
14577           various types (modem, ISDN, et cetera) of dialup device that they
14578           support.
14579         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14580           needed.
14581
14582 2006-01-03  Dan Williams  <dcbw@redhat.com>
14583
14584         * src/NetworkManagerPolicy.c
14585           src/nm-device.[ch]
14586           src/nm-device-802-11-wireless.c
14587                 - Move wireless-specific activation failure and success code
14588                         into wireless device class
14589
14590 2006-01-03  Robert Love  <rml@novell.com>
14591
14592         Patch by Preggna S:
14593         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14594           IPsec does not require that a VPN client be bound to an interface,
14595           due to the use of the in-kernel IPSec bits.  So make the tunnel
14596           device optional.
14597
14598 2006-01-03  Dan Williams  <dcbw@redhat.com>
14599
14600         * src/NetworkManagerAP.c
14601                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14602                         the WPA IE specifies that WEP is supported
14603
14604         * src/nm-device-802-11-wireless.c
14605                 - (process_scan_results): don't mark an AP as supporting WEP
14606                         if there's already other encryption capability info
14607
14608 2006-01-03  Dan Williams  <dcbw@redhat.com>
14609
14610         * src/dhcp-manager/nm-dhcp-manager.c
14611                 - Recognize activation cancellation when waiting for DHCP
14612                         configuration from dhcdbd
14613                 - Ignore non-dhcdbd messages
14614
14615         * src/nm-device.c
14616                 - (real_act_stage3_ip_config_start): return to correct behavior
14617                         of letting the dhcp-manager notify us of failure or
14618                         success rather than incorrectly doing that ourselves
14619                 - (nm_device_activate_stage4_ip_config_get): deal with
14620                         activation cancellation a bit earlier
14621
14622 2006-01-03  Dan Williams  <dcbw@redhat.com>
14623
14624         * src/nm-device-802-11-wireless.c
14625           src/nm-device.[ch]
14626                 - Add hooks to subclasses for stage3_ip_config_start and
14627                         stage4_ip_config_timeout
14628
14629         * src/nm-device-802-3-ethernet.c
14630                 - (real_get_generic_capabilities): make devices NM-supported
14631                         by default
14632
14633 2006-01-03  Robert Love  <rml@novell.com>
14634
14635         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14636           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14637           latter cannot differentiate between error and the address -1; misc.
14638           clean up.
14639
14640 2006-01-03  Dan Williams  <dcbw@redhat.com>
14641
14642         * src/NetworkManager.c
14643                 - Move link-checking/probing into the device subclasses
14644                         themselves
14645
14646         * src/nm-device.[ch]
14647           src/nm-device-802-11-wireless.c
14648           src/nm-device-802-3-ethernet.c
14649                 - Do periodic link checking in device subclasses rather
14650                         than being triggered from NetworkManager.c
14651                 - discover_wireless_capabilities -> get_wireless_capabilities
14652                 - discover_generic_capabilities -> get_generic_capabilities
14653                 - Device subclass activation routines now return a value of type
14654                         NMActStageReturn to indicate what step to perform next
14655                 - Devices now override stage4_get_ip4_config if they choose
14656
14657 2006-01-01  Dan Williams  <dcbw@redhat.com>
14658
14659         * src/nm-device-802-11-wireless.c
14660                 - (real_init): don't chain up to parent init because we don't
14661                         need to do that anymore
14662
14663         * src/nm-device.c
14664                 - (discover_device_type): fix arguments to ioctl() to correctly
14665                         pass interface name
14666                 - (nm_device_new): consolidate generic device initialization into
14667                         nm_device_new()
14668                 - (real_init): remove, consolidated to nm_device_new()
14669                 - (nm_device_deactivate, real_deactivate): consolidate
14670
14671 2006-01-01  Dan Williams  <dcbw@redhat.com>
14672
14673         * src/nm-activation-request.c
14674                 - Change dhcp_state member of the NMActRequest structure
14675                         from guint8 to guint32
14676
14677         * src/dhcp-manager/nm-dhcp-manager.[ch]
14678                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14679                         than guint8 to match the dbus argument.  Turns out we were
14680                         overwriting memory since we were passing in only a guint8
14681
14682 2005-12-31  Dan Williams  <dcbw@redhat.com>
14683
14684         * refactor NMDevice into a GObject-based framework with separate
14685                 objects for wired and wireless.  The following files are no
14686                 longer used but should stick around for a bit so we don't
14687                 loose code through the cracks:
14688                         NetworkManagerDevice.c
14689                         NetworkManagerDevice.h
14690                         NetworkManagerWireless.c
14691                         NetworkManagerWireless.h
14692
14693         The intent here is to allow each device type to manage its own
14694         connection & activation life-cycle, ie to allow wireless devices
14695         to interface with wpa_supplicant, etc.  There's a fair bit of
14696         encapsulation breakage right now that should gradually get pulled
14697         back into each device, along with things like periodic property
14698         updates and link probing.
14699
14700 2005-12-29  Dan Williams  <dcbw@redhat.com>
14701
14702         * include/NetworkManager.h
14703                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14704                         between networks that don't have any encryption at all
14705
14706 2005-12-29  Dan Williams  <dcbw@redhat.com>
14707
14708         * test/test-common.c
14709           test/test-common.h
14710           test/Makefile.am
14711                 - Move to a test-common subdirectory
14712
14713         * test/libnm-util/test-ciphers.c
14714                 - Move test data to test-inputs.h
14715                 - Test WPA ciphers too
14716
14717         * test/libnm-util/test-dbus-helpers.c
14718                 - Test serialization/deserialization of ciphers
14719
14720 2005-12-29  Dan Williams  <dcbw@redhat.com>
14721
14722         * gnome/applet/applet-dbus-devices.c
14723                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14724                         in dbus calls to NM
14725                 - Set capabilities on WirelessNetwork objects
14726                 - Receive and save type-specific device capabilities too
14727
14728         * gnome/applet/applet-dbus-info.c
14729           gnome/applet/applet-dbus.c
14730                 - Passphrase dialog no longer a singleton; new instance gets created
14731                         on each request.  Updates to deal with that.
14732
14733         * gnome/applet/applet.c
14734                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14735                         than single 'encrypted' flag
14736                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14737                         menu items
14738                 - Passphrase dialog updates per above
14739
14740         * gnome/applet/menu-items.c
14741                 - (network_menu_item_update): use AP capabilities to determine
14742                         encryption
14743
14744         * gnome/applet/nm-device.[ch]
14745                 - Add accessors for type-specific device capabilities
14746
14747         * gnome/applet/other-network-dialog.c
14748                 - Rework to respect device capabilities.  i.e., if the device doesn't
14749                         support WPA, remove that option from the security dropdown
14750
14751         * gnome/applet/passphrase-dialog.c
14752                 - Massive rework so that a new instance is created each time
14753                         it's used, to support wireless network capabilities
14754
14755         * gnome/applet/wireless-network.[ch]
14756                 - Add accessors and members for wireless network capabilities
14757
14758         * gnome/applet/wireless-security-manager.[ch]
14759                 - (wsm_set_capabilities): called after creation to set which
14760                         security options get shown to the user
14761
14762 2005-12-29  Dan Williams  <dcbw@redhat.com>
14763
14764         * libnm-util/cipher-wpa-psk-passphrase.c
14765                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14766                         like other ciphers
14767
14768 2005-12-23  Dan Williams  <dcbw@redhat.com>
14769
14770         * gnome/applet/applet-dbus-info.c
14771                 - (nmi_dbus_get_key_for_network): if there's no entry in
14772                         GConf for a network, assume we want a new key
14773                 - (nmi_save_network_info): serialize wireless security info
14774                         into GConf so its saved
14775
14776         * src/nm-dbus-nm.c
14777                 - Fix warning as we may not be passed security info when
14778                         connecting to a wireless network
14779
14780 2005-12-23  Dan Williams  <dcbw@redhat.com>
14781
14782         * gnome/applet/applet-compat.c
14783                 - Fix bugs in GConf entry conversion
14784
14785         * gnome/applet/applet-dbus-info.c
14786                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14787                         list being zero-length
14788
14789         * libnm-util/cipher-*
14790           libnm-util/dbus-helpers.c
14791                 - All ciphers must now return hashed keys as UTF-8 valid
14792                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14793                         through dbus as strings too.
14794                 - Consolidate various functions that do bin->hex and hex->bin
14795                         conversion into cipher.c
14796
14797         * src/nm-ap-security-wep.c
14798           src/nm-ap-security-wpa-psk.c
14799                 - Handle NULL keys since we may not know keys right away
14800
14801         * src/nm-dbus-nmi.c
14802                 - (nm_dbus_get_network_data_cb): actually advance to the start
14803                         of the wireless security info before we try to deserialize it
14804
14805         * libnm-util/test-ciphers.c
14806                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14807
14808 2005-12-22  Dan Williams  <dcbw@redhat.com>
14809
14810         * gnome/applet/applet-compat.[ch]
14811                 - Convert old-format GConf and keyring entries
14812                         when the applet starts up.
14813
14814         * gnome/applet/applet.c
14815                 - (nmwa_get_instance): Call the conversion function
14816                         on startup before dbus is initialized
14817
14818 2005-12-22  Dan Williams  <dcbw@redhat.com>
14819
14820         * gnome/applet/applet-dbus-info.c
14821                 - Remove nmi_dbus_create_error_message() in favor of
14822                         nmu_create_dbus_error_message()
14823                 - (nmi_dbus_get_network_properties): Error message cleanups
14824                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14825                         gconf key rather than 'addresses', since they really are BSSIDs
14826                 - (nmi_dbus_get_network_properties): Dispose of the security
14827                         object when we're done with it
14828
14829 2005-12-21  Dan Williams  <dcbw@redhat.com>
14830
14831         * Consolidate the info-daemon's "updateNetworkInfo" and
14832                 "addNetworkAddress" calls into just "updateNetworkInfo"
14833
14834 2005-12-21  Dan Williams  <dcbw@redhat.com>
14835
14836         * Make connection after key retrieval work again
14837
14838 2005-12-21  Dan Williams  <dcbw@redhat.com>
14839
14840         * gnome/applet/nm-gconf-wso*
14841                 - Make the serialize functions return gboolean
14842                         rather than int
14843
14844         * gnome/applet/nm-gconf-wso.c
14845                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14846                         parent class handling so we don't segfault
14847
14848         * src/NetworkManagerAP.[ch]
14849                 - (nm_ap_get_capabilities): new function, return capabilities
14850                         now that something can use them
14851                 - (nm_ap_set_encrypted): assume that an access point supports
14852                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14853                         we even tell whether it just supports WEP40?
14854
14855         * src/NetworkManagerDevice.c
14856                 - (ap_need_key): resurrect and update for the New World Order
14857                 - (nm_device_wireless_get_activation_ap): if we're not given
14858                         security info to use, create some based on access point
14859                         capabilities
14860
14861         * src/nm-ap-security-wep.c
14862                 - (nm_ap_security_wep_new_from_ap): create a new object
14863                         based on a certain access point's capabilities
14864
14865         * src/nm-ap-security.c
14866                 - (nm_ap_security_new_from_ap): delegate creation of a new
14867                         object based on access point capabilities to a subclass
14868                 - (nm_ap_security_copy_properties): don't segfault if we
14869                         don't have a key yet
14870
14871         * src/nm-dbus-nm.c
14872                 - (nm_dbus_nm_set_active_device): provide more informative
14873                         output when errors occur.  Also construct security info
14874                         for a given access point if we weren't given any
14875
14876 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14877
14878         * configure.in: Added Lithuanian to ALL_LINGUAS.
14879
14880 2005-12-21  Dan Williams  <dcbw@redhat.com>
14881
14882         * test/libnm-util
14883                 - Add some testcases for WEP ciphers
14884
14885 2005-12-17  Dan Williams  <dcbw@redhat.com>
14886
14887         * Fix bugs
14888
14889 2005-12-17  Dan Williams  <dcbw@redhat.com>
14890
14891         * include/NetworkManager.h
14892                 - Finally kill NMEncKeyType
14893
14894         * gnome/applet/applet-dbus-info.c
14895                 - (nmi_save_network_info): convert to NMGConfWSO
14896
14897         * gnome/applet/nm-gconf-wso-*.c
14898                 - Implement gconf serialization functions
14899
14900         * src/NetworkManagerPolicy.c
14901                 - (nm_policy_activation_finish): fix up meaning of
14902                         automatic/user_requested
14903
14904 2005-12-17  Dan Williams  <dcbw@redhat.com>
14905
14906         * gnome/applet/*
14907                 - More applet cleanups
14908                 - Use the dbus-method-dispatcher
14909
14910         * libnm-util/dbus-method-dispatcher.[ch]
14911                 - Generalize the implementation from NM in
14912                         NetworkManagerUtils.c
14913
14914 2005-12-16  Dan Williams  <dcbw@redhat.com>
14915
14916         * gnome/applet/*
14917                 - Fix up the passphrase dialog to use all the
14918                         WirelessSecurityOption stuff (untested)
14919
14920 2005-12-16  Dan Williams  <dcbw@redhat.com>
14921
14922         * Move nm_gconf_get_*_helper() functions to separate files,
14923                 gconf-helpers.c & gconf-helpers.h
14924
14925         * New NMGConfWSO objects for managing the gconf side of things.
14926                 Eventually these should be merged with the
14927                 WirelessSecurityOption objects and a common base (that can
14928                 serialize/deserialize from dbus & gconf) should be
14929                 refactored out, but for now they are separate.
14930
14931 2005-12-16  Robert Love  <rml@novell.com>
14932
14933         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14934           binaries unless they exist (nm_spawn_process() emits a warning if
14935           asked to spawn a non-existant process).
14936
14937 2005-12-16  Dan Williams  <dcbw@redhat.com>
14938
14939         * gnome/applet/applet-dbus-info.c
14940                 - Clean up lots of gconf-related code
14941
14942 2005-12-16  Robert Love  <rml@novell.com>
14943
14944         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14945
14946 2005-12-16  Dan Williams  <dcbw@redhat.com>
14947
14948         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14949
14950         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14951                 bits still to be done)
14952
14953 2005-12-16  Dan Williams  <dcbw@redhat.com>
14954
14955         * Finally move info-daemon related stuff out of
14956                 NetworkManagerDbus.c to nm-dbus-nmi.c
14957
14958 2005-12-16  Dan Williams  <dcbw@redhat.com>
14959
14960         * Kill auth_method for access points, since that's now done
14961                 by NMAPSecurity objects
14962
14963         * Add a copy-constructor of sorts to NMAPSecurity
14964                 (how do you do this properly in glib???)
14965
14966 2005-12-15  Dan Williams  <dcbw@redhat.com>
14967
14968         * Exorcise encryption key hashing on APs
14969         * Use libnm-util's serialization/deserialization in both the
14970                 applet and NM
14971         * Random other stuff
14972
14973 2005-12-15  Robert Love  <rml@novell.com>
14974
14975         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14976           is being added to the icon naming spec, so let's use that (Tango CVS
14977           has the icon).  Because it is new, however, we fall back to the
14978           current "gnome-lockscreen" if the new icon is not around, thus
14979           behavior is the same.
14980         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14981           factory junk.
14982
14983 2005-12-15  Robert Love  <rml@novell.com>
14984
14985         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14986           well, help to give.  Couple other misc. bits.
14987
14988 2005-12-15  Dan Williams  <dcbw@redhat.com>
14989
14990         * libnm-util/dbus-helpers.[ch]
14991                 - Make this the one-stop-shop for serializing/deserializing
14992                         AP & connection security settings over dbus.  Both NM
14993                         and applets should use this to ensure consistent dbus
14994                         API going forwared.
14995
14996 2005-12-15  Robert Love  <rml@novell.com>
14997
14998         Patch by Timo Hoenig  <thoenig@suse.de>:
14999         * src/NetworkManagerDbus.c
15000                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
15001                         if HAL jumps off the system bus.  Otherwise libdbus
15002                         (dbus_connection_dispatch) will try to run the filter
15003                         function of our libhal context which is already freed.
15004
15005 2005-12-15  Alexander Shopov  <ash@contact.bg>
15006
15007         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
15008
15009 2005-12-14  Dan Williams  <dcbw@redhat.com>
15010
15011         * include/NetworkManager.h
15012           src/NetworkManagerWireless.c
15013                 - Rearrange 802.11 wireless-specific capabilities again
15014
15015         * src/Makefile.am
15016                 - Forgot to add wpa.c/wpa.h to the makefiles
15017
15018         * src/NetworkManagerAP.[ch]
15019                 - Implement access point capabilities and parse the
15020                         WPA/RSN IEs into the capability bitfield
15021                 - Switch the "encrypted" attribute to utilize the bitfield
15022                         and capabilities rather than being independent
15023
15024         * src/NetworkManagerDevice.c
15025                 - (nm_device_wireless_get_activation_ap): break it horribly
15026                         until we can push NMAPSecurity objects into access point
15027                         objects and through the activation chain
15028                 - Stuff WPA & RSN IEs into AP capabilities
15029
15030         * src/nm-dbus-nm.c
15031                 - Take a shot at actually making setActiveDevice work
15032
15033         * src/wpa.[ch]
15034                 - Make the API a bit saner
15035
15036 2005-12-14  Dan Williams  <dcbw@redhat.com>
15037
15038         * include/NetworkManager.h
15039                 - Add 802.11-specific capability for 802.1x key
15040                         management
15041
15042         * src/wpa.[ch]
15043                 - Pull in WPA IE and RSN IE parsing code from
15044                         wpa_supplicant so we can determine access point
15045                         capabilities
15046                 - Move WPA-related constants here from NetworkManagerAP.h
15047                         and NetworkManagerDevice.c
15048
15049         * src/NetworkManagerDevice.c
15050           src/NetworkManagerAP.[ch]
15051                 - Use WPA-related constants from wpa.h
15052
15053 2005-12-14  Dan Williams  <dcbw@redhat.com>
15054
15055         * include/NetworkManager.h
15056                 - Update and split 802.11 wireless-specific capabilities from
15057                         generic device capabilities
15058
15059         * src/NetworkManagerDevice.c
15060           src/NetworkManagerDevicePrivate.h
15061                 - (nm_device_wireless_discover_capabilities): Move 802.11
15062                         wireless-specific capability checks to
15063                         NetworkManagerWireless.c
15064                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15065                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15066
15067         * src/NetworkManagerWireless.[ch]
15068                 - (nm_802_11_wireless_discover_capabilities): Check extended
15069                         802.11 wireless-specific capabilities of the driver
15070
15071 2005-12-14  Robert Love  <rml@novell.com>
15072
15073         Patch from Stefan Scheler <sscheler@suse.de>:
15074         * src/NetworkManagerDevice.c: call backend code to activate and
15075           deactivate NIS.
15076         * src/NetworkManagerSystem.h: add new NIS interfaces.
15077         * src/backends/NetworkManagerDebian.c,
15078           src/backends/NetworkManagerGentoo.c,
15079           src/backends/NetworkManagerRedHat.c,
15080           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15081           support.
15082         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15083
15084 2005-12-14  Dan Williams  <dcbw@redhat.com>
15085
15086         * src/nm-ap-security*.[ch]
15087                 - Add AP security abstractions to NetworkManager
15088
15089         * src/nm-dbus-device.c
15090                 - Begin to parse new format dbus messages from the applet
15091                         and construct an AP security object from the message
15092
15093         * libnm-util/dbus-helpers.c
15094                 - Use message iters so we can append the key as a fixed
15095                         array of bytes, which actually works rather than
15096                         using dbus_message_append_args() as we were before
15097
15098 2005-12-14  Dan Williams  <dcbw@redhat.com>
15099
15100         * src/NetworkManagerDbus.c
15101           gnome/applet/applet-dbus.c
15102                 - Fix up dbus service replacement options.  The applet
15103                         should allow replacement, NM itself should not.
15104
15105 2005-12-13  Robert Love  <rml@novell.com>
15106
15107         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15108           Instead, fail silently if config is NULL by not asserting and not
15109           returning FALSE.  Also, make sure we always fclose() the file.
15110
15111 2005-12-13  Robert Love  <rml@novell.com>
15112
15113         Patch by Stefan Scheler <sscheler@suse.de>:
15114         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15115            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15116            via DHCP.  Still need the backends to commit the NIS domain name and
15117            and servers to yp.conf as needed.
15118
15119 2005-12-13  Robert Love  <rml@novell.com>
15120
15121         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15122           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15123
15124 2005-12-13  Robert Love  <rml@novell.com>
15125
15126         * src/named-manager/nm-named-manager.c: Don't unref the config until
15127           after we call rewrite_resolv_conf(), because get_last_default_domain()
15128           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15129           `config != NULL' failed" assertion failures and "Could not commit DNS
15130           changes" warnings.
15131
15132 2005-12-12  Dan Williams  <dcbw@redhat.com>
15133
15134         * libnm-util/dbus-helpers.[ch]
15135           libnm-util/Makefile.am
15136                 - new helper calls to consolidate locations where
15137                         NM's setDevice method is called
15138
15139         * gnome/applet/applet-dbus-devices.c
15140           gnome/applet/wireless-security-option.c
15141           gnome/applet/wso-*
15142                 - Implement dbus message param append function for
15143                         all wireless security options
15144
15145 2005-12-12  Robert Love  <rml@novell.com>
15146
15147         * libnm-util/cipher-wep-passphrase.c,
15148           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15149           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15150           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15151           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15152           When handling keys, we don't care what the sign is.  The compiler
15153           guarantees us that we get our 8-bits, which is all we care about.
15154         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15155
15156 2005-12-12  Dan Williams  <dcbw@redhat.com>
15157
15158         * gnome/applet/applet-dbus-devices.[ch]
15159           gnome/applet/applet.c
15160           gnome/applet/other-network-dialog.c
15161           gnome/applet/wireless-security-manager.[ch]
15162           gnome/applet/wireless-security-option.[ch]
15163           gnome/applet/wso-*
15164                 - Push the wireless security options further into the applet
15165
15166 2005-12-12  Robert Love  <rml@novell.com>
15167
15168         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15169           return any name servers.  That is perfectly valid.  (Novell #134369).
15170
15171 2005-12-11  Dan Williams  <dcbw@redhat.com>
15172
15173         * gnome/applet/wso-*
15174           gnome/applet/wireless-security-option.*
15175           gnome/applet/Makefile.am
15176                 - split each security option out so we can eventually
15177                         have each one build up their own dbus message
15178                         arguments to send to NM
15179
15180 2005-12-11  Dan Williams  <dcbw@redhat.com>
15181
15182         * Make validation of the key work correctly
15183
15184 2005-12-11  Dan Williams  <dcbw@redhat.com>
15185
15186         * Hook more bits of the Other Network Dialog up to the
15187                 wireless security manager stuff, and restructure
15188                 bits of the dialog so there's less code.
15189
15190 2005-12-10  Dan Williams  <dcbw@redhat.com>
15191
15192         * gnome/applet/Makefile.am
15193                 - Add libnm-util to includes
15194                 - Add libnm-util to link list
15195                 - Add wireless-security-common.* to compile list
15196
15197         * gnome/applet/other-network-dialog.c
15198                 - Convert to using the WirelessSecurityManager code and
15199                         widgets
15200
15201         * gnome/applet/passphrase-dialog.c
15202                 - Comment out references to stuff in the glade file that
15203                         cause runtime errors until it can be fixed up
15204                         to use the WirelessSecurityManager code
15205
15206         * gnome/applet/wireless-applet.glade
15207                 - Rename some widgets
15208                 - Add widgets for the WirelessSecurityManager code
15209                 - Remove passphrase-related stuff since that's now
15210                         handled by the WirelessSecurityManager code
15211
15212 2005-12-10  Dan Williams  <dcbw@redhat.com>
15213
15214         * gnome/applet/applet-dbus-devices.c
15215                 - Print out error message details for dbus pending call callbacks
15216                 - Move nmwa_dbus_update_devices() up
15217
15218         * gnome/applet/applet-dbus-vpn.c
15219                 - Print out error message details for dbus pending call callbacks
15220
15221 2005-12-10  Dan Williams  <dcbw@redhat.com>
15222
15223         * libnm-util/*
15224                 - More fixups
15225                 - Remove cipher-manager.* because we don't need it
15226                 - Forgot to add gnome-keyring-md5 files to compile list
15227
15228 2005-12-09  Dan Williams  <dcbw@redhat.com>
15229
15230         * libnm-util/*
15231           configure.in
15232           Makefile.am
15233                 - Add a utility library for clients of NetworkManager.  It's
15234                         only targetted at applets for the moment, and contains
15235                         a generalized 802.11 cipher framework for different
15236                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15237
15238 2005-12-09  Robert Love  <rml@novell.com>
15239
15240         * src/NetworkManagerDevice.c: handle error better in
15241           nm_device_set_mode().
15242
15243 2005-12-08  Robert Love  <rml@novell.com>
15244
15245         * include/NetworkManager.h: add WPA capabilities constants
15246         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15247           or WPA2 and add the capabilities bits as appropriate.
15248
15249 2005-12-08  Robert Love  <rml@novell.com>
15250
15251         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15252           NetworkManagerDispatcher.
15253         * configure.in, initscript/SUSE/.cvsignore,
15254           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15255           initscript.
15256
15257 2005-12-08  Robert Love  <rml@novell.com>
15258
15259         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15260
15261 2005-12-08  Robert Love  <rml@novell.com>
15262
15263         * src/NetworkManagerDevice.c: We want to fall back on and default to
15264           IW_MODE_AUTO, not -1, which is more in line with our previous
15265           behavior.  Otherwise, we try to set the wireless mode to -1 in
15266           nm_device_set_mode().
15267
15268 2005-12-07  Robert Love  <rml@novell.com>
15269
15270         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15271           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15272           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15273           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15274           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15275           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15276           zero.
15277
15278 2005-12-07  Robert Love  <rml@novell.com>
15279
15280         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15281           supplied IP is invalid, fall back to DHCP.
15282
15283 2005-12-07  Dan Williams  <dcbw@redhat.com>
15284
15285         * Convert NETWORK_MODE_* constants to IW_MODE_*
15286         * Make all the get_mode/set_mode functions take and return 'int'
15287         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15288
15289 2005-12-07  Robert Love  <rml@novell.com>
15290
15291         * src/NetworkManagerDevice.c: strncpy() buffer check.
15292         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15293
15294 2005-12-06  Dan Williams  <dcbw@redhat.com>
15295
15296         * gnome/applet/applet-dbus.c
15297                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15298
15299         * gnome/applet/applet-dbus-vpn.c
15300                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15301                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15302                         to TRUE here if stage was ACTIVATED
15303
15304 2005-12-06  Dan Williams  <dcbw@redhat.com>
15305
15306         * Change nm_device_is_* functions to better names:
15307                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15308                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15309
15310 2005-12-06  Dan Williams  <dcbw@redhat.com>
15311
15312         * Change naming of NMDeviceType to something more sensible:
15313                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15314                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15315                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15316
15317 2005-12-06  Dan Williams  <dcbw@redhat.com>
15318
15319         * Move NetworkManager.h -> include/NetworkManager.h
15320         * Split out VPN stuff into include/NetworkManagerVPN.h
15321         * Fix up makefiles to include new location
15322         * Fix up sources to include NetworkManagerVPN.h
15323
15324 2005-12-06  Dan Williams  <dcbw@redhat.com>
15325
15326         Various changes in the applet to move VPN connection "state" -> "stage",
15327         which it actually is.  I'd like to change the signal as well when we
15328         break compat in the near future.
15329
15330 2005-12-06  Dan Williams  <dcbw@redhat.com>
15331
15332         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15333         * initscript/Slackware/rc.networkmanager
15334                 - Cosmetic fix
15335
15336         * src/backends/NetworkManagerSlackware.c
15337                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15338                         interfaces
15339
15340 2005-12-05  Robert Love  <rml@novell.com>
15341
15342         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15343           to free, particularly here as it just barfs.
15344
15345 2005-12-05  Dan Williams  <dcbw@redhat.com>
15346
15347         * gnome/applet/applet-dbus.c
15348                 - Work with dbus 0.6 too
15349
15350 2005-12-03  Dan Williams  <dcbw@redhat.com>
15351
15352         * src/NetworkManagerUtils.[ch]
15353           src/nm-ip4-config.c
15354                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15355                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15356
15357 2005-12-01  Robert Love  <rml@novell.com>
15358
15359         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15360           need a NULL for the '...' parameter, too, to fill the so-called
15361           sentinel.
15362
15363 2005-12-01  Robert Love  <rml@novell.com>
15364
15365         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15366           interface is already gone, so don't call rtnl_link_change() to down
15367           it (which will segfault, anyhow).
15368
15369 2005-11-22  Robert Love  <rml@novell.com>
15370
15371         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15372           gateway is not set, just print a little note.  Configurations without
15373           gateways are valid.
15374
15375 2005-11-22  Robert Love  <rml@novell.com>
15376
15377         * README: update
15378
15379 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15380
15381         * configure.in: Added Finnish translation to ALL_LINGUAS
15382
15383 2005-11-14  Robert Love  <rml@novell.com>
15384
15385         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15386           Niemueller <tim@niemueller.de>.
15387
15388 2005-11-08  Dan Williams  <dcbw@redhat.com>
15389
15390         Patch from Bill Moss <bmoss@clemson.edu>
15391         * src/NetworkManagerDevice.c
15392                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15393                         of nm_policy_schedule_activation_finish() to prevent a
15394                         race condition that causes the link to be dropped
15395
15396 2005-11-08  Dan Williams  <dcbw@redhat.com>
15397
15398         Patch from Bill Moss <bmoss@clemson.edu>
15399         * src/NetworkManagerAPList.c
15400           src/NetworkManagerDevice.c
15401           src/NetworkManagerDbus.c
15402                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15403                         we get more readable ether/mac addresses
15404
15405 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15406
15407         * gnome/applet/main.c: Don't set the restart command.  This fixes
15408         the issue where the restart command was getting copies of all its
15409         arguments for each time the applet was restarted.
15410
15411 2005-11-02  Robert Love  <rml@novell.com>
15412
15413         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15414           if the widget state differs from our saved state.  This ensures we
15415           do not enter an endless loop of death and destruction.  Also, this
15416           guarantees us that we enforce the widget state.
15417
15418 2005-11-02  Robert Love  <rml@novell.com>
15419
15420         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15421         * gnome/applet/applet-dbus-devices.c: invoke the new function
15422           nmwa_enable_wireless_set_active() to ensure that the state of the
15423           'Enable Wireless' checkbox matches the daemon's state.  This is a
15424           concern because the daemon remembers the state.
15425
15426 2005-11-02  Robert Love  <rml@novell.com>
15427
15428         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15429           Enabled", as checkboxes should be actions/commands not positive
15430           statements, otherwise they are confusing in the unselected case.  See
15431           examples in GNOME HIG, Chapter 6.
15432
15433 2005-11-02  Robert Love  <rml@novell.com>
15434
15435         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15436           show a list of wireless networks or the wireless devices or the
15437           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15438           a bad bug: If wireless is disabled and the user picks a wireless
15439           network, NM will switch to the network, only to immediately switch
15440           back, as wireless is disabled.  This also reassures people that NM
15441           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15442
15443 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15444
15445         * gnome/applet/applet.c:
15446         * gnome/applet/applet.h:
15447         Partial backout of Dan's timeout animation patch.
15448         Timeout IDs cannot legally be 0, so revert the code in place to handle
15449         a timeout ID of 0 to denote the timeout isn't running.
15450
15451 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15452
15453         * src/NetworkManagerPolicy.c:
15454         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15455
15456 2005-10-28  Robert Love  <rml@novell.com>
15457
15458         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15459           "Import Saved Configuration..." to make it clear that importing is
15460           not the next step, but an option.  As an aside, a nice TODO would be
15461           to move Importing out of the vpn-specific dialog and into the main
15462           property editor, as Importing goes with Adding, but that will require
15463           some rearchitecting of the VPN stuff I suspect.
15464
15465 2005-10-27  Dan Williams  <dcbw@redhat.com>
15466
15467         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15468         we should replace most of the distro-specific backend code
15469         with libnl stuff.
15470
15471         Get it here:  http://people.suug.ch/~tgr/libnl/
15472
15473         * configure.in
15474           src/Makefile.am
15475                 - Add checks for libnl pkgconfig file
15476                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15477
15478         * src/NetworkManagerSystem.c
15479           src/nm-ip4-config.[ch]
15480                 - Use libnl rather than ioctl() for most things
15481                 - Remove unused functions
15482
15483 2005-10-27  Robert Love  <rml@novell.com>
15484
15485         * src/backends/NetworkManagerSuSE.c: fix warning message text
15486
15487 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15488
15489         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15490
15491 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15492
15493         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15494         project page <http://www.gnome.org/projects/NetworkManager/>
15495
15496 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15497
15498         * gnome/applet.c: Also use translator credits if we don't have
15499         the new GtkAboutDialog (older versions of GTK+)
15500
15501 2005-10-26  Robert Love  <rml@novell.com>
15502
15503         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15504           failure; correct usage text for "--no-daemon"
15505
15506 2005-10-25  Dan Williams  <dcbw@redhat.com>
15507
15508         * src/NetworkManagerDevice.c
15509                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15510                         no scan results
15511                 - (free_process_scan_cb_data): unref the device when freeing results
15512                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15513                         so we don't unref the device underneath ourselves
15514
15515 2005-10-25  Dan Williams  <dcbw@redhat.com>
15516
15517         * Back out 2005-10-24 commit from Tor Krill.  Patch
15518                 causes nameservers never to be removed from named.
15519
15520 2005-10-24  Dan Williams  <dcbw@redhat.com>
15521
15522         Clean up wireless scanning and wireless link probing.
15523
15524         * src/NetworkManagerDevice.c
15525                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15526                         just see if there's an activation request on the device, and check the
15527                         current link against the activation request access point's ESSID.
15528                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15529                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15530                         don't call process_scan_results() on zero-length data
15531                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15532                         15 seconds (from 10)
15533
15534 2005-10-24  Dan Williams  <dcbw@redhat.com>
15535
15536         Cleanup some applet stuff:
15537
15538         - Animation timeouts.  If NM died while the applet was animating,
15539                 the applet would not hide itself.  This is now fixed.
15540
15541         - Remove some dead code
15542
15543         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15544                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15545
15546         - Track animation timeout using a gboolean rather than the timeout's
15547                 ID, since timeout IDs can legally be 0.
15548
15549 2005-10-24  Dan Williams  <dcbw@redhat.com>
15550
15551         * src/backends/interface_parser.c
15552                 - Add void to function declarations that need it
15553                         to match patch from Engin AYDOGAN
15554
15555         * src/backends/interface_parser.h
15556                 - Remove unused prototype for ifparser_interfaces()
15557
15558         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15559         * src/backends/interface_parser.h:
15560                 - Compile fixes for gcc 4.0.2 (add void)
15561
15562 2005-10-24  Dan Williams  <dcbw@redhat.com>
15563
15564         Patch from Tor Krill <tor@krill.nu>
15565         * src/named-manager/nm-named-manager.c
15566                 - Write more than just the first nameserver to /etc/resolv.conf
15567                 - Write out valid /etc/resolv.conf on exit
15568
15569 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15570
15571         * gnome/applet/applet-dbus-vpn.c:
15572         Get rid of spurious newlines in debug console output
15573
15574 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15575
15576         * src/backends/NetworkManagerGentoo.c:
15577         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15578
15579 2005-10-20  Robert Love  <rml@novell.com>
15580
15581         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15582           direct comparison of floating point values, which is never correct.
15583           Also some misc. cleanup.
15584
15585 2005-10-19  Robert Love  <rml@novell.com>
15586
15587         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15588
15589 2005-10-19  Robert Love  <rml@novell.com>
15590
15591         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15592           sensitivity of the buttons.  Specificaly, do the right thing if
15593           there are no entries.
15594
15595 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15596
15597         * configure.in: Update check for adequate wireless-tools
15598         with an AC_TRY_COMPILE for the new symbols we use.
15599
15600 2005-10-19  Dan Williams  <dcbw@redhat.com>
15601
15602         * src/NetworkManagerDevice.c
15603                 - (process_scan_results): don't drop the last (or only)
15604                         access point we see
15605
15606 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15607
15608         * src/backends/NetworkManagerSlackware.c:
15609         Patch from Nico <lordllucifer@gmail.com>
15610                 - Update the Slackware backend.
15611
15612 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15613
15614         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15615         if we've got GLib 2.8.0
15616
15617 2005-10-18  Robert Love  <rml@novell.com>
15618
15619         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15620           function nm_schedule_state_change_signal_broadcast() when we
15621           deactivate a device, too.
15622
15623 2005-10-18  Robert Love  <rml@novell.com>
15624
15625         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15626           be used uninitialized.
15627
15628 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15629
15630         * test/libnm_glib_test.c: Test unregistering, too.
15631
15632 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15633
15634         * configure.in: Bump to 0.5.0
15635
15636 2005-10-17  Dan Williams  <dcbw@redhat.com>
15637
15638         * NetworkManager.h
15639                 - Remove WPA-related constants so they aren't part of the
15640                         upcoming release.
15641
15642 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15643
15644         * gnome/applet/applet.c:
15645         * gnome/applet/applet.h:
15646         Desensitize the 'Connection Information' menu item when there is
15647         no active connection.
15648
15649 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15650
15651         * gnome/libnm_glib/libnm_glib.c:
15652         Make libnm_glib_unregister_callback () actually unregister the callback
15653
15654 2005-10-17  Robert Love  <rml@novell.com>
15655
15656         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15657           two seconds -- tries is updated every 1/10 of a second, not every
15658           second..
15659
15660 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15661
15662         * gnome/applet/applet-dbus-info.c:
15663         Let D-BUS know that we haven't handled a message when we haven't.
15664
15665 2005-10-17  Robert Love  <rml@novell.com>
15666
15667         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15668           in order to remain 64-bit clean.
15669
15670 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15671
15672         * gnome/applet/applet-dbus-info.c:
15673         Find network encryption keys asynchronously
15674
15675 2005-10-17  Robert Love  <rml@novell.com>
15676
15677         * src/backends/NetworkManagerDebian.c,
15678           src/backends/NetworkManagerRedHat,
15679           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15680           comment delimiter.
15681
15682 2005-10-17  Robert Love  <rml@novell.com>
15683
15684         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15685           "/etc"
15686
15687 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15688
15689         * src/NetworkManagerDevice.c: (process_scan_results)
15690         Fix logic that checks to see whether we have an ESSID.
15691
15692 2005-10-15  Dan Williams  <dcbw@redhat.com>
15693
15694         Move scanning code into NetworkManager rather than use iwlib's
15695         iw_scan() function, so that we can figure out AP capabilities.
15696
15697         * NetworkManager.h
15698                 - Add AP capability bits
15699
15700         * src/NetworkManagerAP.[ch]
15701                 - Add capability field to NMAccessPoint structure
15702                 - Add WPA & RSN Information Element fields and accessor
15703                         functions to NMAccessPoint
15704
15705         * src/NetworkManagerDevice.c
15706                 - Remove usage of iw_scan
15707                 - Add scanning code to NetworkManager rather than use
15708                         iw_scan() from iwlib
15709
15710         * src/NetworkManagerUtils.[ch]
15711                 - (nm_dispose_scan_results): remove, unused
15712
15713 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15714
15715         * gnome/libnm_glib/libnm_glib.c:
15716         * gnome/libnm_glib/libnm_glib.h:
15717         Use guint instead of gint for callback IDs.
15718
15719 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15720
15721         * gnome/applet/applet.c:
15722         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15723         every 1000ms.  It will unconditionally call nmwa_update_state which
15724         kills the existing animation timeout and registers a new one with a
15725         callback to draw a new frame every 100ms.  There are 11 connecting
15726         icon frames, so the last 2 frames kept getting dropped.  Only reset
15727         the animation timeout if we aren't animating.
15728
15729 2005-10-11  Dan Williams  <dcbw@redhat.com>
15730
15731         * gnome/applet/applet-dbus-devices.c
15732                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15733                         We want to grab the product & vendor from net.physical_dev
15734                         rather than info.parent.
15735
15736 2005-10-11  Dan Williams  <dcbw@redhat.com>
15737
15738         * src/NetworkManagerDevice.c
15739                 - Use the driver's WE version for scanning rather than
15740                         the WE version NM was compiled with.  Fixes random
15741                         crashes in iw_scan () in iwlib.
15742
15743 2005-10-10  Dan Williams  <dcbw@redhat.com>
15744
15745         * Remove nm_system_load_device_modules() from backend files
15746                 and from NetworkManager.c
15747
15748 2005-10-10  Dan Williams  <dcbw@redhat.com>
15749
15750         * src/NetworkManagerPolicy.c
15751                 - Fix some bugs introduced by the capabilities patch
15752
15753 2005-10-10  Dan Williams  <dcbw@redhat.com>
15754
15755         * gnome/applet/applet-dbus-info.c
15756                 - (nmi_dbus_get_network_key): hide the menu when putting up
15757                         the keyring dialog.  (not sure if the code is right...)
15758
15759 2005-10-09  Dan Williams  <dcbw@redhat.com>
15760
15761         Patch from Bill Moss <bmoss@clemson.edu>
15762         * src/NetworkManagerDevice.c
15763                 - (nm_device_set_user_key_for_network): don't try to set auth
15764                         mode on the AP from the allowed list if it's NULL
15765
15766 2005-10-09  Dan Williams  <dcbw@redhat.com>
15767
15768         * Replace the "driver support level" stuff with capabilities.  The
15769                 capability field is a bitfield that is more flexible than the
15770                 old driver support level thing.  It's mostly so we can easily
15771                 figure out what supports WPA and what doesn't, but should be
15772                 quite useful later.
15773
15774 2005-10-09  Dan Williams  <dcbw@redhat.com>
15775
15776         * test/nmtest.c
15777                 - Removed
15778
15779         * test/nm-tool.c
15780           test/Makefile.am
15781                 - Added new "nm-tool" tool that gives quite a bit more
15782                         information
15783
15784 2005-10-07  Robert Love  <rml@novell.com>
15785
15786         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15787           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15788           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15789           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15790           appropriate
15791
15792 2005-10-07  Robert Love  <rml@novell.com>
15793
15794         * configure.in: Change our compile flags for the betterment of mankind.
15795           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15796           prototype is very bad on 64-bit platforms as types default to int but
15797           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15798           "-Wmissing-declarations" to warn if we define an exported function
15799           but fail to put it in a header.
15800
15801 2005-10-07  Robert Love  <rml@novell.com>
15802
15803         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15804           by the name nm_update_device_wireless_timeouts() and once tried,
15805           without success, to steal my pet turtle.
15806
15807 2005-10-07  Robert Love  <rml@novell.com>
15808
15809         * Cleanup prototypes: put some functions in header files and mark
15810           others as 'static' -- feel free to invert
15811         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15812           nm_vpn_manager_vpn_connection_list_copy()
15813         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15814           nm_vpn_service_get_dbus_connection()
15815         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15816           nm_vpn_manager_vpn_connection_list_copy()
15817         * src/vpn-manager/nm-vpn-service.c: make
15818           nm_vpn_service_act_request_failed() and
15819           nm_vpn_service_stage2_daemon_wait() static
15820         * src/vpn-manager/nm-vpn-service.h: add prototype for
15821           nm_vpn_service_get_dbus_connection()
15822
15823 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15824
15825         * gnome/applet/applet.c:
15826         * gnome/applet/applet.h:
15827         * gnome/applet/icons/Makefile.am:
15828         Convey information about the current connection stage in the
15829         icons themselves instead of creating a separate progress bar.
15830
15831 2005-10-04  Robert Love  <rml@novell.com>
15832
15833         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15834           convert an ether_addr structure's MAC into a string, because the
15835           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15836           versus 07:3B:04, while the former will not.
15837
15838 2005-10-04  Robert Love  <rml@novell.com>
15839
15840         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15841           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15842           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15843           default route in the 'Connection Information' dialog, send primary
15844           and secondary name servers in in "getProperties" DBUS method, add
15845           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15846           secondary domain name servers are crucial pieces of information
15847           that a user might need in debugging a network problem.
15848
15849 2005-10-04  Robert Love  <rml@novell.com>
15850
15851         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15852           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15853           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15854           default route in the 'Connection Information' dialog, send default
15855           route in "getProperties" DBUS method, add network_device_set_route(),
15856           and network_device_get_route().  The Gateway is a crucial piece of
15857           connection-related information that a user might need in debugging a
15858           network problem.
15859
15860 2005-10-03  Robert Love  <rml@novell.com>
15861
15862         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15863           NULL.
15864
15865 2005-10-02  Dan Williams  <dcbw@redhat.com>
15866
15867         * Shorten time taken to sleep by fastpathing bits of device deactivation
15868                 necessary for sleep.
15869
15870         * Fix issue where deactivating a device might deactivate the active
15871                 VPN connection, even if the VPN was not using the device.
15872
15873 2005-10-02  Dan Williams  <dcbw@redhat.com>
15874
15875         * gnome/applet/applet.c
15876                 - Adjust signal strength -> icon mapping values slightly
15877                         (so that 51% signal doesn't show a 75% icon) by adding
15878                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15879                         shows 50% icon, etc.
15880
15881 2005-09-29  Robert Love  <rml@novell.com>
15882
15883         * src/NetworkManager.c: removed unused variable.
15884
15885 2005-09-28  Dan Williams  <dcbw@redhat.com>
15886
15887         Support for named + DBus, using Red Hat DBus patches for named.  You
15888         can find those patches here, with "dbus" in the patch's filename:
15889
15890                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15891
15892         Don't forget the named dbus service file either.
15893
15894         Instead of writing a config file and spawing a named process, NM will
15895         use an already-running dbus-enabled named if it finds one.  NM will
15896         update named's forwarder configuration on the fly using dbus.
15897
15898         If there is no dbus-enabled named running, NM will automatically fall
15899         back to writing the most-recent DNS server information to /etc/resolv.conf
15900         and calling nm_system_update_dns() to kick the system's resolver.
15901
15902         Accordingly, all named-related configure-time options have been removed.
15903
15904 2005-09-26  Robert Love  <rml@novell.com>
15905
15906         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15907           ISDN support!
15908         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15909           bug in error path if "ASKPASSWORD" is "no".
15910
15911 2005-09-26  Robert Love  <rml@novell.com>
15912
15913         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15914           comment in /etc/resolv.conf -- ';' is not.
15915
15916 2005-09-19  Dan Williams  <dcbw@redhat.com>
15917
15918         * src/backends/NetworkManagerRedHat.c:
15919         * src/backends/NetworkManagerDebian.c:
15920         * src/backends/NetworkManagerSlackware.c:
15921         * src/backends/NetworkManagerGentoo.c:
15922         * src/backends/NetworkManagerSUSE.c:
15923         Fix invocations of "/sbin/ip address" to use short form instead
15924
15925 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15926
15927         * src/nm-dbus-device.c: Don't assert when getting
15928         addresses of a not yet connected interface.
15929
15930         * gnome/applet/applet.c: Free icons if loading fails.
15931         Use translator-credits so translators can make themselves known.
15932
15933 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15934
15935         * src/NetworkManagerAP.c:
15936         * src/NetworkManagerAP.h:
15937         * src/NetworkManagerDevice.c:
15938         Set a blacklist for certain common manufacturer default ESSIDs:
15939         APs with these ESSIDs are extremely likely to be completely
15940         different networks: connecting to one should not make NM
15941         auto-connect to every other AP with the same default ESSID.
15942
15943 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15944
15945         * gnome/applet/wireless-applet.glade:
15946         The passphrase entry should also activate the default
15947
15948         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15949
15950         * gnome/applet/applet-dbus-devices.c:
15951         * gnome/applet/applet.c:
15952         * gnome/applet/nm-device.c:
15953         * gnome/applet/nm-device.h:
15954         * src/NetworkManagerUtils.c:
15955         * src/NetworkManagerUtils.h:
15956         * src/nm-dbus-device.c:
15957         I've got a fever, and the only cure for it is less ioctl.
15958         Make NM push IP data rather than make the applet open a socket
15959         to the device.
15960
15961 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15962
15963         * gnome/applet/applet.c:
15964         * gnome/applet/applet-dbus-devices.c:
15965         * gnome/applet/applet-dbus-info.c:
15966         * gnome/applet/passphrase-dialog.c:
15967         * gnome/libnm_glib/libnm_glib.c:
15968         * gnome/vpn-properties/nm-vpn-properties.c:
15969         * src/autoip.c:
15970         * src/backends/NetworkManagerRedHat.c:
15971         * src/named-manager/nm-named-manager.c:
15972         * src/NetworkManagerAPList.c:
15973         * src/NetworkManager.c:
15974         * src/NetworkManagerDbus.c:
15975         * src/NetworkManagerDevice.c:
15976         * src/NetworkManagerPolicy.c:
15977         * src/NetworkManagerSystem.c:
15978         * src/nm-dbus-device.c:
15979         * src/nm-dbus-nm.c:
15980         * src/vpn-manager/nm-vpn-manager.c:
15981         * src/vpn-manager/nm-vpn-service.c:
15982         * test/libnm_glib_test.c:
15983         * test/nminfotest.c:
15984         * test/nmtestdevices.c:
15985         Fix a bunch of 'unused variable' compiler warnings
15986
15987         * NetworkManager.h:
15988         * gnome/applet/applet-dbus-info.c:
15989         * gnome/applet/applet-dbus-info.h:
15990         * gnome/applet/applet.c:
15991         * gnome/applet/applet.h:
15992         * src/NetworkManager.c:
15993         * src/NetworkManagerDbus.c:
15994         * src/NetworkManagerDbus.h:
15995         * src/NetworkManagerDevice.c:
15996         * src/NetworkManagerDevice.h:
15997         * src/NetworkManagerMain.h:
15998         * src/NetworkManagerWireless.c:
15999         * src/NetworkManagerWireless.h:
16000         * src/nm-dbus-nm.c:
16001         Make NetworkManager be smart about how frequently to scan
16002         based on its current state.  Remove the UI for choosing when
16003         to scan.  Scanning still may disabled completely by the user
16004         via the "Wireless Enabled" menu item.
16005
16006 2005-09-09  Christopher Aillon  <caillon@redhat.com>
16007
16008         * gnome/applet/applet.c:
16009         Also overlay the vpn connecting icons onto the wired icon,
16010         when appropriate.
16011
16012         * gnome/vpn-properties/nm-vpn-properties.glade:
16013         Clean up a few strings to use better grammar and proper casing.
16014
16015 2005-09-08  Christopher Aillon  <caillon@redhat.com>
16016
16017         * gnome/applet/vpn-connection.c:
16018         * gnome/applet/vpn-connection.h:
16019         Add nmwa_vpn_connection_is_activating ()
16020
16021         * gnome/applet/applet.c:
16022         * gnome/applet/applet.h:
16023         * gnome/applet/icons/nm-vpn-connecting*.png:
16024         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
16025         the user know something's happening between clicking the VPN item and it
16026         actually being connected.
16027
16028 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16029
16030         * gnome/applet/applet-dbus-info.c: need to free attributes in the
16031         failure case as well.
16032
16033 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
16034
16035         * gnome/panel/eggtrayicon.[ch]:
16036         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
16037
16038 2005-09-07  Dan Williams  <dcbw@redhat.com>
16039
16040         Patch from Bill Moss <bmoss@clemson.edu>
16041         * src/applet-dbus.c
16042                 - (nmwa_dbus_filter): strip whitespace from beginning
16043                         and end of VPN login banner
16044
16045 2005-09-07  Dan Williams  <dcbw@redhat.com>
16046
16047         * The great VPN Manager rewrite of 2005
16048
16049 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16050
16051         * gnome/applet/menu-items.c:
16052         * gnome/applet/nm-device.c:
16053         * gnome/applet/wireless-network.c:
16054         * gnome/libnm_glib/libnm_glib.c:
16055         * src/NetworkManagerDbusUtils.c:
16056         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16057         g_malloc0 doesn't return NULL
16058
16059 2005-09-06  Dan Williams  <dcbw@redhat.com>
16060
16061         Patch from Tomislav Vujec <tvujec@redhat.com>
16062         * src/NetworkManagerDevice.c
16063                 - (nm_get_device_by_udi): don't return a device when we
16064                         actually didn't find what we were looking for
16065
16066 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16067
16068         * gnome/applet/applet-dbus-devices.c:
16069         * gnome/applet/applet-dbus-devices.h:
16070         * gnome/applet/applet-dbus.c:
16071         * src/NetworkManagerDbus.c:
16072         * src/NetworkManagerDbus.h:
16073         * src/NetworkManagerDevice.c:
16074         * src/nm-dbus-device.c:
16075         Make NM push updates about active device strength when it changes,
16076         rather than having the applet poll every 2s.
16077
16078 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16079
16080         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16081         network_device_set_strength
16082
16083 2005-09-04  Dan Williams  <dcbw@redhat.com>
16084
16085         Patch from Bill Nottingham <notting@redhat.com>
16086         * src/NetworkManagerDevice.c
16087                 - (nm_device_activation_cancel): reset the quit_activation flag
16088
16089 2005-09-04  Dan Williams  <dcbw@redhat.com>
16090
16091         * src/nm-activation-request.c
16092                 - (nm_act_request_unref): actually free the structure,
16093                         which we didn't seem to be doing before
16094
16095 2005-09-04  Dan Williams  <dcbw@redhat.com>
16096
16097         Patch from John Palmieri <johnp@redhat.com>
16098         * gnome/applet/applet-dbus-devices.c
16099                 - Fix up unreffing of DBusMessage objects
16100
16101 2005-09-04  Dan Williams  <dcbw@redhat.com>
16102
16103         Patch from John Palmieri <johnp@redhat.com>
16104         * gnome/applet/nm-device.c
16105                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16106
16107 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16108
16109         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16110
16111 2005-09-02  Bill Nottingham  <notting@redhat.com>
16112
16113         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16114
16115 2005-09-01  Dan Williams  <dcbw@redhat.com>
16116
16117         * src/NetworkManager.c
16118                 - (nm_remove_device_from_list): rename to nm_remove_device
16119                 - (nm_hal_device_removed): call nm_remove_device()
16120
16121         * src/NetworkManagerDevice.c
16122                 - Change the NMWirelessScanCB member 'reschedule' which
16123                         wasn't used to 'force' to indicate that we need to
16124                         force a scan when adding a device
16125
16126         * src/nm-dbus-nm.c
16127                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16128                         from the device list
16129                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16130
16131 2005-09-01  Robert Love  <rml@novell.com>
16132
16133         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16134           and the check "!iface" in the error case is probably never true.
16135
16136 2005-09-01  Dan Williams  <dcbw@redhat.com>
16137
16138         Patch from Bill Nottingham <notting@redhat.com>
16139         * src/backends/NetworkManagerRedHat.c
16140                 - Add initial dialup support to Red Hat/Fedora backend
16141
16142 2005-09-01  Dan Williams  <dcbw@redhat.com>
16143
16144         * gnome/applet/applet-dbus-devices.c
16145                 - Sort both wireless networks and devices again, which got
16146                         broken when removing threading
16147
16148 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16149
16150         * gnome/applet/applet.c:
16151         Only show the "Stop/Start All Wireless Devices" menuitem
16152         if we actually have wireless devices.
16153
16154         * gnome/applet/applet-dbus-info.c:
16155         * gnome/applet/applet.c:
16156         * gnome/applet/other-network-dialog.c:
16157         * gnome/applet/vpn-password-dialog.c:
16158         Drop the gtk_dialog_run () calls in favor of connecting to
16159         "response" signals, needed now that the applet is not threaded.
16160
16161 2005-08-31  Dan Williams  <dcbw@redhat.com>
16162
16163         Patch from Bill Moss <bmoss@clemson.edu>
16164         * src/NetworkManagerDevice.c
16165                 - (nm_device_wireless_scan): fix scan timeout values
16166
16167 2005-08-30  Dan Williams  <dcbw@redhat.com>
16168
16169         * gnome/applet/wireless-applet.glade
16170                 - HIG-ify the Other Wireless Networks dialog a bit more
16171                 - Fix some potential segfaults in the info dialog
16172
16173 2005-08-30  Dan Williams  <dcbw@redhat.com>
16174
16175         * gnome/applet/applet-dbus-devices.c
16176                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16177
16178 2005-08-30  Dan Williams  <dcbw@redhat.com>
16179
16180         * gnome/applet/applet-dbus.[ch]
16181                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16182                         they weren't being used anyway
16183
16184 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16185
16186         * test/nmtestdevices.c: (print_usage), (main):
16187         Check the number of arguments, and fix a typo
16188
16189 2005-08-29  Dan Williams  <dcbw@redhat.com>
16190
16191         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16192         * gnome/applet/applet.c
16193                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16194
16195 2005-08-29  Dan Williams  <dcbw@redhat.com>
16196
16197         * gnome/applet/*
16198                 - Don't use threads any more.  Anything that blocks
16199                         (like gtk_dialog_run()) will  have to get fixed up which
16200                         should happen quickly.  We really only had threads to make
16201                         the animation smooth, and when everything got converted over
16202                         to DBus Pending Calls, the need for threads kind of went away
16203
16204 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16205
16206         * gnome/applet/applet.c: Draw VPN connections as radio items
16207         since we don't yet support multiple VPNs.
16208         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16209         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16210
16211 2005-08-29  Dan Williams  <dcbw@redhat.com>
16212
16213         Patch from j@bootlab.org
16214         - Make --without-named work
16215         - Make --with-dhcdbd work correctly
16216
16217 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16218
16219         * configure.in: Added "ca" to ALL_LINGUAS.
16220
16221 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16222
16223         * Fix up VPN state handling between the applet and NetworkManager,
16224                 so that the applet doesn't show a VPN as connected when one
16225                 really is not
16226                         - The applet no longer has a pointer to the active VPN's
16227                                 name, but tracks each VPNs state individually
16228                         - NM no longer has a "getActiveVPNConnection" method
16229                         - NM no longer broadcasts the "VPNConnectionChange" signal
16230                         - NM now broadcasts a "VPNConnectionStateChange" signal
16231                                 whenever the state of a VPN changes
16232
16233 2005-08-26  Dan Williams <dcbw@redhat.com>
16234
16235         * gnome/applet/applet-dbus-devices.c
16236           gnome/applet/applet-dbus-vpn.c
16237                 - Remove calls to dbus_pending_call_ref() because we already
16238                         "own" the pending call
16239                 - Remove calls to dbus_pending_call_get_completed() because
16240                         when we are in the callback, the pending call is completed
16241                         by definition
16242
16243 2005-08-22  Dan Williams <dcbw@redhat.com>
16244
16245         Patch by Bill Moss <bmoss@clemson.edu>
16246         * src/dhcp-manager/nm-dhcp-manager.c
16247                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16248                         some time to send out a RELEASE if they like
16249
16250 2005-08-22  Dan Williams <dcbw@redhat.com>
16251
16252         Noticed by Bill Moss <bmoss@clemson.edu>
16253         * src/NetworkManagerDbus.c
16254                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16255                         instead of just cancelling its activation
16256
16257         * src/NetworkManagerDevice.c
16258                 - (nm_device_deactivate): some small cleanups
16259                 - (nm_device_set_user_key_for_network): deactivate the device
16260                         instead of just cancelling its activation
16261
16262 2005-08-22  Dan Williams <dcbw@redhat.com>
16263
16264         Noticed by Bill Moss <bmoss@clemson.edu>
16265         * src/NetworkManagerDevice.c
16266                 - (nm_device_wireless_scan): fix scan timeout, we were
16267                         waiting way too long for scans to complete
16268
16269 2005-08-22  Dan Williams <dcbw@redhat.com>
16270
16271         Patch from j@bootlab.org:
16272         * src/backends/NetworkManagerDebian.c
16273                 - Make the Debian backend work for static IP again
16274
16275 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16276
16277         * gnome/applet/other-network-dialog.c:
16278         The "Create New Network" and "Connect to Other Network"
16279         dialogs share alot of code, but shouldn't share a window
16280         title.  Give them different ones.
16281
16282         * gnome/applet/wireless-applet.glade:
16283         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16284         Some more minor UI tweaks.
16285
16286 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16287
16288         * gnome/applet/other-network-dialog.c:
16289         * gnome/applet/wireless-applet.glade:
16290         Also need mnemonic widgets, and underline enabled.
16291
16292 2005-08-19  Dan Williams <dcbw@redhat.com>
16293
16294         * vpn-daemons/vpnc/nm-vpnc-service.c
16295                 - (vpnc_watch_cb): remove no-longer-relevant comment
16296                 - (write_config_option): new function, helper to write
16297                         config options to vpnc's stdin
16298                 - (nm_vpnc_config_write): use the new helper, make the
16299                         code shorter
16300
16301 2005-08-19  Christopher Aillon <caillon@redhat.com>
16302
16303         * gnome/applet/passphrase-dialog.c:
16304         * gnome/applet/wireless-applet.glade:
16305         Make the passphrase dialog response based, and treat
16306         responses other than OK (such as Esc, [X]) as a cancel.
16307
16308 2005-08-18  Christopher Aillon <caillon@redhat.com>
16309
16310         * initscript/Gentoo/NetworkManager:
16311         * initscript/RedHat/NetworkManager:
16312         * initscript/RedHat/NetworkManagerDispatcher:
16313         * initscript/SUSE/networkmanager:
16314         CVS remove these in place of .in replacements
16315
16316         * configure.in:
16317         * initscript/Gentoo/NetworkManager.in:
16318         * initscript/RedHat/NetworkManager.in:
16319         * initscript/RedHat/NetworkManagerDispatcher.in:
16320         * initscript/SUSE/networkmanager.in:
16321         These scripts now are generated so they work still when
16322         NM is built using a bindir other than /usr/bin
16323
16324 2005-08-18  Dan Williams <dcbw@redhat.com>
16325
16326         * gnome/applet/main.c
16327                 - Revert previous change for --no-session since
16328                         --sm-disable does the same thing
16329
16330 2005-08-18  Dan Williams <dcbw@redhat.com>
16331
16332         * gnome/applet/applet-dbus-info.c
16333                 - (nmi_dbus_create_error_message): new function
16334                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16335                         functions.  Also don't check for both device _and_ network before
16336                         asking for a user's key, because we may not have gotten all our
16337                         networks back from NM quite yet (due to the dbus pending calls
16338                         coming in later).  Fixes a hang in NM/nm-applet.
16339
16340         * src/NetworkManagerDbus.c
16341                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16342                         slightly more sane manner, even though we are still broken for
16343                         certain other error conditions.
16344                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16345                         to the info-daemon too
16346
16347         * src/NetworkManagerDevice.c
16348                 - Fix some debug messages to be info messages instead
16349
16350 2005-08-18  Dan Williams <dcbw@redhat.com>
16351
16352         * gnome/applet/main.c
16353                 - Add new "--no-session" parameter that disables applet
16354                         session management, ie for testing
16355
16356 2005-08-18  Christopher Aillon <caillon@redhat.com>
16357
16358         * gnome/applet/other-network-dialog.c:
16359         * gnome/applet/wireless-applet.glade: More mnemonics
16360
16361 2005-08-17  Robert Love  <rml@novell.com>
16362
16363         * initscript/SUSE/networkmanager: update
16364
16365 2005-08-17  Dan Williams  <dcbw@redhat.com>
16366
16367         * Tag NM_0_4_1_RELEASE
16368
16369 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16370
16371         * gnome/applet/applet.c: More translatable string cleanup
16372
16373
16374 2005-08-17  Dan Williams  <dcbw@redhat.com>
16375
16376         * gnome/applet/applet-dbus-info.c
16377                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16378                         from the dbus message, which tells us to unconditionally
16379                         ask the user for a new key.  Otherwise, we pull the key from
16380                         the keyring and return it.  If we fail to get the key from the
16381                         keyring, we ask the user for a new key.
16382                 - (nmi_dbus_get_network_key): new function to grab the key for
16383                         an essid from the keyring.
16384                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16385                         Also, don't return any key in the dbus message.
16386
16387         * src/NetworkManagerDbus.[ch]
16388                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16389                         indicate that we unconditionally want a new key.  This function
16390                         is now also used to get keys from the info-daemon which are
16391                         pre-stored, not just for asking the user for a new key.  The
16392                         "new_key" parameter indicates whether or not we wish to ask the
16393                         user for a new key.
16394                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16395                         info-daemon in the return message, so use NULL instead.  The
16396                         key will be filled in at connect time by calling
16397                         nm_dbus_get_user_key_for_network()
16398
16399         * src/NetworkManagerDevice.c
16400                 - (nm_device_wireless_configure): update for "new_key" param to
16401                         nm_dbus_get_user_key_for_network().  We initially set new_key
16402                         to FALSE to see if we have a stored key in the info-daemon, but
16403                         if the connection is unsuccessful at this stage we request a
16404                         new one
16405
16406 2005-08-17  Dan Williams  <dcbw@redhat.com>
16407
16408         * gnome/applet/icons/nm-no-connection.png
16409           gnome/applet/icons/nm-device-wired.png
16410                 - Use Diana's new RJ45 connector icons
16411
16412 2005-08-17  Dan Williams  <dcbw@redhat.com>
16413
16414         * src/NetworkManagerPolicy.c
16415                 - (nm_policy_device_change_check): clarify switching rules if
16416                         both new and old devices are valid; mainly, don't switch
16417                         away from user-requested wireless connection back to a wired
16418                         one
16419
16420 2005-08-17  Dan Williams  <dcbw@redhat.com>
16421
16422         * gnome/applet/Makefile.am
16423                 - Relocate the applet to /usr/bin since it is no longer
16424                         executed by anything, but directly by the user
16425
16426 2005-08-17  Dan Williams  <dcbw@redhat.com>
16427
16428         Patch from Bill Moss <bmoss@clemson.edu>
16429
16430         * gnome/applet/applet-dbus-info.[ch]
16431                 - (nmi_save_network_info): save timestamp for network if it
16432                         was a change requested by the user
16433                 - (nmi_dbus_update_network_info): get user_requested from dbus
16434                         message and pass to nmi_save_network_info()
16435
16436         * gnome/applet/applet.c
16437                 - (nmwa_update_network_timestamp): remove
16438                 - (nmwa_menu_item_activate): don't set timestamp on networks
16439                         here, only after a successful connect in nmi_save_network_info()
16440
16441         * src/NetworkManagerDbus.[ch]
16442                 - (nm_dbus_update_network_info): pass user_requested into the 
16443                         dbus message
16444
16445         * src/NetworkManagerPolicy.c
16446                 - (nm_policy_activation_finish): pass user_requested to
16447                         nm_dbus_update_network_info()
16448
16449 2005-08-16  Robert Love  <rml@novell.com>
16450
16451         * gnome/applet/applet.c: Better "Dial Up" menu item.
16452
16453 2005-08-16  Robert Love  <rml@novell.com>
16454
16455         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16456           "Connection Information" menu item.
16457
16458 2005-08-16  Dan Williams  <dcbw@redhat.com>
16459
16460         Patch from j@bootlab.org
16461         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16462
16463         * configure.in: allow specifying the path to dhcdbd
16464
16465 2005-08-16  Robert Love  <rml@novell.com>
16466
16467         Patch from j@bootlab.org
16468         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16469           src/backends/interface_parser.h: Debian dialup support.
16470
16471 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16472
16473         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16474         * gnome/applet/applet.c: Add some mnemonics for VPNC
16475
16476         * vpn-daemons/.cvsignore: fix this up a little bit
16477
16478 2005-08-16  Robert Love  <rml@novell.com>
16479
16480         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16481           support.
16482
16483 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16484
16485         * gnome/applet/applet.c: Split markup out of translatable strings
16486         and clean up logic a little bit.  (fixes #309012)
16487
16488 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16489
16490         * gnome/vpn-properties/nm-vpn-properties.c:
16491         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16492         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16493         Makeshift fix to remove newlines from translatable strings.
16494         Note that we now return an allocated string, so callers of
16495         get_confirmation_details () must now call g_free () on the
16496         result. (fixes #309033).
16497
16498 2005-08-12  Robert Love  <rml@novell.com>
16499
16500         * gnome/applet/applet-dbus.c: remove newlines from translatable
16501           strings--not needed here anyway. (fix b.g.o #309011)
16502         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16503
16504 2005-08-11  Robert Love  <rml@novell.com>
16505
16506         * gnome/applet/applet.c: mark string as translatable.
16507
16508 2005-08-11  Robert Love  <rml@novell.com>
16509
16510         * initscript/SUSE/networkmanager: update.
16511
16512 2005-08-11  Dan Williams  <dcbw@redhat.com>
16513
16514         * src/nm-dhcp-manager.c
16515                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16516                         an gateway returned from DHCP, try to use the address of the DHCP
16517                         server as the gateway instead.  Found by Ralf Ertzinger.
16518
16519 2005-08-10  Robert Love  <rml@novell.com>
16520
16521         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16522           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16523
16524 2005-08-10  Dan Williams  <dcbw@redhat.com>
16525
16526         Patch from Bill Moss <bmoss@clemson.edu>
16527         * Consolidate writes of access point information updates to the info daemon
16528                 so that we only do it when the connection to the access point was
16529                 successful.  Also consolidates updates to GConf in the Gnome applet.
16530
16531         * src/nm-netlink-monitor.c
16532                 - Silence compile warning when calling g_object_new()
16533
16534 2005-08-08  Dan Williams  <dcbw@redhat.com>
16535
16536         Patch from Steev <steev@steev.net>:
16537         * src/backends/NetworkManagerGentoo.c
16538                 - Stub new dialup backend functions
16539
16540 2005-08-08  Dan Williams  <dcbw@redhat.com>
16541
16542         Patch from Colin Slater:
16543         * src/backends/NetworkManagerGentoo.c
16544                 - (nm_system_update_dns): Fix exit status check for restarting
16545                         nscd
16546
16547 2005-08-05  Robert Love  <rml@novell.com>
16548
16549         * NetworkManager.h,
16550           gnome/applet/applet-dbus-devices.c,
16551           gnome/applet/applet-dbus-devices.h,
16552           gnome/applet/applet-dbus.c,
16553           gnome/applet/applet.c,
16554           gnome/applet/applet.h,
16555           src/NetworkManager.c,
16556           src/NetworkManagerMain.h,
16557           src/NetworkManagerSystem.h,
16558           src/backends/NetworkManagerRedHat.c,
16559           src/backends/NetworkManagerSuSE.c,
16560           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16561
16562 2005-08-05  Robert Love  <rml@novell.com>
16563
16564         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16565           machine's hostname to make adhoc creation idiot-proof.
16566
16567 2005-08-04  Robert Love  <rml@novell.com>
16568
16569         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16570           freed.
16571
16572 2005-08-04  Dan Williams  <dcbw@redhat.com>
16573
16574         * gnome/applet/applet-dbus-info.c
16575           gnome/applet/applet-dbus-info.h
16576                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16577                         to store key, key type, and auth method rather than just auth method
16578                 - (nmi_dbus_update_network_info): new function
16579                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16580
16581         * gnome/applet/passphrase-dialog.c
16582                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16583                         of saving the info ourselves
16584
16585         * gnome/libnm_glib/libnm_glib.c
16586                 - Remove the stupid version check for dbus
16587
16588         * src/NetworkManagerAP.c
16589           src/NetworkManagerAP.h
16590                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16591
16592         * src/NetworkManagerDbus.c
16593           src/NetworkManagerDbus.h
16594                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16595                         more than just the auth method
16596
16597         * src/NetworkManagerDevice.c
16598                 - Update network info at the appropriate times
16599
16600 2005-07-29  Ray Strode  <rstrode@redhat.com>
16601
16602         * src/NetworkManager.c (nm_info_handler): don't use input as format
16603         string (Spotted by Ian Jackson).
16604
16605 2005-07-27  Dan Williams  <dcbw@redhat.com>
16606
16607         * src/nm-dbus-nm.c
16608           src/nm-dbus-net.c
16609                 - Random cleanups of spacing
16610
16611         * gnome/applet/applet.h
16612           gnome/applet/other-network-dialog.c
16613           gnome/applet/passphrase-dialog.c
16614                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16615
16616         Patch from Bill Moss:
16617                 - Make Other Wireless Networks work again with encryption keys
16618
16619 2005-07-26  Dan Williams  <dcbw@redhat.com>
16620
16621         Patch from Steev <steev@steev.net>:
16622         * src/backends/NetworkManagerGentoo.c
16623           src/backends/Makefile.am
16624                 - Fix up Gentoo backend
16625
16626 2005-07-26  Robert Love  <rml@novell.com>
16627
16628         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16629
16630 2005-07-25  Robert Love  <rml@novell.com>
16631
16632         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16633           in the same group as the wireless networks, since they are all
16634           mutually exclusive.
16635
16636 2005-07-24  Ray Strode  <rstrode@redhat.com>
16637
16638         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16639         remove unneeded NULL arg from g_object_new().  Any
16640         warnings caused by not having the extra NULL are just a
16641         result of a bug in glib 2.7.0 - 2.7.2.
16642
16643 2005-07-22  Robert Love  <rml@novell.com>
16644
16645         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16646
16647 2005-07-22  Robert Love  <rml@novell.com>
16648
16649         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16650           parameters (gcc 4.0.2 warning fix).
16651
16652 2005-07-18  Robert Love  <rml@novell.com>
16653
16654         Suggested by Aaron Bockover (abockover@novell.com)
16655         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16656           s/Ascii/ASCII
16657         * gnome/applet/passphrase-dialog.c: ditto
16658         * gnome/applet/wireless-applet.glade: ditto
16659
16660 2005-07-13  Dan Williams  <dcbw@redhat.com>
16661
16662         Patch from Ray Strode <halfline@gmail.com>
16663         * vpn-daemons/vpnc/nm-vpnc-service.c
16664                 - Don't let vpnc daemonize, fixes some races with PID file reading
16665
16666 2005-07-13  Dan Williams  <dcbw@redhat.com>
16667
16668         Patch from Ray Strode <halfline@gmail.com>
16669         * Random cleanups for strict CFLAGS
16670
16671 2005-07-07  Dan Williams  <dcbw@redhat.com>
16672
16673         Patch from Derek Atkins <warlord@MIT.EDU>
16674         * src/nm-dbus-net.c:
16675                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16676
16677 2005-07-07  Dan Williams  <dcbw@redhat.com>
16678
16679         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16680         * src/backends/NetworkManagerGentoo.c
16681                 - Gentoo backend Static IP nameserver fixes
16682                 - General Gentoo backend goodness
16683
16684 2005-07-07  Dan Williams  <dcbw@redhat.com>
16685
16686         Patch from Bastien Nocera:
16687         * gnome/applet/applet.c
16688                 - Fix up error reporting when icons or glade files are missing
16689
16690 2005-07-07  Robert Love  <rml@novell.com>
16691
16692         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16693           are not any VPN connections above it.
16694
16695 2005-07-07  Robert Love  <rml@novell.com>
16696
16697         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16698
16699 2005-07-05  Robert Love  <rml@novell.com>
16700
16701         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16702           zero.
16703
16704 2005-07-05  Robert Love  <rml@novell.com>
16705
16706         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16707           on wired or unencrypted wireless.
16708
16709 2005-07-01  Robert Love  <rml@novell.com>
16710
16711         * src/NetworkManagerSystem.c: Print the error via strerror().
16712
16713 2005-06-30  Robert Love  <rml@novell.com>
16714
16715         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16716           then exit if the glade file is not found.  currently the application
16717           just hangs.
16718
16719 2005-06-30  Robert Love  <rml@novell.com>
16720
16721         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16722           explicitly up all interfaces on wake from sleep.
16723
16724 2005-06-30  Robert Love  <rml@novell.com>
16725
16726         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16727           with information about the currently active connection.
16728         * gnome/applet/applet.h: (ditto)
16729         * gnome/applet/wireless-applet.glade: (ditto), new file
16730
16731 2005-06-30  Robert Love  <rml@novell.com>
16732
16733         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16734         * src/nm-dbus-nm.c: print when we sleep and wake up.
16735         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16736         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16737           in /sbin unless D-BUS is, folks).
16738         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16739
16740 2005-06-27  Robert Love  <rml@novell.com>
16741
16742         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16743           case.
16744
16745 2005-06-27  Robert Love  <rml@novell.com>
16746
16747         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16748           items radios.
16749
16750 2005-06-26  Robert Love  <rml@novell.com>
16751
16752         * src/NetworkManagerDevice.c: be specific about which device in
16753           nm_info() message.
16754
16755 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16756
16757         * src/nm-netlink-monitor.c: correct spelling error.
16758
16759 2005-06-23  Robert Love  <rml@novell.com>
16760
16761         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16762         * gnome/applet/passphrase-dialog.c: more of that keyring!
16763
16764 2005-06-23  Robert Love  <rml@novell.com>
16765
16766         * configure.in: remove extraneous GNOMEKEYRING directives.
16767         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16768         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16769         * gnome/applet/passphrase-dialog.c: whitespace.
16770
16771 2005-06-23  Robert Love  <rml@novell.com>
16772
16773         * src/NetworkManagerDevice.c: division in assignment was flipped.
16774
16775 2005-06-23  David Zeuthen  <david@fubar.dk>
16776
16777         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16778         signal to the child to indicate that we got what we wanted when we
16779         see two new-lines right after each other.
16780         (nmwa_vpn_request_password): Pass a structure with several members
16781         instead of just the passwords
16782
16783 2005-06-23  Dan Williams <dcbw@redhat.com>
16784
16785         * src/NetworkManager.c
16786           src/NetworkManagerMain.h
16787                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16788                 - (nm_hal_init): new function, init libhal context then add devices
16789                 - (nm_hal_deinit): new function, clean up libhal context
16790                 - (nm_data_free): Move Hal cleanup here
16791                 - (main): check whether Hal is running, and if so, get a list of
16792                         network devices from it
16793
16794         * src/NetworkManagerDbus.c
16795                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16796                         and when it appears, get a list of network devices from it.  If
16797                         Hal goes away, clean up the libhal context
16798
16799 2005-06-22  Robert Love  <rml@novell.com>
16800
16801         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16802           permissions of scripts before executing.
16803
16804 2005-06-21  Robert Love  <rml@novell.com>
16805
16806         * initscript/SUSE/networkmanager: update.
16807         * src/backends/NetworkManagerSuSE.c: cleanup.
16808
16809 2005-06-21  Robert Love <rml@novell.com>
16810
16811         * gnome/applet/applet.c: use menu mnemonics.
16812         * gnome/applet/menu-items.c: (ditto)
16813
16814 2005-06-21  Robert Love  <rml@novell.com>
16815
16816         * applet/applet-dbus-devices.c: mark non-static functions static.
16817         * applet/applet-dbus-vpn.c: (ditto)
16818         * applet/applet.c: (ditto)
16819         * applet/nm-device.h: (ditto)
16820         * applet/other-network-dialog.c: (ditto)
16821         * applet/passphrase-dialog.c: (ditto)
16822         * NetworkManager.c: (ditto)
16823         * NetworkManagerDbus.c: (ditto)
16824         * NetworkManagerDevice.c: (ditto)
16825         * NetworkManagerPolicy.c: (ditto)
16826         * NetworkManagerUtils.c: (ditto)
16827         * NetworkManagerWireless.c: (ditto)
16828         * NetworkManagerWireless.h: (ditto)
16829         * nm-netlink-monitor.c: (ditto)
16830         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16831         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16832         * autoip.c: include autoip.h.
16833         * autoip.h: new file.  define get_autoip().
16834         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16835         * NetworkManagerDbus.h: remove duplicate definitions.
16836
16837 2005-06-20  Robert Love  <rml@novell.com>
16838
16839         * Makefile.am: Add missing intltool-foo.in generated files to
16840           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16841           with the start of stuff to cleanup on 'distclea'.
16842         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16843           stuff right and 'distcheck' works.
16844         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16845           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16846           Makefile.am for each.  And systray/Makefile needs to be redone.
16847
16848 2005-06-19  Dan Williams <dcbw@redhat.com>
16849
16850         * src/NetworkManagerDevice.c
16851         - (nm_device_wireless_process_scan_results): scan every 20s when
16852           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16853
16854 2005-06-19  Dan Williams <dcbw@redhat.com>
16855
16856         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16857
16858 2005-06-18  Ray Strode <rstrode@redhat.com>
16859
16860         * src/nm-netlink-monitor.c 
16861         (nm_netlink_monitor_event_handler): check for the presence
16862         of either error condition not both. 
16863         
16864         (nm_netlink_monitor_error_handler): emit error signal if
16865         error occurs.
16866
16867         (nm_netlink_monitor_event_handler),
16868         (nm_netlink_monitor_error_handler),
16869         (nm_netlink_monitor_disconnect_handler): if an 
16870         assertion fails disconnect the event handler to prevent 
16871         infinite loops.
16872
16873         * src/nm-netlink-monitor.h: add new error condition
16874         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16875
16876 2005-06-18  Ray Strode <rstrode@redhat.com>
16877
16878         * src/nm-netlink-monitor.c 
16879         (nm_netlink_monitor_event_handler): remove bogus < 0
16880         check on unsigned value and return early if the kernel
16881         didn't send any bytes.
16882
16883 2005-06-17  Robert Love  <rml@novell.com>
16884
16885         * initscript/SUSE/networkmanager: Change the Provides and default
16886         run levels
16887
16888 2005-06-16  Dan Williams <dcbw@redhat.com>
16889
16890         Patch from Robert Love:
16891         * gnome/applet/applet.c
16892                 - Beautify some applet menu item names
16893
16894 2005-06-17  David Zeuthen  <davidz@redhat.com>
16895
16896         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16897         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16898         Also add new methods can_export, import_file and export.
16899
16900         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16901         to the main UI
16902
16903         * gnome/vpn-properties/nm-vpn-properties.c:
16904         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16905         nm-vpn-ui-interface.h.
16906         (update_edit_del_sensitivity): Also update "Export" sensitivity
16907         (add_vpn_connection): Also add new SVC_NAME column
16908         (import_settings): New function
16909         (retrieve_data_from_selected_connection): New function
16910         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16911         this function
16912         (export_cb): New function
16913         (init_app): Also setup the "export" widget
16914         (main): Support the --import-service and --import-file commandline
16915         arguments
16916
16917         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16918         D-BUS 0.34
16919
16920 2005-06-16  Dan Williams <dcbw@redhat.com>
16921
16922         Patch from Robert Love:
16923         * gnome/applet/menu-items.c
16924                 - (network_menu_item_new): pass -1 as wireless network
16925                         menu items height size request rather than ascent / 2
16926
16927 2005-06-16  Dan Williams <dcbw@redhat.com>
16928
16929         * Clean up wording in Wireless Scan Methods menu items and constants
16930
16931 2005-06-16  Robert Love  <rml@novell.com>
16932
16933         * po/POTFILES.in
16934                 - remove gtkcell* files
16935
16936 2005-06-15  Dan Williams <dcbw@redhat.com>
16937
16938         Patch from Robert Love: make the applet stetic
16939
16940         * gnome/applet/Makefile.am
16941                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16942
16943         * gnome/applet/gtkcellview.h
16944           gnome/applet/gtkcellview.c
16945           gnome/applet/gtkcellrendererprogress.h
16946           gnome/applet/gtkcellrendererprogress.c
16947                 - Removed
16948
16949         * gnome/applet/menu-items.c
16950                 - Progress bars are 5:1 size ratio
16951                 - Use GTK progress bars rather than internal ones
16952
16953 2005-06-15  Dan Williams <dcbw@redhat.com>
16954
16955         Patch from Robert Love:
16956         * initscript/SUSE/networkmanager
16957                 - Fix typo
16958
16959 2005-06-15  Dan Williams <dcbw@redhat.com>
16960
16961         * src/backends/NetworkManagerSuSE.c
16962           src/backends/NetworkManagerRedHat.c
16963           src/backends/NetworkManagerDebian.c
16964                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16965
16966 2005-06-15  Dan Williams <dcbw@redhat.com>
16967
16968         * src/backends/NetworkManagerDebian.c
16969                 - Add nm_system_device_get_use_dhcp() to debian backend
16970
16971         Patch from Kay Sievers:
16972         * src/backends/NetworkManagerSuSE.c
16973                 - Update debian backend for static IP nameservers
16974
16975         * src/NetworkManagerDevice.c
16976                 - Actually set the device to use static IP or DHCP rather
16977                         than always DHCP
16978
16979 2005-06-15  Dan Williams <dcbw@redhat.com>
16980
16981         Patch from Thom May:
16982         * src/backends/NetworkManagerDebian.c
16983                 - Update debian backend for static IP nameservers
16984
16985 2005-06-15  Dan Williams <dcbw@redhat.com>
16986
16987         Patches from Robert Love:
16988         * gnome/applet/wireless-applet.glade
16989                 - Tighten up wording
16990
16991         * src/NetworkManagerDevice.c
16992                 - Remove misplaced ';'
16993
16994         * configure.in
16995           initscript/Makefile.am
16996           initscript/SUSE/Makefile.am
16997           initscript/SUSE/networkmanager
16998                 - Add SUSE initscript
16999
17000 2005-06-12  David Zeuthen  <davidz@redhat.com>
17001
17002         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
17003
17004         * gnome/vpn-properties/nm-vpn-properties.glade: New file
17005
17006         * gnome/vpn-properties/nm-vpn-properties.c: New file
17007
17008         * gnome/vpn-properties/Makefile.am: New file
17009
17010         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
17011         array of passwords
17012
17013         * src/vpn-manager/nm-vpn-manager.c
17014         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
17015         instead of just a single one
17016
17017         * src/vpn-manager/nm-dbus-vpn.c:
17018         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
17019         here
17020         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
17021
17022         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
17023         Change the interface here to give a list of passwords. Also, don't
17024         require username, but do require service
17025
17026         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
17027         the binary for the auth-dialog and use that instead of putting up a
17028         dialog asking for a single password
17029
17030         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
17031         however do remember the service
17032
17033         * gnome/applet/main.c (main): Setup i18n
17034
17035         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
17036         connection to '%s'" to the tooltip if we are connected using VPN
17037         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
17038         key to determine whether we the auth-dialog needs to
17039         reprompt. Also cope with the fact that the auth-dialog now returns
17040         an array of passwords.
17041         (nmwa_menu_configure_vpn_item_activate): New handler for
17042         "Configure VPN..." menu item
17043         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
17044         (is_vpn_available): New function to determine if we got any
17045         NM-compatible VPN software installed
17046         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
17047         items only if we have NM-compatible VPN software installed
17048         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
17049         logic for detecting when VPN connections are removed
17050
17051         * gnome/applet/applet-dbus.h: Removed the prototypes for 
17052         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17053         since these are defined elsewhere
17054
17055         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17056         function used to keep track of whether the last attempt succeded
17057         (nmwa_dbus_filter): Update last_attempt according to whether the
17058         VPN connection could be established or not
17059
17060         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17061         Change prototype to take an array of passwords, not just a single
17062         password
17063
17064         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17065         update service, not user
17066         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17067         dbus_active_vpn_name is not NULL before using it
17068         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17069         string array instead of assuming a single password
17070
17071         * gnome/applet/applet-dbus-info.c:
17072         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17073         user name; don't read from gconf
17074
17075         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17076         VPN_NAME_FILES_DIR
17077
17078         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17079
17080         * configure.in: Add checks for gmodule-2.0.
17081         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17082         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17083         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17084         for details
17085
17086         * vpn-daemons/Makefile.am: Removed
17087
17088         * vpn-daemons/README: New file to describe extensions points for VPN
17089         software
17090
17091 2005-06-10  Dan Williams <dcbw@redhat.com>
17092
17093         * src/backends/NetworkManagerRedHat.c
17094                 - (get_current_profile_name): new function, grab current network profile name from
17095                         /etc/sysconfig/network
17096                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17097                         update an IP4 Config structure's settings from it
17098                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17099                         get DNS info from current network profile
17100
17101 2005-06-09  Dan Williams <dcbw@redhat.com>
17102
17103         Patch from Robert Love:
17104         * src/NetworkManagerDevice.c
17105           src/NetworkManagerUtils.c
17106                 - 64-bit build fixes
17107
17108 2005-06-09  Dan Williams <dcbw@redhat.com>
17109
17110         Patch from Kay Sievers and Robert Love:
17111         * configure.in
17112           src/backends/Makefile.am
17113           src/backends/NetworkManagerSuSE.c
17114                 - Add SuSE support
17115
17116 2005-06-09  Dan Williams <dcbw@redhat.com>
17117
17118         * NetworkManager.h
17119                 - Add NMWirelessScanMethod enum for scan methods
17120
17121         * gnome/applet/applet-dbus-devices.c
17122                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17123                 - (nmwa_dbus_update_scanning_enabled): remove
17124                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17125                         since it got removed
17126                 - (nmwa_dbus_enable_scanning): remove
17127
17128         * gnome/applet/applet-dbus-info.c
17129                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17130                         update the wireless scanning method from NMI
17131                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17132                         method value to NetworkManager
17133                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17134
17135         * gnome/applet/applet-dbus-info.h
17136                 - Add prototype for nmi_dbus_signal_update_scan_method
17137
17138         * gnome/applet/applet.c
17139                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17140                         Wireless Scanning menu based on current wireless scan method
17141                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17142                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17143                         and update our menu items to make sure the right one is checked
17144                 - (nmwa_set_scanning_enabled_cb): remove
17145                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17146                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17147                         Scanning menu item
17148                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17149                         from GConf
17150                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17151                         so we get notified of preference values too
17152                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17153
17154         * gnome/applet/applet.h
17155                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17156                 - Add wireless scan method member to applet data
17157                 - Remove pause_scanning_item, add Wireless Scanning submenu
17158
17159         * src/NetworkManager.c
17160                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17161                 - (main): grab scanning method from NMI if we can
17162
17163         * src/NetworkManagerDbus.c
17164                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17165                         nm_dbus_update_wireless_scan_method()
17166                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17167                         from NMI
17168                 - (nm_dbus_nmi_is_running): redundant function, removed
17169                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17170                         when NMI comes back
17171
17172         * src/NetworkManagerDevice.c
17173                 - (nm_device_is_activated): return TRUE if the device is activated
17174                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17175                         and we are activated
17176
17177         * src/nm-dbus-nm.c
17178                 - (nm_dbus_nm_set_scanning_enabled): removed
17179                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17180                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17181
17182 2005-06-09  Dan Williams <dcbw@redhat.com>
17183
17184         * NetworkManager.h
17185           src/vpn-manager/nm-vpn-service.c
17186                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17187
17188 2005-05-27  Dan Williams <dcbw@redhat.com>
17189
17190         * vpn-daemons/vpnc/nm-vpnc-service.c
17191                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17192                         Should fix the bug where the VPN connection terminates the first time.
17193
17194 2005-05-20  Dan Williams <dcbw@redhat.com>
17195
17196         * NetworkManager.h
17197                 - Differentiate VPN config signals between bad VPN config options
17198                         and bad IP config
17199
17200         * gnome/applet/applet-dbus-info.h
17201                 - Add prototypes for wireless network and vpn connection update functions
17202
17203         * gnome/applet/applet-dbus.c
17204                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17205
17206         * gnome/applet/applet.c
17207                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17208                         error signals
17209                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17210                         propogation to NetworkManager
17211                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17212                         notify propogation to NetworkManager
17213
17214         * src/NetworkManagerDbus.c
17215                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17216                         are updating so a network can be removed from it if necessary
17217
17218         * src/vpn-manager/nm-vpn-manager.c
17219                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17220
17221         * vpn-daemons/vpnc/nm-vpnc-service.c
17222                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17223                 - (nm_vpnc_dbus_signal_launch_failed): remove
17224                 - (nm_vpnc_dbus_signal_connect_failed): remove
17225                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17226                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17227                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17228                         for new generalized error signal function, remove config file stuff
17229                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17230                         we can write configuration options to it
17231                 - (nm_vpnc_config_file_generate): removed
17232                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17233                 - (nm_vpnc_config_options_validate): validate the config options we receive
17234                         from NetworkManager to block potential exploits
17235                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17236                         starting vpnc
17237                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17238                         to NetworkManager
17239
17240 2005-05-16  Dan Williams  <dcbw@redhat.com>
17241
17242         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17243                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17244                         is not "connect"
17245
17246 2005-05-16  Dan Williams  <dcbw@redhat.com>
17247
17248         Patch from Tomislav Vujec <tvujec@redhat.com>
17249         * gnome/applet/applet-dbus-info.c
17250                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17251                         GConf and pass them to NetworkManager.  New key is 'routes' under
17252                         the VPN connection, and should be a string list
17253
17254         * src/NetworkManagerSystem.c
17255                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17256                         set them on the device when we set the rest of the VPN config.  Ensure
17257                         they are in the correct format since they are passed directly to the
17258                         command line.
17259
17260         * src/backends/NetworkManagerRedHat.c
17261           src/backends/NetworkManagerDebian.c
17262                 - (nm_system_device_add_route_via_device_with_iface): new function
17263
17264         * src/vpn-manager/nm-dbus-vpn.c
17265                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17266
17267         * src/vpn-manager/nm-vpn-manager.c
17268                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17269                         them into the IP4 config functions
17270
17271 2005-05-15  Dan Williams  <dcbw@redhat.com>
17272
17273         From Filip Miletic:
17274         * po/sr.po
17275           po/sr@Latn.po
17276           configure.in
17277                 - Serbian translation added
17278
17279 2005-05-15  Dan Williams  <dcbw@redhat.com>
17280
17281         * dispatcher-daemon/NetworkManagerDispatcher.c
17282                 - (main): sync arguments with NetworkManager and the applet, now use
17283                         "--no-daemon" rather than "daemon=no"
17284                 - (nmd_print_usage): Fix script path in usage message
17285
17286 2005-05-15  Dan Williams  <dcbw@redhat.com>
17287
17288         * src/NetworkManagerDevice.[ch]
17289           src/NetworkManagerPolicy.c
17290           src/NetworkManager.c
17291           src/nm-dbus-nm.c
17292                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17293                         longer send the DeviceNoLongerActive signal unconditionally, but only
17294                         when the device is actually active.
17295
17296         * dispatcher-daemon/NetworkManagerDispatcher.c
17297                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17298                         and simplify the logic
17299                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17300                         we free it later on
17301
17302         * initscript/RedHat/Makefile.am
17303           initscript/RedHat/NetworkManagerDispatcher
17304                 - Add initscript for NetworkManagerDispatcher
17305
17306
17307         Patch from Bill Moss:
17308         * dispatcher-daemon/NetworkManagerDispatcher.c
17309                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17310
17311         * src/NetworkManagerDbus.c
17312                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17313                         and DeviceNowActive gets signaled, then the device has a new IP address
17314                         anyway.  There's no need for a separate signal.
17315
17316         * src/NetworkManagerDevice.c
17317                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17318
17319         * src/NetworkManagerPolicy.c
17320                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17321                         activates successfully.  This kind of went missing when I reworked the
17322                         activation code.
17323
17324 2005-05-15  Dan Williams  <dcbw@redhat.com>
17325
17326         * configure.in
17327                 - Check for dhcdbd and error if its not found
17328
17329         * src/dhcp-manager/Makefile.am
17330           src/dhcp-manager/nm-dhcp-manager.c
17331                 - Use path to dhcdbd that configure found
17332
17333 2005-05-14  Dan Williams  <dcbw@redhat.com>
17334
17335         * gnome/applet/nm-device.c
17336                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17337                         sort wireless networks alphabetically
17338
17339         * gnome/applet/applet-dbus-devices.c
17340                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17341                         before copying them over to the GUI
17342
17343 2005-05-14  Dan Williams  <dcbw@redhat.com>
17344
17345         * src/NetworkManager.c
17346                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17347                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17348                         the device list, as does nm_get_active_device() which is called from
17349                         nm_vpn_manager_deactivate_vpn_connection().
17350
17351 2005-05-14  Dan Williams  <dcbw@redhat.com>
17352
17353         * NetworkManager.h
17354                 - Add signals for VPN Launch and Connect failures
17355
17356         * gnome/applet/applet-dbus.c
17357                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17358
17359         * gnome/applet/applet.c
17360                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17361                         function to handle all VPN failure messages
17362                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17363                         function to hanlde all VPN failure  messages
17364                 - (show_warning_dialog): work around focus-stealing prevention
17365
17366         * gnome/applet/other-network-dialog.c
17367           gnome/applet/passphrase-dialog.c
17368                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17369                         problem where it never enabled for ASCII Key and Hex Key types
17370
17371         * gnome/applet/wireless-applet.glade
17372                 - Add window title to Other Wireless Network Dialog
17373
17374         * src/vpn-manager/nm-dbus-vpn.c
17375                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17376                         function to handle all VPN failure messages
17377
17378         * src/vpn-manager/nm-vpn-manager.c
17379                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17380
17381         * vpn-daemons/vpnc/nm-vpnc-service.c
17382                 - (nm_vpnc_dbus_signal_launch_failed): new function
17383                 - (nm_vpnc_dbus_signal_connect_failed): new function
17384                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17385                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17386                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17387                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17388
17389 2005-05-11  Dan Williams  <dcbw@redhat.com>
17390
17391         * vpn-daemons/vpnc/nm-vpnc-service.c
17392                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17393                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17394                         file exists before trying to write it out.
17395
17396 2005-05-10  Dan Williams  <dcbw@redhat.com>
17397
17398     * gnome/applet/applet-dbus-device.c
17399         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17400             prevented just entering ESSID and leaving key and key type up to
17401             NetworkManager (which should have them already cached)
17402
17403 2005-05-08  Dan Williams  <dcbw@redhat.com>
17404
17405         * src/NetworkManagerPolicy.c
17406                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17407                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17408                         fix a situation where NM is told to terminate and the device stops activation,
17409                         but the main thread isn't aware of that because it would never have run
17410                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17411                         had already quit.
17412
17413         * src/NetworkManagerDevice.c
17414                 - (nm_device_probe_wired_link_state): cosmetic fixes
17415                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17416                         we've failed to activate or been canceled.
17417                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17418
17419 2005-05-08  Dan Williams  <dcbw@redhat.com>
17420
17421         * src/NetworkManagerWireless.c
17422                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17423                         value of WEXT quality structures, and add a debug message when we cannot
17424                         determine any quality % at all
17425
17426 2005-05-08  Dan Williams  <dcbw@redhat.com>
17427
17428         * src/dhcp-manager/nm-dhcp-manager.c
17429                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17430                         it goes down.
17431
17432 2005-05-06  Dan Williams  <dcbw@redhat.com>
17433
17434         * gnome/applet/applet-dbus-device.c
17435           gnome/applet/applet-dbus-info.c
17436           gnome/applet/applet-dbus.c
17437           gnome/applet/applet.c
17438           gnome/applet/applet.h
17439                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17440
17441         * gnome/applet/applet-dbus.c
17442                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17443                         so we notice when wired device's carriers come back on.  Should
17444                         fix issue with wired devices being grayed out even if the cable
17445                         is in, for devices that support carrier detection.
17446
17447         * gnome/applet/applet.c
17448                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17449                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17450                         tooltip message
17451                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17452                         Fix situation where applet wouldn't respond to menu selections
17453
17454         * src/NetworkManager.c
17455           src/NetworkManagerDevice.c
17456           src/NetworkManagerDbus.c
17457           src/NetworkManagerDbus.h
17458                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17459
17460         * src/NetworkManagerDbus.c
17461                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17462                         Remove, no longer used or relevant
17463                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17464                 - (nm_dbus_schedule_device_status_change_signal): add
17465
17466         * src/NetworkManagerDevice.c
17467                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17468                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17469                         ie don't deactivate them unless explicitly told to by the user.  Also send
17470                         CARRIER_OFF / CARRIER_ON signals when link changes
17471                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17472                         Don't print error message when device is no longer around
17473                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17474                         not just during activation
17475
17476         * src/NetworkManagerPolicy.c
17477                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17478                         auto-device-selection.
17479                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17480
17481         * src/NetworkManagerSystem.c
17482                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17483                         is no longer present (Bill Moss)
17484
17485         * src/backends/shvar.c
17486                 - (svOpenFile): Open read-only to make SELinux happy
17487
17488         * src/backends/NetworkManagerRedHat.c
17489                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17490                         the path to the ifcfg-* files
17491
17492 2005-05-05  Dan Williams  <dcbw@redhat.com>
17493
17494         * Expose activation stages to NetworkManager clients, like the applet
17495         * Add Diana's progress icons to the applet, cued off NM activation stage
17496         * Use more descriptive tooltips, cued off NM activation stage
17497
17498 2005-05-05  Ray Strode  <rstrode@redhat.com>
17499
17500         * src/nm-netlink-monitor.c:
17501                 - Use clear_event_source instead of g_nullify_pointer() again.
17502
17503 2005-05-05  Dan Williams  <dcbw@redhat.com>
17504
17505         * gnome/applet/main.c
17506                 - Fix session management so the applet is actually managed now
17507
17508         * gnome/applet/passphrase-dialog.c
17509                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17510
17511 2005-05-05  Dan Williams  <dcbw@redhat.com>
17512
17513         Patch from Bill Moss:
17514         * gnome/libnm_glib/libnm_glib.c
17515                 - Fix for dbus-0.33
17516
17517 2005-05-05  Dan Williams  <dcbw@redhat.com>
17518
17519         Suggestion from Bill Moss:
17520         * src/NetworkManagerSystem.c
17521                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17522
17523
17524         * src/NetworkManager.c
17525                 - (nm_data_free): move destruction of the various managers after
17526                         release of device list, because deactivating and freeing a device
17527                         requires at least the named manager
17528                 - (nm_poll_and_update_wireless_link_state):
17529                   (nm_device_link_activated):
17530                   (nm_device_link_deactivated):
17531                         don't grab the device list lock when actually updating device
17532                         link status or strength, since nm_device_set_link_active()
17533                         needs to call nm_get_active_device(), which also locks the device list.
17534
17535         * src/NetworkManagerDevice.c
17536                 - (nm_device_set_link_active): if a device's link switches from off->on,
17537                         and it's wired, and the active device is wireless (or there is no
17538                         active device), activate the new device whose link just came on
17539                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17540                         my only calling the link to the current ap "failed" when more than 2
17541                         consecutive link checks have failed
17542
17543 2005-05-04  Dan Williams  <dcbw@redhat.com>
17544
17545         * src/NetworkManagerDevice.c
17546                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17547                         but let link_to_specific_ap() do the locking where it needs
17548
17549         Patch from Bill Moss:
17550         * src/NetworkManagerSystem.c
17551                 - Set MTU of VPN devices to 1412
17552
17553 2005-05-04  Dan Williams  <dcbw@redhat.com>
17554
17555         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17556
17557         * Fix some holes in device activation and retaining the currently connected
17558                 access point
17559
17560 2005-05-03  Dan Williams  <dcbw@redhat.com>
17561
17562         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17563           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17564           means you need dhcdbd, which you can get here (get the latest one):
17565
17566                 http://people.redhat.com/jvdias/dhcdbd/
17567
17568           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17569           interface as dhcdbd.
17570
17571         * Rewrite device activation to facilitate the new DHCP infrastructure and
17572           future improvements.  Its now "activation request" based, ie there is a single
17573           activation request composed of the device, access point, and other info which
17574           follows the entire activation process.  There are 5 stages of the activation
17575           process which correspond to:
17576
17577                 1) Device preparation
17578                 2) Device configuration (bring it up, set ESSID/Key/etc)
17579                 3) IP Config Start (fire off DHCP if we're using it)
17580                 4) IP Config Get (grab config from DHCP or static config files)
17581                 5) IP Config Commit (set device's IP address, DNS, etc)
17582
17583           Note that there is no longer a "scanning" step, since the access point must
17584           be known _before_ activation starts.  If the access point drops out or does
17585           not exist for some reason, the entire activation process fails and must be
17586           restarted for a different access point or device.
17587
17588         Patch from Bill Moss:
17589         * gnome/applet/applet.c
17590                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17591
17592 2005-04-27  Dan Williams  <dcbw@redhat.com>
17593
17594         * gnome/applet/applet-dbus-vpn.c
17595           gnome/applet/applet.c
17596           gnome/applet/applet.h
17597                 - Fix up active VPN handling so that we reliably know when a VPN
17598                         connection has been deactivated
17599
17600         * src/vpn-manager/nm-vpn-manager.c
17601                 - Remove duplicate VPNConnectionChange signal
17602
17603 2005-04-27  Dan Williams  <dcbw@redhat.com>
17604
17605         Patch from Peter Jones:
17606         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17607
17608         Patch from Bill Moss:
17609         * src/NetworkManagerSystem.c
17610                 - Fix checking of return value from ioctl()
17611
17612 2005-04-27  Dan Williams  <dcbw@redhat.com>
17613
17614         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17615         * Warn and exit if icons cannot be found
17616
17617 2005-04-27  Dan Williams  <dcbw@redhat.com>
17618
17619         Patch from Tom Parker:
17620         * Update debian backend
17621
17622 2005-04-27  Dan Williams  <dcbw@redhat.com>
17623
17624         * Merge the applet and the info-daemon, and move the converged
17625                 applet under gnome/applet
17626         * Move libnm_glib to gnome/libnm_glib
17627         * Convert most dbus calls between the applet, info-daemon, and NM
17628                 into async calls
17629         * Fix a few things valgrind noticed
17630         * Make NM broadcast state more reliably
17631
17632 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17633
17634         * configure.in: Added ne in ALL_LINGUAS
17635
17636 2005-04-15  Dan Williams  <dcbw@redhat.com>
17637
17638         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17639                 code for dbus 0.2x versions
17640
17641 2005-04-15  Dan Williams  <dcbw@redhat.com>
17642
17643         Patches from Tom Parker:
17644         - Fix memleaks
17645         - Join with worker thread rather than polling for its exit
17646
17647         Patch from Bill Moss:
17648         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17649
17650 2005-04-15  Dan Williams  <dcbw@redhat.com>
17651
17652         - Fixes to pass 'make distcheck'
17653
17654 2005-04-15  Dan Williams  <dcbw@redhat.com>
17655
17656         Initial VPN Support
17657                 - supports 'vpnc'
17658                 - reworks device IP configuration, backend files have changed and will need
17659                         to be updated for all distributions.  I will try to do what I can for
17660                         them, but I cannot test them.
17661
17662         - Move named directory to src/named-manager
17663         - Make backends directory self-contained
17664
17665 2005-04-06  Dan Williams  <dcbw@redhat.com>
17666
17667         Add debug code for socket/file descriptor leaks.  We register every socket
17668         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17669         list of sockets that we forgot to close on shutdown.  This also consolidates
17670         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17671
17672 2005-04-06  Dan Williams  <dcbw@redhat.com>
17673
17674         * dhcpcd/dhcpcd.c
17675                 - (dhcp_interface_free): fix a file descriptor leak that may have
17676                         caused network drivers to not unload due to refcounts > 0
17677
17678 2005-04-04  Dan Williams  <dcbw@redhat.com>
17679
17680         * panel-applet/NMWirelessAppletDbus.c
17681                 - (nmwa_dbus_call_nm_method): remove some commented code
17682
17683         * src/NetworkManagerAPList.[ch]
17684                 - (nm_ap_list_remove_ap_by_essid): new function
17685
17686         * src/NetworkManagerDevice.c
17687                 - (nm_device_wireless_force_use): remove access points from the ignore list
17688                         when the user forces them
17689
17690         * src/nm-dbus-device.c
17691                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17692
17693 2005-04-04  Dan Williams  <dcbw@redhat.com>
17694
17695         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17696
17697 2005-04-04  Dan Williams  <dcbw@redhat.com>
17698
17699         * src/NetworkManagerDevice.c:
17700                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17701                         of only erroring after the second consecutive scan times out.  Also
17702                         don't exit when the card requires more time than we can give it, just
17703                         log the event and continue.
17704
17705 2005-04-01  Steve Murphy  <murf@e-tools.com>
17706
17707         * configure.in: Added "rw" to ALL_LINGUAS.
17708
17709 2005-04-01  Dan Williams <dcbw@redhat.com>
17710
17711         Perform scans during device activation, if needed.  Both activation 
17712         and scans run in the same GMainContext.  Therefore, if an access point
17713         is not found by the time the device starts activation, it will not
17714         be available until after activation.  We now try to scan during
17715         activation (in nm_wa_test) every 15s so that all available access
17716         points are more likely to be found and available for the activation
17717         procedure.
17718
17719         Also change nm_wireless_link_state_handle() to only update the "best"
17720         AP if we are not forcing a device and if we are not about to change
17721         state.  This attempts to work around a race when forcing a device,
17722         where the forced AP would get cleared out too soon by the link state
17723         checking timeout in the main thread, and the activation attempt with
17724         that AP would fail.
17725
17726 2005-04-01  Dan Williams <dcbw@redhat.com>
17727
17728         * po/POTFILES.in
17729                 - Update with new translatables
17730
17731 2005-03-31  Dan Williams <dcbw@redhat.com>
17732
17733         * panel-applet/NMWirelessAppletDbus.c
17734                 - Fix device names now that hal has changed device parenting for
17735                         network devices.
17736
17737 2005-03-31  Dan Williams <dcbw@redhat.com>
17738
17739         Tighten up handling of wireless devices that don't support wireless
17740         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17741         hadn't been doing pseudo-scanning for a while either and would just
17742         spin waiting for an access point.  They are now manual devices where
17743         the user must choose the access point from the menu every time.  All
17744         "allowed" access points are listed in the applet's menu regardless
17745         of whether or not they can be seen by the card, since it can't scan
17746         anyway.
17747
17748         * src/NetworkManager.c
17749                 - (nm_wireless_link_state_handle): new function, but only update
17750                         the "best" ap for non-scanning devices when its not activating,
17751                         and when no device is being forced on the card
17752                 - (nm_link_state_monitor): split wireless link state handling out
17753                         into separate function
17754
17755         * src/NetworkManagerDevice.c
17756                 - (nm_device_copy_allowed_to_dev_list): new function
17757                 - (nm_device_new): populate non-scanning cards' AP lists with
17758                         access points from the "allowed" list
17759                 - (nm_device_new): don't start a scanning timeout for devices that
17760                         can't scan
17761                 - (nm_device_activation_schedule_finish): new parameter, should be
17762                         the AP that failed to be connected to, pass it on to the
17763                         activation finish function in NetworkManagerPolicy.c
17764                 - (nm_device_activate_wireless): don't ever try to get a new AP
17765                         for non-scanning devices, just fail.  The user must choose
17766                         a new access point manually.
17767                 - (nm_device_activate): grab the AP that failed connection and
17768                         pass it on
17769                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17770                         a link to it, user must manually choose a new one
17771                 - (nm_device_do_pseudo_scan): remove function
17772                 - (nm_device_wireless_process_scan_results): remove bits for non-
17773                         scanning cards since they never get here
17774                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17775                         and fake the scan list for test devices a bit earlier
17776
17777         * src/NetworkManagerPolicy.c
17778                 - (nm_policy_activation_finish): use the failed_ap that we get
17779                         passed rather than getting the best_ap from the card, which
17780                         may have changed since we were scheduled
17781                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17782                         update their scan list directly from the allowed list when
17783                         we get updates to the allowed list from NetworkManagerInfo
17784
17785         * src/NetworkManagerPolicy.h
17786                 - New member for failed access point in NMActivationResult
17787
17788   -------------------------------------
17789
17790         Driver Notification patch: notifies the user when their driver
17791                 sucks.  Gives them the option to ignore further insertions
17792                 of the card that has the sucky driver.
17793
17794         * NetworkManager.h
17795                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17796                         enum and replace it with NO_CARRIER_DETECT and
17797                         NO_WIRELESS_SCAN
17798
17799         * panel-applet/NMWirelessApplet.[ch]
17800                 - Merge essid.glade -> wireless-applet.glade
17801                 - Implement the "Your driver sucks" notification dialog
17802
17803         * panel-applet/NMWirelessAppletDbus.c
17804                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17805                 - Grab hardware address for each device from NM too
17806                 - Check whether the driver for each device sucks or not whenever
17807                         a new device is noticed
17808
17809         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17810                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17811
17812         * src/NetworkManager.c
17813                 - Fix a double-unref on device removal
17814
17815         * src/NetworkManagerUtils.c
17816                 - Set appropriate driver support level on a device that doesn't
17817                         support scanning or carrier detection
17818
17819         * src/nm-dbus-device.c
17820                 - New "getHWAddress" dbus method on devices
17821                 - getSupportsCarrierDetect -> getDriverSupportLevel
17822
17823 2005-03-31  Dan Williams <dcbw@redhat.com>
17824
17825         * src/NetworkManagerDevice.c
17826                 - (nm_device_wireless_scan): Fix leak of scan results in some
17827                         instances
17828
17829 2005-03-29  Dan Williams <dcbw@redhat.com>
17830
17831         * src/NetworkManager.c
17832                 - (nm_poll_and_update_wireless_link_state): make code less indented
17833
17834         Patch from Bill Moss:
17835         * src/NetworkManager.c
17836                 - (nm_device_update_link_state): Update signal strength on wireless
17837                         devices every time we update link state too.
17838
17839 2005-03-29  Dan Williams <dcbw@redhat.com>
17840
17841         * src/NetworkManagerDevice.c
17842                 - (nm_device_set_essid): Work around Orinoco cards which need
17843                         extra time after setting the ESSID
17844
17845 2005-03-29  Dan Williams <dcbw@redhat.com>
17846
17847         * src/NetworkManagerDevice.c
17848                 - Merge one more bit of Peter Jones' completion patch
17849
17850 2005-03-29  Dan Williams <dcbw@redhat.com>
17851
17852         * src/NetworkManagerDevice.c
17853                 - (nm_device_force_use): Fix possible segfault
17854
17855 2005-03-29  Dan Williams <dcbw@redhat.com>
17856
17857         * src/NetworkManagerDevice.c
17858                 - Use iw_get_ext() where we should rather than iw_set_ext()
17859
17860 2005-03-29  Dan Williams <dcbw@redhat.com>
17861
17862         * src/NetworkManagerDevice.c
17863                 - (nm_device_set_up_down): remove check for unsupported devices
17864                         that caused NM to not bring devices up when they were
17865                         added to the device list.
17866
17867 2005-03-28  Dan Williams <dcbw@redhat.com>
17868
17869         * src/NetworkManagerDevice.c
17870                 - (mdio_read): Fix two bugs that caused all devices to fail
17871                         the MII carrier detection support checks
17872
17873 2005-03-26  Dan Williams <dcbw@redhat.com>
17874
17875         * src/NetworkManagerDevice.c
17876                 - (nm_device_wireless_scan): Remove duplicated scanning code
17877
17878 2005-03-25  Dan Williams <dcbw@redhat.com>
17879
17880         * panel-applet/NMWirelessApplet.c
17881                 - (nmwa_about_cb): Add some more contributors
17882                 - (nmwa_update_state): show the applet when there's no connection
17883                 - Enable the "Stop/Resume all wireless devices" option in the
17884                         context menu
17885                 - New "no connection" icon
17886
17887         * src/NetworkManager.c
17888                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17889                         wireless is disabled or we're asleep
17890
17891         * src/NetworkManagerDHCP.c
17892                 - Remove trailing "\n" on debug messages
17893
17894         * src/NetworkManagerDbus.c
17895                 - (nm_dbus_network_status_from_data): new state "asleep"
17896
17897         * src/NetworkManagerDevice.c
17898                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17899                         latency and wait times for most operations
17900                 - (nm_device_wireless_scan): Don't scan when asleep
17901
17902         * src/NetworkManagerPolicy.c
17903                 - (nm_policy_get_best_device): return no device when asleep
17904                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17905                         for all wireless devices on update, not just active device
17906
17907         * src/NetworkManagerUtils.c
17908                 - Merge Peter Jones' "completion" patch
17909
17910         * src/nm-dbus-nm.c
17911                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17912                         we're told to disable them
17913                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17914
17915         * utils/nm-utils.h
17916                 - New variants of the warn/info/error/debug print functions that can take
17917                         variables rather than static strings
17918
17919 2005-03-24  Dan Williams <dcbw@redhat.com>
17920
17921         * src/NetworkManagerUtils.c
17922                 - (nm_get_device_driver_name): driver names are now on the parents of
17923                         "Network Interface" objects, so look for them there
17924
17925 2005-03-24  Dan Williams <dcbw@redhat.com>
17926
17927         * test/nmtest.c
17928                 - Escape some forgotten object paths before we shove them through dbus
17929
17930 2005-03-24  Dan Williams <dcbw@redhat.com>
17931
17932         * dhcpcd/dhcpcd.[ch]
17933           src/NetworkManagerDHCP.c
17934                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17935                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17936
17937         * src/NetworkManagerDbus.c
17938                 - spacing cleanups
17939
17940         * src/nm-dbus-dhcp.c
17941                 - Make the API suck less.  There is now only 1 type of each function,
17942                         ie only "getInteger" and no longer also "getIntegerv".  All types
17943                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17944                         that will never have more than 1 element.  This should simplify
17945                         things greatly.
17946
17947         * test/nm-dhcp-opt-test.c
17948                 - Make the tool not segfault
17949                 - adapt to new DHCP Options API
17950
17951 2005-03-22  Dan Williams <dcbw@redhat.com>
17952
17953         * src/NetworkManager.c
17954                 - (nm_wired_link_deactivated): actually ignore netlink events from
17955                         wireless devices.
17956
17957 2005-03-22  Dan Williams <dcbw@redhat.com>
17958
17959         * src/NetworkManager.c
17960                 - (nm_wired_link_activated): actually ignore netlink events from
17961                         wireless devices.
17962
17963 2005-03-17  Dan Williams <dcbw@redhat.com>
17964
17965         Patch from Tom Parker:
17966         * src/nm-netlink-monitor.c
17967                 - Include unistd.h
17968         * info-daemon/NetworkManagerInfoDbus.c
17969                 - (nmi_dbus_update_network_auth_method): free GConf values
17970
17971         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17972         * src/NetworkManagerDevice.c
17973                 - (nm_device_set_wireless_config): wait for successful
17974                         association longer for some cards (Atheros a/b/g)
17975
17976 2005-03-15  Ray Strode  <rstrode@redhat.com>
17977
17978         * src/NetworkManager.c:
17979         (sigterm_pipe_handler):
17980         remove bogus FIXME
17981
17982 2005-03-15  Ray Strode  <rstrode@redhat.com>
17983
17984         * src/NetworkManagerDbus.c:
17985         Fix some sign weirdness that gcc4 doesn't like,
17986         and add a header file so PPC can hopefully find
17987         SIGTRAP
17988
17989 2005-03-14  Ray Strode  <rstrode@redhat.com>
17990         
17991         Fourth (probably working) cut at porting to
17992         dbus 0.30 api and new hal. This cut adds
17993         some new logging macros to make debugging
17994         easier.
17995
17996         * dispatcher-daemon/NetworkManagerDispatcher.c:
17997         * info-daemon/NetworkmanagerInfo.c:
17998         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17999         * info-daemon/NetworkManagerInfoVPN.c:
18000         * src/NetworkManager.c:
18001         * src/NetworkManagerAP.c:
18002         * src/NetworkManagerAPList.c:
18003         * src/NetworkManagerDHCP.c:
18004         * src/NetworkManagerDbus.c:
18005         * src/NetworkManagerDevice.c:
18006         * src/NetworkManagerPolicy.c:
18007         * src/NetworkManagerSystem.c:
18008         * src/NetworkManagerUtils.c:
18009         * src/NetworkManagerWireless.c:
18010         * src/autoip.c:
18011         * src/nm-dbus-nm.c:
18012         * src/backends/NetworkManagerDebian.c:
18013         * src/backends/NetworkManagerGentoo.c:
18014         * src/backends/NetworkManagerRedHat.c:
18015         * src/backends/NetworkManagerSlackware.c:
18016         use new logging macros.
18017
18018         * dispatcher-daemon/NetworkManagerDispatcher.c:
18019         (nmd_dbus_filter): s/dbus_free/g_free/
18020
18021         * info-daemon/Makefile.am: link in utils library.
18022         * info-daemon/NetworkmanagerInfo.c: use new logging 
18023         macros.
18024         (nmi_dbus_get_network): don't assume enumerations
18025         are 32-bit.
18026         (nmi_dbus_nmi_message_handler): don't free what 
18027         doesn't belong to us.
18028
18029         * libnm_glib/libnm_glib.c:
18030         (libnm_glib_get_nm_status): 
18031         (libnm_glib_init): don't free what doesn't
18032         belong to us.
18033         (libnm_glib_dbus): strdup result, so it doesn't get
18034         lost when message is unref'd.
18035
18036         * panel-applet/NMWirelessAppletDbus.c:
18037         (nmwa_dbus_update_devices): s/dbus_free/g_free/
18038
18039         * src/NetworkManager.c:
18040         (nm_monitor_wired_link_state): request initial status 
18041         dump of all cards when we start up, instead of relying
18042         on /sys/.../carrier.
18043         (nm_info_handler), (nm_set_up_log_handlers): 
18044         log handlers to specify what syslog priorites 
18045         the logging macros default to.
18046
18047         * src/NetworkManagerAPList.c: 
18048         (nm_ap_list_populate_from_nmi):
18049         s/dbus_free_string_array/g_strfreev/
18050
18051         * src/NetworkManagerDbus.c:
18052         (nm_dbus_get_network_object):
18053         validate d-bus message argument types.
18054         Advance message iterator after reading argument,
18055         prepend instead of append to GSList.
18056
18057         * src/NetworkManagerDevice.c:
18058         (nm_device_probe_wired_link_status):
18059         remove redundant /sys in /sys path. remove wrong
18060         contents == NULL means has carrier assumption.
18061
18062         * src/nm-netlink-monitor.c 
18063         (nm_netlink_monitor_request_status): implement
18064         function to ask kernel to dump interface link
18065         status over netlink socket.
18066
18067         * test/*.c: s/dbus_free/g_free/
18068
18069         * utils/nm-utils.h:
18070         (nm_print_backtrace): new macro to print backtrace.
18071         (nm_get_timestamp): new macro to get sub-second precise
18072         unix timestamp.
18073         (nm_info), (nm_debug), (nm_warning), (nm_error):
18074         new logging functions. nm_info just prints,
18075         nm_debug includes timestamp and function,
18076         nm_warning includes function, nm_error includes
18077         backtrace and sigtrap.
18078
18079 2005-03-11  Ray Strode  <rstrode@redhat.com>
18080
18081         Third (unfinished, partially working) cut at porting to 
18082         dbus 0.30 api and new hal.
18083
18084         * info-daemon/NetworkManagerInfoDbus.c:
18085                 don't free null arrays.
18086
18087         * panel-applet/NMWirelessAppletDbus.c: 
18088         * src/nm-dbus-device.c:
18089         * src/nm-dbus-net.c: 
18090         * src/NetworkManagerDbus.c: more 
18091         STRING -> OBJECT_PATH fun
18092         * src/NetworkManagerDevice.c:
18093         * src/NetworkManagerDevice.h:
18094         (rename nm_device_get_link_active): rename to 
18095         nm_device_has_active_link
18096         (nm_device_wireless_link_active): rename to
18097         nm_device_probe_wireless_link_state
18098         (nm_device_wired_link_active): rename to
18099         nm_device_probe_wired_link_state.  Rewrite to
18100         use carrier file since hal doesn't maintain
18101         link state anymore.
18102         (nm_device_update_link_active): rename to
18103         nm_device_update_link_state
18104         * src/NetworkManagerPolicy.c 
18105           (nm_policy_activation_finish): check for NULL
18106           MAC address.
18107
18108         * src/Makefile.am:
18109         * src/NetworkManagerMain.h: 
18110         * src/NetworkManager.c:
18111         * src/nm-netlink-monitor.c:
18112         * src/nm-netlink-monitor.h: New class to support
18113         monitoring wired ethernet link status, since HAL
18114         doesn't export that information anymore.
18115
18116 2005-03-09  Ray Strode  <rstrode@redhat.com>
18117
18118         Second (unfinished, unworking) cut at porting to 
18119         dbus 0.30 api.
18120
18121         * dispatcher-daemon/NetworkManagerDispatcher.c:
18122         * info-daemon/NetworkManagerInfoDbus.c:
18123         * panel-applet/NMWirelessAppletDbus.c:
18124         * src/NetworkManagerDbusUtils.c:
18125         * src/NetworkManagerDbusUtils.h:
18126         * src/nm-dbus-device.c:
18127         * src/nm-dbus-nm.c:
18128         * test/nmtest.c: support dbus "object path" type
18129
18130         * configure.in: 
18131         * Makefile.am:
18132         * info-daemon/Makefile.am:
18133         * libnm_glib/Makefile.am:
18134         * panel-applet/Makefile.am:
18135         * dispatcher-daemon/Makefile.am
18136         * src/Makefile.am:
18137         * test/Makefile.am:
18138         * utils/Makefile.am: 
18139         * utils/nm-utils.c: 
18140         * utils/nm-utils.h: new utils static lib
18141
18142 2005-03-07  Ray Strode  <rstrode@redhat.com>
18143
18144         * info-daemon/NetworkManagerInfoDbus.c:
18145         * libnm_glib/libnm_glib.c:
18146         * panel-applet/NMWirelessAppletDbus.c:
18147         * src/NetworkManager.c:
18148         * src/NetworkManagerDbus.c:
18149         * src/NetworkManagerDevice.c:
18150         * src/NetworkManagerUtils.c:
18151         * src/nm-dbus-device.c:
18152         * src/nm-dbus-dhcp.c:
18153         * src/nm-dbus-net.c:
18154         * src/nm-dbus-nm.c:
18155         * test/nminfotest.c:
18156         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18157
18158 2005-03-04  Dan Williams  <dcbw@redhat.com>
18159
18160         * configure.in
18161                 - Mark HEAD as 0.4
18162
18163 2005-03-04  Dan Williams  <dcbw@redhat.com>
18164
18165         Patch from Peter Jones:
18166         - Make stuff work with gcc 4.0
18167
18168 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18169
18170         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18171
18172 2005-02-27  Jim Huang  <jserv@kaffe.org>
18173
18174         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18175
18176 2005-02-27  Dan Williams  <dcbw@redhat.com>
18177
18178         Patch from Bill Moss:
18179         * panel-applet/NMWirelessAppletDbus.c
18180                 - Make sure strength for current access point is up-to-date when we
18181                         update the gui data model
18182
18183 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18184
18185         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18186
18187 2005-02-27  Dan Williams  <dcbw@redhat.com>
18188
18189         * src/backends/NetworkManagerRedHat.c
18190                 - (nm_system_init): Kill any dhclient processes lying around as well
18191                         as stopping 'nifd' if its already been started.  NetworkManager
18192                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18193
18194 2005-02-27  Dan Williams  <dcbw@redhat.com>
18195
18196         * panel-applet/NMWirelessApplet.c
18197                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18198                         dbus data model, not the GUI data model twice.
18199
18200 2005-02-27  Dan Williams  <dcbw@redhat.com>
18201
18202         * panel-applet/NMWirelessApplet.[ch]
18203           panel-applet/NMWirelessAppletDbus.[ch]
18204                 - Move to incremental network updates.  Instead of blowing away our list
18205                         of devices every time we get a signal from NetworkManager, we now
18206                         incrementally add/remove networks when NetworkManager notifies us that
18207                         a new network has appeared or disappered.  Strength updates now happen
18208                         on-the-fly for each access point as well.  There are now two copies of
18209                         data from NetworkManager: one for the dbus side, and one for the gui side.
18210                         When the dbus side data is modified, it is copied over to the gui side
18211                         so we don't have to hold the data_mutex for long periods of time (and
18212                         therefore block animation of the applet's icon).
18213                 - Clean up some memleaks too
18214
18215         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18216                 - Minor code beautification
18217
18218         * src/NetworkManagerAPList.c
18219                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18220                         completely new and whether or not an existing one's strength was updated.
18221                         Try to fix multiple access points and signal strength by using the highest
18222                         signal strength in each scan for any given ESSID.
18223
18224         * src/NetworkManagerDbus.[ch]
18225                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18226                         wireless networks; now we have only WirelessNetworkUpdate which includes
18227                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18228                 - Kill usage of DbusMessageIter
18229
18230         * src/NetworkManagerDevice.c
18231                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18232                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18233                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18234                         currently associated with from the network list.
18235                 - Update for new signals during scan, send out Appeared, Disappeared, or
18236                         StrengthChanged when necessary.
18237
18238 2005-02-25  Dan Williams  <dcbw@redhat.com>
18239
18240         * README
18241                 - Line break the README
18242
18243 2005-02-25  Dan Williams  <dcbw@redhat.com>
18244
18245         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18246                 - Remove usage of gtk_window_set_default_size()
18247
18248         * panel-applet/essid.glade
18249                 - Stick default size here
18250                 - Add in random crap that current glade wants to add in now
18251
18252 2005-02-25  Dan Williams  <dcbw@redhat.com>
18253
18254         * src/backends/NetworkManagerRedHat.c
18255                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18256                         and that we actually tell nscd to reload the hosts cache when it changes
18257
18258 2005-02-25  Dan Williams  <dcbw@redhat.com>
18259
18260         * info-daemon/NetworkManagerInfoDbus.c
18261                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18262
18263         * test/nminfotest.c
18264                 - Whack usage of DbusMessageIter
18265                 - Clean up DbusError and DbusMessage handling and freeing
18266                 - Remove unused unregister handler
18267
18268         * test/nmtest.c
18269                 - Whack usage of DbusMessageIter
18270
18271         * test/nmtestdevices.c
18272                 - Whack usage of DbusMessageIter
18273
18274 2005-02-25  Dan Williams  <dcbw@redhat.com>
18275
18276         * NetworkManager.h
18277                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18278                         signal
18279
18280 2005-02-25  Dan Williams  <dcbw@redhat.com>
18281
18282         * named/nm-named-manager.c
18283                 - Ensure that pid and watch variables for child named process get cleared out
18284                         when the child goes away.
18285
18286 2005-02-22  Dan Williams  <dcbw@redhat.com>
18287
18288         * src/NetworkManagerPolicy.c
18289                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18290                         and NULL out data->active_device so that we have to choose another one.
18291                         This may make NetworkManager keep attempting to connect to a wired network
18292                         if it fails, but if it keeps failing the wired network has more problems than
18293                         just NetworkManager.
18294
18295         * src/backends/NetworkManagerRedHat.c
18296                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18297                         is already running
18298
18299         * named/nm-named-manager.c
18300                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18301                         named so that the distro can flush whatever name service caching
18302                         daemon it uses
18303
18304 2005-02-21  Dan Williams  <dcbw@redhat.com>
18305
18306         * src/NetworkManagerDHCP.[ch]
18307                 - (nm_device_dhcp_remove_timeouts): new function
18308
18309         * src/NetworkManagerDevice.c
18310                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18311                         remove the DHCP timeouts.
18312
18313 2005-02-21  Dan Williams  <dcbw@redhat.com>
18314
18315         * panel-applet/NMWirelessApplet.[ch]
18316           panel-applet/menu-info.[ch]
18317                 - Give the panel applet some major love: menu items are no longer
18318                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18319                         This allows the applet to actually reflect theme changes correctly,
18320                         since themeing of subclassed items in GTK _sucks_.
18321
18322 2005-02-18  Dan Williams  <dcbw@redhat.com>
18323
18324         * libnm_glib/libnm_glib.[ch]
18325           test/libnm_glib_test.c
18326                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18327                         and its data, and doesn't have to free the callback data anymore
18328
18329 2005-02-18  Dan Williams  <dcbw@redhat.com>
18330
18331         * panel-applet/NMWirelessApplet.c
18332                 - Revert 2005-02-18 William Jon McCann fix for standard
18333                         copyright string until it passes 'make distcheck'.
18334                         With standard copyright string, xgettext complains
18335                         about "Non-ASCII string at ...".
18336
18337 2005-02-18  Dan Williams  <dcbw@redhat.com>
18338
18339         * panel-applet/essid.glade
18340           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18341                 - Correct spelling of "adaptor"->"adapter"
18342
18343 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18344
18345         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18346         (nmwa_about_cb): Use standard copyright string.  Update comment
18347         text to reflect that it is a notification area applet.  Remove
18348         leading newline in authors list.
18349         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18350         instead of on parent menu item activation.  Fixes #167550.
18351
18352 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18353
18354         * panel-applet/essid.glade: Capitalize items as per HIG.
18355           Fixes #167632
18356
18357 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18358
18359         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18360         files for GTK 2.4 or lower, since now public in GTK 2.6.
18361
18362         * panel-applet/essid.glade: Don't specify window size.
18363         
18364 2005-02-17  Dan Williams  <dcbw@redhat.com>
18365
18366         Caught by Bill Moss:
18367         * dhcpcd/client.c
18368                 - Time remaining for DHCP transaction calculation was incorrectly
18369                         inside a #ifdef DEBUG
18370
18371 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18372
18373         * configure.in: Added fr (French) to ALL_LINGUAS.
18374
18375 2005-02-14  Dan Williams  <dcbw@redhat.com>
18376
18377         * src/NetworkManagerDHCP.c
18378                 - (set_domain_searches): Fix free of invalid pointer
18379
18380 2005-02-14  Dan Williams  <dcbw@redhat.com>
18381
18382         Patch from Peter Jones:
18383         * dhcpcd/client.c
18384                 - Ensure we return RET_DHCP_CEASED everywhere we should
18385         * dhcpcd/udpipgen.c
18386                 - Use faster TOS for IP packets
18387                 - Don't set ip_id since we're UDP
18388
18389         Patch from Tomislav Vujec:
18390         * src/nm-dbus-dhcp.c
18391           test/nm-dhcp-opt-test.c
18392                 - Clean up warnings to enable cvs tree compilation.
18393
18394 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18395
18396         * configure.in
18397           po/hr.po
18398                 - Add the Croatian locale.
18399
18400 2005-02-14  Colin Walters  <walters@verbum.org>
18401
18402         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18403         list of domains to search.
18404         
18405         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18406
18407 2005-02-13  Dan Williams  <dcbw@redhat.com>
18408
18409         * dhcpcd/client.c
18410                 - Debug output cleanups of DHCP option printing and parsing.
18411
18412 2005-02-13  Dan Williams  <dcbw@redhat.com>
18413
18414         Patch from Dan Reed:  DHCP options D-BUS API
18415                 Exposes the DHCP options that a device receives to clients over D-BUS.
18416
18417         * configure.in
18418                 - A few cleanups
18419
18420         * dhcpcd/client.h
18421                 - Correct names, option length, and types for DHCP options
18422
18423         * dhcpcd/dhcpcd.[ch]
18424                 - Clarify function names that access DHCP options & data
18425
18426         * src/NetworkManagerDHCP.c
18427                 - Use new DHCP data access functions
18428
18429         * src/NetworkManagerDbus.c
18430                 - Message handler for DHCP functions
18431
18432         * src/nm-dbus-dhcp.[ch] (new)
18433                 - DHCP dbus methods
18434
18435         * test/nm-dhcp-opt-test.c
18436                 - Test DHCP D-BUS API and return all present DHCP options
18437
18438 2005-02-12  Dan Williams  <dcbw@redhat.com>
18439
18440         * test/Makefile.am
18441           test/nmclienttest.c
18442           test/nmtest.c
18443                 - Move nmclienttest.c -> nmtest.c
18444
18445 2005-02-12  Dan Williams  <dcbw@redhat.com>
18446
18447         * dhcpcd/buildmsg.c
18448                 - Pad DHCP packets until they are at least 300 bytes in size.
18449
18450 2005-02-11  Dan Williams  <dcbw@redhat.com>
18451
18452         * dhcpcd/client.c
18453                 - (dhcp_init): only print out client ID and class ID if they are specified
18454
18455         * src/NetworkManagerDbus.[ch]
18456           src/nm-dbus-nm.[ch]
18457           src/nm-dbus-device.[ch]
18458           src/nm-dbus-net.[ch]
18459                 - Move NM, Device, and Net functions to separate files and use the
18460                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18461                         method dispatching
18462
18463         * src/NetworkManagerDbusUtils.c
18464                 - Add new validate_method called before each dispatch (if present)
18465                         that can validate the method call
18466
18467         * src/NetworkManagerWireless.c
18468                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18469                         levels never to be evaluated
18470
18471         Patch from j@bootlab.org
18472         * src/NetworkManagerDevice.c
18473                 - Add typedef for "u64"
18474
18475         * src/backends/NetworkManagerDebian.c
18476                 - Copy in Dave Woodhouse's fixes for IPv6
18477
18478 2005-02-11  Dan Williams  <dcbw@redhat.com>
18479
18480         Patch from Dave Woodhouse for IPv6:
18481         * src/NetworkManagerUtils.c
18482                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18483                         and multicast addresses
18484
18485         * src/NetworkManagerDevice.c
18486                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18487                         after bringing up a card.
18488
18489 2005-02-10  Dan Williams  <dcbw@redhat.com>
18490
18491         Patch from Dave Woodhouse:
18492         * src/NetworkManagerSystem.h
18493           src/backends/NetworkManagerDebian.c
18494           src/backends/NetworkManagerGentoo.c
18495           src/backends/NetworkManagerSlackware.c
18496                 - New nm_system_device_add_ip6_link_address() function to add link-local
18497                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18498
18499         * src/backends/NetworkManagerRedHat.c
18500                 - (nm_system_device_add_ip6_link_address): implement
18501                 - (nm_system_device_flush_addresses): revert to previous behavior of
18502                         flushing all addresses
18503
18504 2005-02-10  Dan Williams  <dcbw@redhat.com>
18505
18506         Patch from Tom Parker:
18507         * src/NetworkManagerDevice.c
18508                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18509                         mii.h headers are broken, and instead use our own typedefs
18510
18511 2005-02-10  Dan Williams  <dcbw@redhat.com>
18512
18513         * dhcpcd/buildmsg.c
18514                 - (fill_host_and_class_id): only fill in client and class IDs if
18515                         they are set by callers.
18516
18517         * dhcpcd/client.c
18518                 - (class_id_setup): don't autogenerate a class ID, only use one
18519                         we're given, if any.
18520                 - (client_id_setup): don't autogenerate a client ID, only use one
18521                         we're given, if any.
18522
18523         * dhcpcd/dhcpcd.c
18524                 - (dhcp_interface_init): ensure that client options are correctly
18525                         NULL terminated
18526
18527         * src/NetworkManagerDHCP.c
18528                 - (nm_device_dhcp_request): pass hostname to dhcp library
18529
18530 2005-02-10  Dan Williams  <dcbw@redhat.com>
18531
18532         * dhcpcd/client.c
18533                 - #rh147661# Don't send kernel version in DHCP requests
18534
18535         * src/NetworkManagerSystem.h
18536           src/backends/NetworkManagerDebian.c
18537           src/backends/NetworkManagerGentoo.c
18538           src/backends/NetworkManagerRedHat.c
18539           src/backends/NetworkManagerSlackware.c
18540                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18541                         functions, they are no longer used anyway
18542
18543         * src/backends/NetworkManagerRedHat.c
18544                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18545                         addresses in an attempt to keep IPv6 local-scope addresses around
18546
18547 2005-02-10  Dan Williams  <dcbw@redhat.com>
18548
18549         * src/NetworkManager.c
18550                 - (nm_create_device_and_add_to_list): change the add message slightly
18551
18552         * src/NetworkManagerUtils.c
18553                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18554                         Return driver name to calling function
18555                 - (nm_get_driver_support_level): print out the driver a device is using
18556                         during the support check
18557
18558         Patch from Dave Woodhouse:
18559         * dhcpcd/udpipgen.c
18560                 - (in_cksum): copy last byte of odd-sized packets into a
18561                         'u_short' rather than a 'u_char', should fix wrong checksums
18562                         on big-endian platforms
18563
18564 2005-02-09  Dan Williams  <dcbw@redhat.com>
18565
18566         * Clean up usage of GSList objects and looping through their members
18567         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18568                 now.
18569         * Fix problem where even if scanning was turned off, card would still
18570                 cycle through frequencies.
18571
18572 2005-02-08  Dan Williams  <dcbw@redhat.com>
18573
18574         * panel-applet/NMWirelessApplet.c
18575                 - Fix for gtk 2.4
18576
18577 2005-02-08  Dan Williams  <dcbw@redhat.com>
18578
18579         Patch from Bill Moss
18580         * panel-applet/NMWirelessApplet.c
18581                 - Restore correct ESSID in tooltips
18582
18583 2005-02-07  Dan Williams  <dcbw@redhat.com>
18584
18585         * panel-applet/NMWirelessApplet.[ch]
18586                 - Add a context menu that contains:
18587                         Pause/Resume Wireless Scanning
18588                         Stop/Start All Wireless Devices
18589                         About...
18590                 - Grab active device strength off active device,
18591                         not its network
18592
18593         * panel-applet/NMWirelessAppletDbus.[ch]
18594                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18595                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18596                 - Update active device strength every 2 seconds, not every 1 second
18597
18598         * panel-applet/menu-info.c
18599                 - Only disable wired devices in the menu when they support carrier detection,
18600                         and don't currently have a link.  Non-carrier-detect devices will always
18601                         remain choosable
18602
18603         * src/Makefile.am
18604           src/NetworkManagerDbusUtils.[ch]
18605                 - Add new new dbus utils sources
18606
18607         * src/NetworkManager.c
18608                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18609                         with the boolean parameter
18610                 - Set scanning_enabled & wireless_enabled to TRUE
18611
18612         * src/NetworkManagerDbus.c
18613                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18614                 - Implement scanning & wireless enable/disable calls
18615                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18616
18617         * src/NetworkManagerDevice.c
18618                 - New link detection stuff again...
18619                         o  Create device's mainloop earlier (but don't run it earlier)
18620                         o  Hook up new carrier-detect support stuff
18621                         o  Add in the ethtool & mii support detection code
18622                 - Don't scan if scanning is disabled
18623
18624         * src/NetworkManagerPolicy.c
18625                 - Never automatically choose a device that doesn't support carrier detection
18626                 - Don't automatically choose a wireless device if wireless is disabled
18627
18628 2005-02-07  Dan Williams  <dcbw@redhat.com>
18629
18630         * libnm_glib/libnm_glib.c
18631                 - Small cleanup in element list iteration
18632
18633 2005-02-07  Dan Williams  <dcbw@redhat.com>
18634
18635         * src/NetworkManagerWireless.c
18636                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18637                         to be in line with the WEXT quality specification
18638
18639 2005-02-02  Dan Williams  <dcbw@redhat.com>
18640
18641         Patch from Nathan Fredrickson <nathan@silverorange.com>
18642         * Fix up compile for deprecation of libgnomeui
18643                 - Switch to <glib/gi18n.h> from <libintl.h>
18644                 - Remove <libgnomeui/libgnomeui.h> includes
18645                 - Use gtk_window_set_default_icon_from_file() rather than
18646                         gnome_window_set_default_icon_from_file()
18647
18648         * named/nm-named-manager.c
18649                 - (generate_named_conf): Fix return-nothing in non-void
18650                         function
18651
18652 2005-02-02  Dan Williams  <dcbw@redhat.com>
18653
18654         * Clean up unused variables and the like
18655
18656 2005-02-02  Dan Williams  <dcbw@redhat.com>
18657
18658         * src/NetworkManagerAPList.c
18659                 - (nm_ap_list_merge_scanned_ap): merge strength too
18660
18661         * src/NetworkManagerUtils.c
18662                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18663                         of locking issues by printing out prettier information than g_mutex_lock
18664                 - Print out names of mutexes registered with nm_register_mutex_desc()
18665                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18666                         us to seemingly block here for too long
18667
18668         * src/NetworkManager.c
18669           src/NetworkManagerAPList.c
18670           src/NetworkManagerDevice.c
18671                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18672                         so we get better debug information printed
18673
18674         * src/NetworkManagerDbus.c
18675                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18676                         since it sometimes has locking side effects
18677                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18678                         from 10s
18679                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18680                         we don't need a switch.  This gets called often enough that we can't block
18681                         until the scan mutex is acquired, because we'll block on device activation
18682                         and a few other things, which hangs main thread for too long.
18683
18684         * src/NetworkManagerPolicy.c
18685                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18686                         nm_device_need_ap_switch() will be called               
18687
18688 2005-02-02  Dan Williams  <dcbw@redhat.com>
18689
18690         * panel-applet/NMWirelessApplet.c
18691                 - Display name of wireless network we are connecting to or connected to
18692                         in the tooltip of the applet
18693
18694 2005-02-02  Dan Williams  <dcbw@redhat.com>
18695
18696         * src/NetworkManagerDHCP.c
18697                 - Hopefully fix double-default-route problem by cleaning up the default
18698                         route added by DHCP code right before the DHCP transaction begins
18699
18700 2005-02-02  Dan Williams  <dcbw@redhat.com>
18701
18702         * named/nm-named-manager.c
18703                 - Write out valid resolv.conf when we exit
18704
18705 2005-02-01  Dan Williams  <dcbw@redhat.com>
18706
18707         Patch from Colin Walters:
18708         * named/nm-named-manager.c
18709                 - Make multi-domain search options work
18710
18711 2005-01-31  Dan Williams  <dcbw@redhat.com>
18712
18713         * info-daemon/NetworkManagerInfoDbus.c
18714                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18715
18716         * src/NetworkManagerDevice.c
18717                 - (nm_device_new): Don't store the entire range struct, use only what we need
18718                         (which is currently avg_quality, max_quality, and frequencies).  Also
18719                         zero device structure when we've free'd it to maybe expose errors down
18720                         the line.
18721                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18722                         quality data from the card since quality will be useless during a scan.
18723                         Call updated wireless qual-to-percent function with values stored in
18724                         nm_device_new() earlier.
18725                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18726                         nm_device_get_bad_crypt_packets())
18727                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18728                         nm_device_new()
18729                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18730                         list if available.  Problem was this: when the WEP key is wrong, NM will
18731                         try OS then SK modes, and then get stuck in SK mode after that.  This
18732                         should reset it.
18733                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18734                         function
18735
18736         * src/NetworkManagerWireless.c
18737                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18738                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18739                         if that's all present, otherwise fall back to signal-to-noise ratios.
18740
18741 2005-01-29  Dan Williams  <dcbw@redhat.com>
18742
18743         * initscript/RedHat/NetworkManager
18744                 - Don't spit out sysctl stuff to console
18745
18746         * libnm_glib/libnm_glib.c
18747                 - (libnm_glib_init): call dbus_g_thread_init()
18748
18749         * panel-applet/NMWirelessAppletDbus.c
18750                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18751
18752         * src/NetworkManager.c
18753                 - (main): call dbus_g_thread_init()
18754
18755         * src/NetworkManagerAPList.c
18756                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18757                         so we can actually see what's there in a normal syslog
18758
18759         * src/NetworkManagerDevice.c
18760                 - (nm_device_activate_wireless): print out the "waiting for access point"
18761                         message only once, then say what access point we actually got after
18762                         the wait.
18763                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18764                         function, wait until the scan is done.  Scans may change the ESSID of
18765                         the card, making this function think we need to switch access points
18766                 - (nm_device_wireless_process_scan_results): for artificial access points
18767                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18768                         prevents collisions with the scanning code, which may change the card's
18769                         ESSID and cause the access point to get dropped from the device's AP
18770                         list.  Also increase the keep-around time to 2m from 60s since the max
18771                         scan interval could be 60s in some cases.
18772
18773         * src/NetworkManagerPolicy.c
18774                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18775                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18776                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18777                         between NM and NMI.
18778
18779 2005-01-27  Dan Williams  <dcbw@redhat.com>
18780
18781         * info-daemon/NetworkManagerInfoDbus.c
18782                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18783                         GConf, make a minimal entry for it (essid & timestamp)
18784
18785         * src/NetworkManagerAPList.c
18786                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18787                         NetworkManagerInfo isn't running
18788
18789         * src/NetworkManagerDbus.[ch]
18790                 - (nm_dbus_nmi_is_running): new function
18791
18792         * src/NetworkManagerDevice.c
18793                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18794                         address to garbage.
18795
18796         * src/NetworkManagerPolicy.c
18797                 - (nm_policy_activation_finish): On successful activation, make sure
18798                         the "best" AP has a MAC address, and don't tell NMI to add the
18799                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18800                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18801                         access point after refreshing our allowed list if it doesn't already
18802                         have a "best" access point.
18803
18804 2005-01-25  Dan Williams  <dcbw@redhat.com>
18805
18806         * panel-applet/NMWirelessAppletDbus.c
18807                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18808                         so we check for NM_DBUS_SERVICE rather than not for it
18809
18810         * libnm_glib/libnm_glib.c
18811                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18812                         ServiceOwnerChanged signal
18813
18814 2005-01-25  Dan Williams  <dcbw@redhat.com>
18815
18816         * configure.in
18817                 - Check DBUS version in configure, and set the C macros
18818                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18819
18820         * info-daemon/NetworkManagerInfoDbus.c
18821                 - Remove #if 0-d section of code that quit NMI if NM went away.
18822
18823         * panel-applet/NMWirelessAppletDbus.c
18824                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18825
18826         * src/NetworkManager.c
18827           src/NetworkManagerMain.h
18828           src/NetworkManagerDbus.c
18829                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18830                 - Make updating of our Allowed Wireless Network lists from NMI
18831                         an idle function in the main thread now, with a high priority.
18832
18833 2005-01-24  Dan Williams  <dcbw@redhat.com>
18834
18835         * panel-applet/gtkcellview.[ch]
18836           panel-applet/menu-info.c
18837                 - Fix GTK version checks to be <= rather than <
18838
18839         * test/Makefile.am
18840                 - Include the libtool archive of libnm_glib rather than
18841                         trying to pull in the .so
18842
18843 2005-01-24  Dan Williams  <dcbw@redhat.com>
18844
18845         * src/NetworkManagerDevice.c
18846           src/NetworkManagerDevicePrivate.h
18847                 - Block nm_device_new() until our device's worker thread has had a
18848                         chance to start up.  Fixes a race between main thread and worker
18849                         thread starting that caused activation requests to get lost.
18850
18851 2005-01-24  Dan Williams  <dcbw@redhat.com>
18852
18853         * initscript/RedHat/NetworkManager
18854                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18855                         to add the NM startup script at priority 50, which was
18856                         way too early
18857
18858 2005-01-24  Colin Walters  <walters@redhat.com>
18859
18860         * named/named.conf: Use any port for query source instead of
18861         restricting to port 53.
18862
18863 2005-01-24  Dan Williams  <dcbw@redhat.com>
18864
18865         * initscript/RedHat/NetworkManager
18866                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18867                         to add the NM startup script at priority 50, which was
18868                         way too early
18869
18870 2005-01-24  Dan Williams  <dcbw@redhat.com>
18871
18872         Patch from Tom Parker <palfrey@tevp.net>
18873         * Fix up compile warnings & errors in the wireless applet
18874
18875 2005-01-24  Dan Williams  <dcbw@redhat.com>
18876
18877         * panel-applet/NMWirelessApplet.c
18878                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18879
18880 2005-01-24  Dan Williams  <dcbw@redhat.com>
18881
18882         * panel-applet/gtkcellview.[ch]
18883                 - Only compile these files for GTK 2.4 or lower, since 
18884                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18885                         when choosing "Other Wireless Networks" from the panel
18886                         applet menu
18887
18888 2005-01-21  Dan Williams  <dcbw@redhat.com>
18889
18890         * src/NetworkManager.c
18891                 - Daemonize earlier so that glib doesn't get confused (?)
18892
18893 2005-01-21  Dan Williams  <dcbw@redhat.com>
18894
18895         * panel-applet/NMWirelessApplet.[ch]
18896           panel-applet/NMWirelessAppletDbus.c
18897           panel-applet/menu-info.c
18898           src/NetworkManagerDevice.c
18899                 - Disable wired devices in the menu when they have no link.
18900
18901 2005-01-21  Dan Williams  <dcbw@redhat.com>
18902
18903         * Cache last-known-good wireless authentication method in
18904                 NetworkManagerInfo, and use that method first during
18905                 wireless device activation.  Should speed up devices that
18906                 need Shared Key authentication method since Open System is
18907                 now the default.
18908
18909         * Remove the hack to not do full activation on wired connections
18910                 that are active when we launch, it causes too many problems
18911                 with name resolution and was a hack in the first place.
18912
18913         * Re-work wireless device activation again somewhat to have a
18914                 clearer chain of events and to use last-known-good
18915                 authentication method of the access point.  Also provide
18916                 better status throughout activation to ensure the applet
18917                 can tell the user exactly what's going on.
18918
18919         * Remove the "find wireless network" code and now simply attempt
18920                 to activate with that access point.  This reduces the delay
18921                 between selecting "Other wireless Network" and actually
18922                 connecting to that network.
18923
18924         * Correctly stop the device's worker thread when its removed.
18925
18926 2005-01-21  Dan Williams  <dcbw@redhat.com>
18927
18928         * dhcpcd/client.c
18929                 - Clean up some of the debug messages
18930
18931 2005-01-21  Dan Williams  <dcbw@redhat.com>
18932
18933         * Add new icons, more frames of animation
18934         * Remove some hacks to get the panel applet to display correct
18935                 status, an NM update will soon follow that will fix the
18936                 real issue.
18937
18938 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18939
18940         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18941         the first include for working i18n. Also, don't include it in .h files
18942         * panel-applet/NMWirelessApplet.h: Same
18943         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18944         * panel-applet/menu-info.c: Same
18945
18946 2005-01-18  Dan Williams <dcbw@redhat.com>
18947
18948         * dhcpcd/client.c
18949                 - Remove some debug messages
18950                 - Wrap others in #ifdef DEBUG/#endif
18951
18952         * src/NetworkManager.c
18953                 - Remove some debug messages
18954                 - Clarify some debug messages
18955                 - Remove code related to old single-thread wireless scanning
18956
18957         * src/NetworkManagerAP.[ch]
18958                 - New AP property "last_seen" to track how recently an AP was
18959                         found in a scan
18960                 - Start using 'const' more in function arguments
18961
18962         * src/NetworkManagerAPList.[ch]
18963                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18964                         of an AP found in an AP list from a source AP, or if not found
18965                         in the list add the source AP
18966                 - (nm_ap_list_combine): remove, no longer needed
18967
18968         * src/NetworkManagerDevice.c
18969                 - Each device now has a "worker" thread from start to end of its life.
18970                         Scanning for wireless devices now happens in that thread,
18971                         not in a single "wireless scanning thread" for all devices as
18972                         previously.  Activation consists of adding an idle handler to the
18973                         thread's main loop/context, which gets run at the next available
18974                         opportunity.
18975                 - Wireless scanning is also simplified, there is now only one list of
18976                         access points per wireless device, and APs older than 60s are
18977                         removed from the list.  Previously, we kept results for the last
18978                         3 scans and merged whole lists, which was complicated.
18979                 - Cleaned up activation debug messages.
18980                 - Wireless activation and access-point search routines now use Open System
18981                         authentication before trying Shared Key.
18982                 - Removed some code in nm_device_update_best_ap() that could cause cards
18983                         to loose their link to the access point.
18984                 - Scanning now uses a backoff algorithm, where the inverval becomes
18985                         progressively longer between scans when the list of scanned access
18986                         points doesn't change.  A change will revert to the shortest scan
18987                         interval (20s).
18988
18989         * src/NetworkManagerWireless.[ch]
18990                 - Remove code related to old single-thread wireless scanning
18991
18992 2005-01-18  Colin Walters  <walters@redhat.com>
18993
18994         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18995         of older nameservers.
18996
18997 2005-01-18  Colin Walters  <walters@redhat.com>
18998
18999         * named/nm-named-manager.c (generate_named_conf): Many fixes
19000         to config file generation.
19001         (safer_kill): Remove, was too much trouble for little gain.
19002         (nm_named_manager_start): Run named as NM_NAMED_USER.
19003
19004         * configure.in: Add option --with-named-user.
19005
19006 2005-01-14  Colin Walters  <walters@redhat.com>
19007
19008         Patch from ed@catmur.co.uk (Ed Catmur)
19009
19010         * named/nm-named-manager.c: Add "context" property.
19011         Use it to add child watch source in specific GMainContext.
19012
19013         * src/NetworkManager.c (nm_data_new): Initialize
19014         named with correct main context.  Start named only
19015         after forking.
19016
19017 2005-01-14  Colin Walters  <walters@redhat.com>
19018
19019         * named/nm-named-manager.c (generate_named_conf): Write config
19020         and pid files into NM_NAMED_DATA_DIR; this allows things to
19021         work better with FC3 named SELinux policy.  Also fix up silly
19022         format error.
19023
19024         * configure.in: Add --with-named-dir option.
19025
19026 2005-01-14  Colin Walters  <walters@redhat.com>
19027
19028         * configure.in: Make named support require passing --with-named.
19029
19030         * named/nm-named-manager.c: Support writing resolv.conf directly
19031         without running named.
19032
19033 2005-01-13  Dan Williams <dcbw@redhat.com>
19034
19035         * named/nm-named-manager.c
19036                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
19037
19038         * src/NetworkManagerDevice.c
19039                 - Rework wireless link detection code to be more reliable
19040
19041 2005-01-12  Dan Williams <dcbw@redhat.com>
19042
19043         * initscripts/RedHat/NetworkManager
19044                 - Change initial level to "-" rather than "345" so that
19045                         we don't activate ourselves by default on install
19046
19047 2005-01-12  Dan Williams <dcbw@redhat.com>
19048
19049         * libnm_glib/
19050                 - Client library for applications using glib
19051
19052         * configure.in
19053           various Makefiles
19054                 - Split NM_CFLAGS and NM_LIBS into separate variables
19055                         like DBUS_*, HAL_* and GLIB_*
19056
19057         * src/NetworkManager.c
19058           src/NetworkManagerMain.h
19059                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19060                         broadcast a status changed signal over DBUS from the main thread.
19061                         Still unused anywhere for the moment.
19062
19063         Patch from j@bootlab.org
19064         * panel_applet/NMWirelessAppletDbus.c
19065           src/NetworkManagerDbus.c
19066                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19067                         for the "getMode" method call
19068
19069 2005-01-10  Dan Williams <dcbw@redhat.com>
19070
19071         * src/NetworkManagerDevice.c
19072                 - Minor fixups & corrections to "auto" frequency mode, make it
19073                         less chatty with syslog
19074
19075 2005-01-10  Dan Williams <dcbw@redhat.com>
19076
19077         * src/NetworkManagerDevice.c
19078                 - Implement "auto" frequency/channel support, since cards like Atheros
19079                         can't use other frequencies at all when you've told it to use a
19080                         specific one, even for scanning.
19081                 - Grab the scan mutex around places where we can't tolerate wireless
19082                         settings changing underneath us, like nm_device_wireless_network_exists()
19083                         and nm_device_activate_wireless()
19084
19085         * src/NetworkManagerWireless.c
19086                 - Back scan interval off to 20s instead of 14s
19087
19088 2005-01-09  Dan Williams <dcbw@redhat.com>
19089
19090         * src/NetworkManagerDevice.c
19091                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19092                         already set.  Stops some drivers like Atmel from continually
19093                         reloading the firmware, which they do upon every configuration
19094                         change.
19095
19096 2005-01-09  Dan Williams <dcbw@redhat.com>
19097
19098         * dhcpcd/client.c
19099                 - Use correct timeout value
19100
19101         * info-daemon/NetworkManagerInfoDbus.c
19102           src/NetworkManagerDbus.c
19103                 - Consolidate communication between NM and NMI by doing only 1 dbus
19104                         method call to get Wireless Network info from NMI instead of 6
19105
19106         * src/NetworkManager.c
19107                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19108                         when we didn't have an AP to use, we'd wait for one forever without
19109                         quitting
19110
19111         * src/NetworkManagerDevice.c
19112                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19113                         activation, dhcp might not have started yet but we don't quit activation
19114                         before starting it, so the quit signal gets lost
19115
19116 2005-01-07  Dan Williams <dcbw@redhat.com>
19117
19118         * dhcpcd/client.c
19119                 - Rework the DHCP client code to be much less chatty when
19120                         it receives non-DHCP UDP packets during the DHCP run
19121                         (reported by and preliminary patches from Bill Moss)
19122
19123         * Move wireless scanning to a separate thread.  This thread forwards the
19124                 results to the main thread when done where they are integrated into
19125                 the device's access point lists.  This keeps the main thread (which
19126                 does all the DBUS communication) from being blocked for long periods
19127                 of time by wireless scanning.
19128
19129         * Make state modification an idle routine in the main loop, and trigger
19130                 state changes rather than polling for them.
19131
19132         * src/backends/NetworkManagerGentoo.c
19133                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19134
19135         * src/NetworkManagerDevice.c
19136                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19137                         router advertisements, causing problems and infinite loop
19138                         during "best" device determination due to link going up/down
19139                         (reported by Bill Moss)
19140
19141         Apply patch from Peter Jones
19142         * src/NetworkManagerDevice.c
19143                 - Shortcut for link-checking for ipw2x00 cards
19144                 - Split out association check into separate routine
19145
19146 2004-01-05  Colin Walters  <walters@redhat.com>
19147
19148         * named/named.conf: Add PID_FILE.
19149
19150         * named/nm-named-manager.c: Always generate a pid
19151         file, since older BIND versions don't support
19152         "pid-file none".
19153
19154 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19155
19156         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19157
19158 2004-12-22  Dan Williams <dcbw@redhat.com>
19159
19160         * src/NetworkManagerDevice.c
19161                 - Silently fail when setting bitrate doesn't work
19162
19163
19164         Patches from j@bootlab.org:
19165         * src/backends/NetworkManagerDebian
19166                 - Update backend to match functionality in RedHat backend
19167         * src/NetworkManagerDevice.c
19168                 - Take down then bring up wired devices after connection so
19169                 they send out ipv6 router advertisements
19170
19171 2004-12-21  Colin Walters  <walters@verbum.org>
19172
19173         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19174         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19175
19176 2004-12-21  Colin Walters  <walters@redhat.com>
19177
19178         * configure.in: Correct named detection.
19179
19180 2004-12-21  Colin Walters  <walters@redhat.com>
19181
19182         * src/NetworkManager.c (nm_data_new): Initialize named.
19183         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19184         the mainloop when these signals are received.
19185         (nm_data_free): Unref named.
19186         (sigterm_handler, sigterm_pipe_handler): New functions for
19187         exiting mainloop.
19188         
19189         * src/NetworkManagerMain.h (NMData): Add signal handling and
19190         nameserver bits.
19191
19192         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19193         unref.
19194
19195         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19196         set nameservers from DHCP response data.
19197         (set_domain_search): Set domain search from DHCP response.
19198         (nm_device_dhcp_configure): Invoke them.
19199
19200         * src/NetworkManagerSystem.c
19201         (nm_system_device_update_resolv_conf): Delete.  Deleting
19202         code is totally sweet.
19203
19204         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19205
19206         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19207         implements an object which controls a nameserver.  Currently
19208         uses bind 9.
19209
19210         * configure.in: Check for named.
19211
19212         * Makefile.am (SUBDIRS): Add named dir.
19213
19214         * named/named.conf: New template config file.
19215
19216 2004-12-20  Colin Walters  <walters@redhat.com>
19217
19218         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19219         instead of '='.
19220
19221 2004-12-17  Dan Williams  <dcbw@redhat.com>
19222
19223         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19224                 link-local addresses instead of doing DHCP.
19225
19226         * In the panel applet, there's a new "Create new Wireless Network..." item
19227
19228         * The panel applet also sticks around now even if NetworkManager dies, but
19229                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19230                 a bug, I'll fix that later.
19231
19232         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19233                 lookups after a switch rather than actually doing them.
19234
19235         * Clean up some of those warnings in nm_ap_list_* functions
19236
19237         * Delay between scans changed to 15s instead of 10s
19238
19239 2004-12-15  Dan Williams  <dcbw@redhat.com>
19240
19241         Patch from Tom Parker
19242         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19243                 address
19244
19245         * Longer pause after setting ESSID on cards that support a larger number
19246                 of channels to give the card time to find the right channel
19247
19248         * Add system hook to restart mDNSResponder (or whatever the local implementation
19249                 of Multicast DNS is) when we activate interfaces
19250
19251 2004-12-15  Dan Williams  <dcbw@redhat.com>
19252
19253         * Rework the DHCP code again to revert to sending full ethernet frames
19254                 rather then relying on the kernel to do the right thing with our
19255                 packets.
19256
19257 2004-12-06  Dan Williams  <dcbw@redhat.com>
19258
19259         * dhcpcd/client.c
19260                 - Fix some minor errors in dhcp_handle_transaction() that caused
19261                         unexpected early timeouts of DHCP transactions
19262
19263         * dhcpcd/client.h
19264                 - DHCP retransmit time from 4s -> 5s
19265
19266 2004-12-05  Dan Williams  <dcbw@redhat.com>
19267
19268         * Major rework of the DHCP code, taking some cues from pump.  We don't
19269                 write raw Ethernet packets anymore, which simplifies the code quite
19270                 a bit.  The new code should be more robust, not hang in recvfrom()
19271                 as much, and generally work better.  This also means that we need
19272                 to force HAL/dbus to use a created GMainContext rather than the
19273                 default context, since having the DHCP renew/rebind thread using
19274                 its own GMainContext seemed to give dbus a fit.  There is also more
19275                 debugging information printed from the DHCP loop to help with future
19276                 problems.
19277
19278         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19279                 assume that the default gateway should be the DHCP server.
19280
19281         Patch from Matthew Schick <matt oss-institute org>
19282         * src/backends/NetworkManagerGentoo.c
19283                 - Fix compilation error due to missing "ip4_broadcast"
19284
19285 2004-12-03  Dan Williams  <dcbw@redhat.com>
19286
19287         * initscript/Makefile.am
19288         * initscript/Debian/NetworkManager
19289         * initscript/Gentoo/NetworkManager
19290         * initscript/RedHat/NetworkManager
19291         * initscript/NMLaunchHelper.c
19292                 - Remove NMLaunchHelper, if you need to wait until the network
19293                         comes up, use the dead code from CVS.
19294
19295 2004-12-01  Colin Walters  <walters@redhat.com>
19296         
19297         * configure.in: Suck in gcc warnings code from Rhythmbox,
19298         but use fewer default flags, and in particular add -Wno-unused,
19299         since the codebase has a lot of unused variables.
19300
19301         * test/nmtestdevices.c (create_device): 
19302         * test/nminfotest.c (get_network_string_property) 
19303         (get_networks_of_type): 
19304         * test/nmclienttest.c (main): 
19305         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19306         * initscript/NMLaunchHelper.c (get_nm_status): 
19307         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19308         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19309         Fix declarations after statements.
19310
19311 2004-12-01  Colin Walters  <walters@redhat.com>
19312
19313         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19314         (nmi_dbus_get_vpn_userpass): New method.
19315         (nmi_dbus_nmi_message_handler): Invoke it.
19316
19317         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19318
19319         * info-daemon/NetworkManagerInfoVPN.h,
19320         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19321         to requests for VPN passwords.
19322
19323         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19324
19325 2004-12-01  Colin Walters  <walters@redhat.com>
19326
19327         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19328         includes.
19329
19330 2004-12-01  Colin Walters  <walters@redhat.com>
19331
19332         * panel-applet/NMWirelessAppletDbus.c
19333         (nmwa_dbus_update_active_device_strength): Fix missing
19334         return value.
19335
19336 2004-12-01  Colin Walters  <walters@redhat.com>
19337
19338         * panel-applet/NMWirelessApplet.c: Add missing include.
19339
19340 2004-12-01  Colin Walters  <walters@redhat.com>
19341
19342         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19343         Remove useless CLAMP (); the value is unsigned, and the case tests
19344         qual->qual < 100, so the value must always be between 0 and 100.
19345
19346 2004-12-01  Colin Walters  <walters@redhat.com>
19347
19348         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19349
19350 2004-11-22  Colin Walters  <walters@verbum.org>
19351
19352         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19353         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19354         which is essentially a noop since nscd caches hosts on disk too.
19355         
19356 2004-11-22  Colin Walters  <walters@redhat.com>
19357
19358         * src/Makefile.am (NetworkManager_SOURCES): Add
19359         NetworkManagerDevicePrivate.h.
19360
19361 2004-11-22  Dan Williams <dcbw@redhat.com>
19362
19363         * src/NetworkManagerDevicePrivate.h
19364                 - Split out the NMDevice struct to a different file so that stuff like
19365                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19366
19367         * dhcpcd/client.c
19368                 - fprintf->syslog
19369                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19370                         need to cancel the dhcp request during the send and recv
19371
19372         * dhcpcd/client.h
19373                 - Move the DHCP option enum to dhcpcd.h
19374
19375         * src/NetworkManagerDHCP.c
19376                 - Split out the actual IP/netmask/etc setting code
19377                 - New Renew/Rebind functions
19378                 - New timer setup function for renew/rebind operations
19379
19380         * src/NetworkManagerDevice.c
19381                 - For device activation, if we are using DHCP then keep the activation thread
19382                         alive until device deactivation.  We need to renew/rebind the DHCP address
19383                         after the T1 (renew) and T2 (rebind) times have expired.
19384                 - Increase some timeouts after bringing wireless cards up/down
19385
19386 2004-11-17  Dan Williams <dcbw@redhat.com>
19387
19388         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19389                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19390                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19391                 show known access points that don't broadcast their ESSID in the menus without
19392                 any user intervention whatsoever.
19393
19394         * info-daemon/NetworkManagerInfoDbus.c
19395                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19396                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19397
19398         * src/NetworkManagerAP.[ch]
19399                 - Add a "user_addresses" data member to the NMAccessPoint structure
19400                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19401                         the user_addresses data member
19402
19403         * src/NetworkManagerAPList.c
19404                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19405                         the AP's reported address
19406                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19407
19408         * src/NetworkManagerDHCP.c
19409                 - Increase DHCP timeout from 25s -> 30s
19410
19411         * src/NetworkManagerDbus.[ch]
19412                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19413                         user addresses
19414
19415         * src/NetworkManagerDevice.c
19416                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19417                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19418                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19419                         So, we take the card down to clear it out.
19420                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19421                         too, since that's where the user_addresses are
19422
19423         * src/NetworkManagerPolicy.c
19424                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19425                         that wireless networks' user_addresses list upon successful activation
19426
19427 2004-11-16  Dan Williams <dcbw@redhat.com>
19428
19429         * src/NetworkManagerDevice.[ch]
19430                 - (nm_device_clear_activation_fail): new function
19431
19432         * src/NetworkManagerPolicy.c
19433                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19434                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19435
19436 2004-11-16  Dan Williams <dcbw@redhat.com>
19437
19438         * src/NetworkManagerDevice.c
19439                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19440                         leak the structure, better updating of now_scanning status
19441                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19442
19443 2004-11-15  Dan Williams <dcbw@redhat.com>
19444
19445         Major rework of link detection code.  We now use DHCP
19446         as part of the link detection which proves to be much more robust,
19447         and also supports Open System authentication for wireless networks.
19448
19449         We no longer use external DHCP client programs.  Instead, we use 
19450         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19451         which was written by:
19452                 Yoichi Hariguchi <yoichi@fore.com>
19453                 Sergei Viznyuk <sv@phystech.com>
19454                 http://www.phystech.com/download/
19455         It resides in the "dhcpcd" directory and was refactored into a general
19456         purpose DHCP client library by me.
19457
19458         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19459         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19460
19461 2004-11-15  Dan Williams <dcbw@redhat.com>
19462
19463         Patch from Tom Parker <palfrey@tevp.net>:
19464
19465         * src/NetworkManagerDevice.c
19466                 - Less output to console when no access
19467                         points are found during a scan
19468
19469 2004-11-15  Dan Williams <dcbw@redhat.com>
19470
19471         Patch from Tom Parker <palfrey@tevp.net>:
19472
19473         * src/backends/interface_parser.c
19474                 - Use g_strdup ()
19475                 - Check for inp == NULL
19476                 - use syslog ()
19477
19478 2004-11-13  Colin Walters  <walters@redhat.com>
19479
19480         Patch from Tom Parker <palfrey@tevp.net>:
19481
19482         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19483         
19484         * src/backends/NetworkManagerRedHat.c: Switch to
19485         including shvar.h instead of shvar.c.
19486
19487         * src/backends/NetworkManagerDebian.c: Don't include
19488         interface_parser.c in source file.
19489
19490         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19491         and interface_parser.[ch].
19492         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19493         Include shvar.c and shvar.h here.
19494         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19495         interface_parser.c and interface_parser.h here.
19496
19497 2004-11-12  Colin Walters  <walters@redhat.com>
19498
19499         * configure.in: Strip out TARGET_DISTRO and
19500         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19501         conditionals.
19502
19503         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19504         (libnmbackend_la_SOURCES): Use Automake conditionals
19505         to add distro-specific files.
19506
19507         * initscript/Makefile.am (SUBDIRS): Update to
19508         use conditionals.
19509
19510 2004-11-12  Colin Walters  <walters@redhat.com>
19511
19512         Patches from j bootlab org
19513
19514         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19515         Add interface_parser.[ch].
19516
19517         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19518         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19519
19520 2004-11-12  Colin Walters  <walters@redhat.com>
19521
19522         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19523         call to nmi_dbus_is_running too, not necessary anymore.
19524         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19525         pick up exit().
19526
19527 2004-11-11  Colin Walters  <walters@verbum.org>
19528
19529         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19530         Delete.
19531         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19532         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19533         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19534         This avoids a race condition that made it pretty easily
19535         possible to get two NetworkManagerInfo daemons running.
19536
19537 2004-11-11  Colin Walters  <walters@verbum.org>
19538         
19539         * src/NetworkManager.c (main): Use daemon(3).
19540
19541         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19542
19543         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19544
19545 2004-11-10 Dan Williams <dcbw@redhat.com>
19546
19547         Patches from j bootlab org
19548         * src/NetworkManagerDevice.c
19549                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19550                         whether the card has a link or not, some cards are slow
19551                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19552
19553         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19554                 - Disable the "Login" button on the passphrase dialog until the user
19555                         enters a valid passphrase or key
19556
19557         Patches from Tom Parker <palfrey tevp net>
19558         * src/backends/NetworkManagerDebian.c
19559                 - Add static IP support to the debian backend
19560
19561         * src/backends/interface_parser.[ch]
19562                 - Parse debian interface config files
19563
19564 2004-11-08 Dan Williams <dcbw@redhat.com>
19565
19566         * src/NetworkManagerDevice.c
19567                 - Some random fprintf->syslog conversions
19568                 - (nm_device_wireless_network_exists): double-check for network
19569                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19570
19571         * src/NetworkManagerWireless.[ch]
19572                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19573                         so that the binary->ascii conversion works (if unsigned, the bitshift
19574                         will fill with zeros, which is what's required).  Also mask bitshift
19575                         result with 0xF for futher assurance.
19576
19577 2004-11-06 Dan Williams <dcbw@redhat.com>
19578
19579         * src/NetworkManagerUtils.c
19580                 - (nm_get_wireless_driver_support_level): default to
19581                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19582                         flip this when changing from whitelist->blacklist of
19583                         wireless drivers
19584
19585 2004-11-05 Dan Williams <dcbw@redhat.com>
19586
19587         Patch from Robert Paskowitz:
19588         * src/backends/NetworkManagerGentoo.c
19589                 - Update static IP config code
19590
19591 2004-11-05 Dan Williams <dcbw@redhat.com>
19592
19593         * info-daemon/NetworkManagerInfoDbus.c
19594           src/NetworkManagerDbus.[ch]
19595           src/NetworkManagerDevice.c
19596                 - Keep track of the # of attempts to get the WEP key
19597                         from the user and pass that along to the info daemon
19598
19599 2004-11-05 Dan Williams <dcbw@redhat.com>
19600
19601         * src/NetworkManagerUtils.c
19602                 - Blacklist wireless cards rather than whitelisting them.
19603                 - Grab driver name from HAL rather than trying to find it
19604                         ourselves.
19605
19606 2004-11-03 Dan Williams <dcbw@redhat.com>
19607
19608         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19609                 - Disable OK button until valid data is entered
19610                         for encryption stuff too
19611
19612         * panel-applet/NMWirelessApplet.c
19613                 - Report card strength for current AP if the card
19614                         doesn't report strength data for scanned access
19615                         points
19616
19617         * src/NetworkManagerDevice.c
19618                 - Smooth out cards reported quality, Atmel card was
19619                         intermittently reporting no quality data but soon
19620                         recovers
19621
19622         * src/NetworkManagerWireless.c
19623                 - Better quality data percentage calculation.  Atmel
19624                         cards (mine at least) seem to report the quality
19625                         in percentage format already, so honor that
19626
19627         Patch from <j@bootlab.org>
19628         * NetworkManager.h
19629           info-daemon/NetworkManagerInfoPassphraseDialog.c
19630           info-daemon/passphrase.glade
19631           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19632           panel-applet/essid.glade
19633           src/NetworkManagerAP.c
19634           src/NetworkManagerDevice.c
19635           src/NetworkManagerWireless.[ch]
19636                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19637
19638 2004-11-03 Dan Williams <dcbw@redhat.com>
19639
19640         * src/NetworkManagerDevice.[ch]
19641                 - (nm_device_set_enc_key): Add parameter to set Authentication
19642                         Mode (Open System, Shared Key, or None).  We're still using
19643                         Shared Key for now though.
19644
19645 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19646
19647         * panel-applet/menu-info.c: change from bold text to light
19648         colored, may cause problems with some themes, i've tested a lot
19649         and they seem fine. 
19650
19651         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19652
19653 2004-11-01  Colin Walters  <walters@verbum.org>
19654
19655         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19656         (nm_wireless_128bit_key_from_passphrase): Add const.
19657
19658         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19659         (nm_ap_set_enc_key_source): Add const.
19660         
19661 2004-11-01  Colin Walters  <walters@verbum.org>
19662
19663         * .cvsignore: Update.
19664
19665 2004-10-29 Dan Williams <dcbw@redhat.com>
19666
19667         * src/NetworkManagerDevice.c
19668                 - (nm_device_wireless_network_exists): Actually use the encryption
19669                         key we got from the applet when attempting to find a wireless network
19670                 - Don't bring devices down so much since on some cards it triggers
19671                         firmware hotplugs each time
19672
19673         * src/NetworkManagerDbus.c
19674                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19675                         from the caller
19676
19677 2004-10-29 Dan Williams <dcbw@redhat.com>
19678
19679         * src/NetworkManager.c
19680                 - (nm_hal_device_property_modified): unlock a locked active
19681                         wireless device when a wired connection gets a link.
19682                         (Means you'll switch to wired whenever you plug in no
19683                         matter what).
19684
19685 2004-10-29 Dan Williams <dcbw@redhat.com>
19686
19687         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19688                 - New files, implement the "Other wireless network" dialog
19689
19690         * panel-applet/NMWirelessApplet.c
19691                 - Move "other wireless network" dialog to separate file
19692
19693         * panel-applet/NMWirelessAppletDbus.[ch]
19694                 - Take key and key_type paramaters for the set_device function
19695
19696         * panel-applet/essid.glade
19697                 - Add UI bits for encryption settings
19698
19699         * src/NetworkManagerDbus.c
19700                 - Retrieve key and key_type params for "setActiveDevice" method call
19701                         and pass them on
19702                 - unref AP returned from nm_device_get_best_ap() when needed
19703
19704         * src/NetworkManagerDevice.c
19705                 - (nm_device_get_best_ap): ref the ap before returning it
19706                 - unref AP returned from nm_device_get_best_ap() when needed
19707                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19708                         need to call nm_device_get_best_ap() here, it was pretty much
19709                         redundant anyway
19710                 - (AP_NEED_KEY): break second link check condition out into separate
19711                         function, and fix segfault when ap->enc_key_source was NULL
19712                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19713                         pass them along to nm_device_wireless_network_exists().  If the
19714                         network does exist, set the passed-in key+key_type on the AP
19715
19716         * src/NetworkManagerPolicy.c
19717                 - unref AP returned from nm_device_get_best_ap() when needed
19718
19719 2004-10-28 Dan Williams <dcbw@redhat.com>
19720
19721         * src/NetworkManagerUtils.c
19722                 - (nm_spawn_process): Fix a potential dereference of NULL
19723
19724         Patches from Peter Jones:
19725
19726         * src/NetworkManagerDevice.c
19727                 - (nm_device_test_wireless_extensions): Better check for
19728                         wireless devices
19729
19730         * src/NetworkManagerUtils.c
19731                 - (nm_spawn_process): Pass in valid stdout and stderr so
19732                         executed programs don't randomly SIGPIPE and fail
19733                 - (nm_get_wired_driver_support_level): quash hal warning
19734                         when checking for USB ethernet device
19735
19736 2004-10-27 Dan Williams <dcbw@redhat.com>
19737
19738         * info-daemon/NetworkManagerInfo.c
19739           info-daemon/NetworkManagerInfoDbus.c
19740           info-daemon/NetworkManagerInfoPassphraseDialog.c
19741           panel-applet/NMWirelessApplet.c
19742                 - Properly escape gconf keys
19743
19744         * src/NetworkManager.c
19745                 - remove unused variables
19746
19747         * src/NetworkManagerAP.c
19748                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19749                         refcount since it got set in nm_ap_new()
19750
19751         * src/NetworkManagerAPList.c
19752                 - (nm_ap_list_combine): Give up ownership of newly created
19753                         access points to the ap list, fixes memleak
19754
19755         * src/NetworkManagerDevice.c
19756                 - Remove cached_ap_list4 member since its not really needed
19757                 - (nm_device_wireless_network_exists): Try to get correct
19758                         encryption status of a found AP if its already in our
19759                         device list
19760                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19761                         memory allocs/deallocs a bit clearer and shorter-lived
19762
19763 2004-10-26 Ray Strode <rstrode@redhat.com>
19764
19765         * panel-applet/NMWirelessApplet.c:
19766           (custom_essid_item_selected):  kill some compiler
19767         warnings 
19768
19769 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19770
19771         * info-daemon/NetworkManagerInfoDbus.c
19772                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19773                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19774
19775 2004-10-23 Dan Williams <dcbw@redhat.com>
19776
19777         * info-daemon/NetworkManagerInfoDbus.c
19778                 - Trap the "DeviceActivationFailed" signal
19779
19780         * docs/NetworkManager DBUS API.txt
19781                 - Add "DeviceActivationFailed" signal
19782
19783         * panel-applet/NMWirelessAppletDbus.c
19784                 - Quash the "NetworkManager service not available" message
19785
19786         * src/NetworkManagerDbus.[ch]
19787                 - Add the "DeviceActivationFailed" signal
19788
19789         * src/NetworkManagerDevice.c
19790                 - Add support for activation_failed flag
19791                 - Fix deadlock where activation thread didn't clean itself up, making
19792                         main thread still believe it was alive forever (didn't reset activation
19793                         flags like activating, just_activated, etc when IP configuration
19794                         failed)
19795
19796         * src/NetworkManagerPolicy.c
19797                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19798                         for wireless networks, try to fall back to some other access point
19799
19800 2004-10-23 Dan Williams <dcbw@redhat.com>
19801
19802         * panel-applet/NMWirelessApplet.[ch]
19803                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19804                         to the applet object, so we can get tooltips
19805                 - Add tooltips (RH #136866)
19806
19807         * src/NetworkManagerDevice.c
19808                 - When trying to find a wireless network, try to connect with encryption
19809                         turned on first, so that we can more accurately detect whether or not
19810                         we need to use encryption for the actual association later on
19811
19812 2004-10-21 Dan Williams <dcbw@redhat.com>
19813
19814         * Add some support for telling NetworkManagerInfo to tell the user
19815                 that they are using a device that's not fully supported
19816
19817         * Fix some assertions in debug messages due to null access point args
19818
19819 2004-10-21 Dan Williams <dcbw@redhat.com>
19820
19821         * src/NetworkManagerDevice.c
19822                 - Don't try to activate/bring up/down unsupported
19823                         devices
19824
19825         * src/NetworkManagerUtils.c
19826                 - Fix case of PCI ID checks for driver support levels
19827
19828 2004-10-21 Dan Williams <dcbw@redhat.com>
19829
19830         * NetworkManager.h
19831                 - New file, now contains commonly used structures and bits
19832                         for the dbus API of NetworkManager
19833
19834         * Makefile.am
19835                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19836
19837         * src/NetworkManager.h
19838                 - Rename -> src/NetworkManagerMain.c
19839
19840         * Various fixups all around to use NetworkManager.h and new
19841                 src/NetworkManagerMain.h, remove redundant bits that got
19842                 moved into NetworkManager.h
19843
19844         * src/NetworkManagerDevice.[ch]
19845           src/NetworkManagerUtils.[ch]
19846           src/NetworkManagerPolicy.c
19847           src/NetworkManagerDbus.c
19848                 - Whitelist wireless drivers, and blacklist some wired
19849                         drivers.  Also blacklist cipsec and ethernet-over-usb
19850                         devices at this time (RH #135722, RH #135648)
19851                 - Don't leak unsupported devices out over dbus, or allow
19852                         them to be set as the active device.  Skip over them
19853                         during automatic device picking
19854
19855         * test/nmclienttest.c
19856                 - Clean up the dbus code a lot
19857
19858 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19859
19860         * configure.in: post release bump.
19861
19862 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19863
19864         * configure.in:
19865         * NEWS: Released NetworkManager-0.3.1
19866
19867 2004-10-18 Dan Williams <dcbw@redhat.com>
19868
19869         Patches from Thom May:
19870         * test/nmtestdevices.c
19871                 - Include <string.h>
19872         * src/backends/NetworkManagerDebian.c:
19873                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19874                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19875                         Move to using g_strdup_printf rather than arbitrary buffers
19876                 - (nm_system_device_setup_static_ip4_config) Implement function.
19877                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19878
19879 2004-10-17 Dan Williams <dcbw@redhat.com>
19880
19881         * info-daemon/NetworkManagerInfoDbus.c
19882                 - Display name of network in the "network not found" dialog
19883
19884         * panel-applet/NMWirelessAppletDbus.c
19885                 - (nmwa_dbus_call_nm_method): new function replaces all other
19886                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19887                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19888                         consolidated into nmwa_dbus_get_object_name()
19889
19890 2004-10-15 Dan Williams <dcbw@redhat.com>
19891
19892         * src/NetworkManagerDbus.c
19893           info-daemon/NetworkManagerInfoDbus.c
19894                 - Display an error dialog when the user tries to use an
19895                         "Other wireless network" that's not found.
19896
19897 2004-10-15 Dan Williams <dcbw@redhat.com>
19898
19899         * panel-applet/NMWirelessApplet.[ch]
19900                 - Fix up corner cases in applet state, making it
19901                         look more responsive.  Change state to "connecting" when
19902                         the user is forcing a device too.
19903
19904 2004-10-15 Dan Williams <dcbw@redhat.com>
19905
19906         * src/NetworkManagerAPList.c
19907                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19908
19909         * src/NetworkManagerDbus.c
19910                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19911
19912         * src/NetworkManagerDevice.c
19913                 - Disown APs after the device's AP list takes ownership
19914
19915 2004-10-15 Dan Williams <dcbw@redhat.com>
19916
19917         * panel-applet/NMWirelessApplet.c
19918                 - Update our applet state from the GUI thread
19919
19920         * panel-applet/NMWirelessAppletDbus.c
19921                 - Greatly simplify the locking to make the GUI thread
19922                         smoother.  Update a private copy of the device list
19923                         and active device and only when done talking to
19924                         NetworkManager turn it over to the GUI thread.
19925
19926 2004-10-15 Dan Williams <dcbw@redhat.com>
19927
19928         * src/NetworkManagerAP.[ch]
19929                 - Add "artificial" get/set functions, set for APs that
19930                         aren't discovered as part of a scan but instead
19931                         discovered by force-setting the ESSID
19932
19933         * src/NetworkManagerDevice.[ch]
19934                 - (nm_device_wireless_network_exists): pass back whether
19935                         or not the discovered AP was encrypted.  Also, try
19936                         falling back to encrypted mode on the card if unencrypted
19937                         association doesn't work
19938                 - (nm_device_find_and_use_essid): If the network requested
19939                         did in fact exists, but it wasn't in our scan list, add
19940                         an "artificial" entry for it.  Some Cisco cards don't
19941                         see non-ESSID-broadcasting APs in their scan but can still
19942                         associate with them if you know the ESSID, this works around
19943                         that behavior
19944                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19945                         to scan if the card is currently associated with that AP
19946
19947 2004-10-15 Dan Williams <dcbw@redhat.com>
19948
19949         ---- We have a website ----
19950         http://people.redhat.com/dcbw/NetworkManager
19951
19952         Patch from Robert Paskowitz:
19953         * src/NetworkManager.c
19954                 - (main): Make sure we are run as root
19955         * src/NetworkManagerDevice.c
19956                 - Fix type in ad-hoc setting function
19957
19958         Patch from Thom May:
19959         * src/backends/NetworkManagerDebian.c
19960                 - Make Debian backend compile again
19961
19962 2004-10-14 Dan Williams <dcbw@redhat.com>
19963
19964         * Tagged NetworkManager-0_3
19965
19966 2004-10-14 Dan Williams <dcbw@redhat.com>
19967
19968         Patch from Robert Paskowitz:
19969         * NEWS
19970           src/NetworkManagerDevice.[ch]
19971           src/backends/NetworkManagerDebian.c
19972           src/backends/NetworkManagerGentoo.c
19973           src/backends/NetworkManagerRedHat.c
19974           src/backends/NetworkManagerSlackware.c
19975                 - Add support for grabbing and using a broadcast address
19976                         from system config files
19977                 - Some Gentoo backend fixes for grabbing network config
19978                 - Fix LOG_WARN->LOG_WARNING
19979
19980 2004-10-14 Dan Williams <dcbw@redhat.com>
19981
19982         * NEWS: a few small fixes in the credits
19983
19984 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19985
19986         * NEWS: prep for release.
19987
19988 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19989
19990         * panel-applet/NMWirelessAppletDbus.c
19991         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19992
19993 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19994
19995         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19996         applet->state == APPLET_STATE_NO_NM animation.
19997
19998         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19999         set the text correctly.
20000
20001 2004-10-14 Dan Williams <dcbw@redhat.com>
20002
20003         * src/NetworkManager.c
20004                 - Only accept and manager 802.3 and 802.11 devices
20005
20006         * src/NetworkManagerDbus.[ch]
20007                 - (nm_dbus_nm_set_active_device): move most of the actual activation
20008                         logic into NetworkManagerDevice.c
20009                 - (nm_dbus_network_status_from_data): new function
20010                 - (nm_dbus_signal_network_status_change): new function, unused for now
20011                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
20012
20013         * src/NetworkManagerDevice.[ch]
20014                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
20015                         a random ESSID.
20016
20017 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
20018
20019         * info-daemon/NetworkManagerInfo.c 
20020                 - (main): Added session management
20021
20022 2004-10-14 Dan Williams <dcbw@redhat.com>
20023
20024         * panel-applet/NMWirelessAppletDbus.[ch]
20025                 - Expose network_device_[un]ref()
20026                 - Expose wireless_network_[un]ref()
20027                 - (wireless_network_new_with_essid): new function, create and return
20028                         a wireless network with a particular essid
20029
20030         * panel-applet/NMWirelessApplet.c
20031                 - Hook up the "other network" dialog to do something
20032
20033 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
20034
20035         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
20036         doesn't work yet, but it looks okay.
20037
20038         * panel-applet/icons/*png: Resize to 22x22 and install in the
20039         right place.
20040
20041 2004-10-13 Dan Williams <dcbw@redhat.com>
20042
20043         * panel-applet/NMWirelessApplet.c
20044                 - Add function to print out applet_state in a readable
20045                         manner
20046
20047         * src/NetworkManager.c
20048                 - (main): Don't segfault when nm_dbus_init() fails, we had
20049                         a left-over call to hal_shutdown() into which we passed NULL
20050
20051         * src/NetworkManagerAP.c
20052                 - (nm_ap_set_essid): Allow NULL essids
20053
20054         * src/NetworkManagerAPList.[ch]
20055                 - More use of nm_ap_list_[un]lock ()
20056                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20057                         network/essid, just return nothing.  Also skip over NULL
20058                         essid access points in the list when searching
20059                 - (nm_ap_list_get_ap_by_address): new function
20060                 - (nm_ap_list_update_network): set the access point's key source to
20061                         NULL when the key returned from NetworkManagerInfo is NULL or
20062                         of 0 length
20063                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20064                         copy timestamp over too
20065                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20066                         find the correct ESSID for a blank-essid access point by searching
20067                         through another list and matching access point MAC addresses
20068                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20069
20070         * src/NetworkManagerDbus.c
20071                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20072                         may specify.  This is mainly for access points that don't
20073                         broadcast their essid.  So if the user tells us to associate with
20074                         some random ESSID that's not in our access point list, we find
20075                         out if the access point does in fact exist (by attempting association
20076                         and then matching that access point's MAC address with the essid the
20077                         user gave us) and then we switch to it.
20078                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20079                         to the returned list of networks for the "getNetworks" method
20080
20081         * src/NetworkManagerDevice.[ch]
20082                 - Extra debugging info for link detection
20083                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20084                         based on MAC address
20085                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20086                 - (nm_device_wireless_network_exists): new function, find out whether
20087                         a random ESSID exists by attempting to associate with it
20088                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20089                         device list as long as they have an AP MAC address we can use.
20090                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20091                         devices too.  Lets the applet update more frequently.
20092
20093         * src/backends/NetworkManagerGentoo.c
20094                 - Patch from: Robert Paskowitz
20095                         - Update backend code for Gentoo
20096                         - Implement nm_system_device_update_config_info ()
20097
20098         * test/nmclienttest.c
20099                 - (set_network_device): new function, takes a command-line argument
20100                         and tells NetworkManager to use that wireless network
20101
20102 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20103
20104         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20105         if the notification icon crashes 5 times within 5 seconds of each respawn 
20106
20107 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20108
20109         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20110         g_print.
20111
20112 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20113
20114         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20115
20116         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20117         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20118         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20119         Change the name of the icons.
20120
20121         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20122         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20123         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20124         (nm_menu_wireless_expose_event): Really bad hack to get the style
20125         to draw in the right color.
20126
20127 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20128
20129         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20130         Notification if it crashes
20131
20132 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20133
20134         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20135         (nmwa_dbus_get_string): remove unused functions
20136
20137         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20138         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20139         remove unused functions
20140
20141         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20142
20143 2004-10-12 Dan Williams <dcbw@redhat.com>
20144
20145         * panel-applet/NMWirelessAppletDbus.c
20146                 - New functions:
20147                         wireless_network_new
20148                         wireless_network_copy
20149                         network_device_new
20150                         network_device_copy
20151
20152         * src/NetworkManagerDevice.[ch]
20153                 - New functions:
20154                         nm_device_set_mode_managed
20155                         nm_device_set_mode_adhoc
20156                 - Use these functions where appropriate
20157                 - When creating a new wireless device, force the card
20158                         to managed/Infrastructure mode as soon as possible
20159
20160 2004-10-12 Dan Williams <dcbw@redhat.com>
20161
20162         * src/NetworkManagerDevice.c
20163                 - Force wireless cards into Infrastructure mode before we use them
20164
20165 2004-10-12 Dan Williams <dcbw@redhat.com>
20166
20167         * TODO
20168                 - Remove bit about static IP address support
20169
20170         * src/NetworkManagerUtils.c
20171                 - (nm_spawn_process): Add some error reporting
20172
20173         * src/NetworkManagerDevice.c
20174                 - (nm_device_activation_configure_ip): hook up to the static config
20175                         routines in the backends
20176
20177         * src/backends/NetworkManagerRedHat.c
20178                 - (nm_system_device_update_config_info): use shvar.c routines to
20179                         parse the config file iformation, not our own
20180                 - (nm_system_device_setup_static_ip4_config): new function, based
20181                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20182                         with a static IP address and gateway
20183
20184         * src/backends/shvar.[ch]
20185                 - Parser (filched from initscripts package) for ifcfg-* files
20186
20187         * src/backends/NetworkManagerSystem.h
20188           src/backends/NetworkManagerGentoo.c
20189           src/backends/NetworkManagerDebian.c
20190           src/backends/NetworkManagerSlackware.c
20191                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20192
20193 2004-10-11 Dan Williams <dcbw@redhat.com>
20194
20195         * TODO
20196                 - Remove bit about more robust AP diffing since I just implemented it
20197
20198 2004-10-11 Dan Williams <dcbw@redhat.com>
20199
20200         * src/NetworkManagerAP.c
20201                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20202                         enough RAM to allocate new AP structures, but return NULL instead
20203
20204         * src/NetworkManagerAPList.[ch]
20205                 - (nm_ap_list_is_empty): new function
20206                 - (nm_ap_list_combine): new function, combine two access point lists
20207                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20208                         into another
20209
20210         * src/NetworkManagerDevice.[ch]
20211                 - Rename some functions to be clearer:
20212                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20213                         nm_device_just_activated     -> nm_device_is_just_activated
20214                         nm_device_activating         -> nm_device_is_activating
20215                         nm_device_now_scanning       -> nm_device_is_scanning
20216                 - Cache the last 4 scans so that the access point list is more stable.
20217                         We combine the lastest two scans and use that as the AP list,
20218                         and diff that combined list against the combination of the earliest
20219                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20220
20221 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20222
20223         * info-daemon/NWManagerInfo.h
20224                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20225
20226         * info-daemon/NWManagerInfoDbus.c
20227                 - (shutdown_callback): new function
20228                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20229                         if NetworkManager goes away.  Kill the timeout
20230                         if NetworkManager restarts before the 30 seconds
20231                         are up.
20232                 - (nmi_dbus_service_init): 
20233                         - call gtk_main_quit if NetworkManager is not running
20234                         - add filters to monitor dbus service creations and
20235                                 deletions
20236         
20237 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20238
20239         * panel-applet/NMWirelessApplet.c
20240                 - (nmwa_update_state): Hide notification icon if we are only
20241                         showing one wired card and no wireless interfaces 
20242                         (Red Hat Bug #134895)
20243
20244         * panel-applet/NMWirelessAppletDbus.c
20245                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20246
20247         * info-daemon/NWManagerInfo.c
20248                 - (main): Terminated the notification_icon_cmd array with a NULL
20249
20250 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20251
20252         * configure.in (ALL_LINGUAS): Added de (German).
20253
20254 2004-10-08 Dan Williams <dcbw@redaht.com>
20255
20256         * src/NetworkManagerDevice.c
20257                 - Be a bit more robust about link checking, ie make sure that
20258                         the WEP key we were given actually has some data in it
20259
20260 2004-10-08 Dan Williams <dcbw@redhat.com>
20261
20262         * info-daemon/NetworkManagerInfo.c (main):
20263                 - Initialize GError object to NULL
20264
20265 2004-10-08 Dan Williams <dcbw@redhat.com>
20266
20267         * panel-applet/NMWirelessAppletDbus.c
20268                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20269
20270 2004-10-08 Dan Williams <dcbw@redhat.com>
20271
20272         * info-daemon/NetworkManagerInfo.[ch]
20273           info-dameon/NetworkManagerInfoDbus.[ch]
20274           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20275                 - Preserve original label text in the passphrase dialog so that
20276                         it actually gets updated with the new network name the next
20277                         time around.  Previously, we were overwriting it so you'd get
20278                         the wrong network name to enter a key for
20279                 - Add a "Key Type" combo to the passphrase dialog, user selects
20280                         encryption key type now, type is stored in GConf too
20281                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20282
20283         * src/NetworkManagerAP.[ch]
20284                 - Remove all the encyption method magic.  It's now set by the user
20285                         and NetworkManager retrieves the type of encryption key from
20286                         NetworkManagerInfo
20287
20288         * src/NetworkManagerAPList.[ch]
20289           src/NetworkManagerDbus.[ch]
20290                 - Adjust to new way of setting encryption key and method
20291                 - Pull encryption method down from NMI along with key
20292
20293         * src/NetworkManagerDevice.[ch]
20294                 - Removed encryption method fallback magic as the method is now
20295                         determined by the user.  This greatly simplifies the connection
20296                         logic.
20297                 - More robust connection/link logic.  Besides removing the encryption
20298                         method fallback magic, check whether or not the card is receiving
20299                         invalidly encrypted packets, which usually indicates that we have
20300                         a bad WEP key set.
20301                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20302
20303         * test/nminfotest.c
20304                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20305
20306 2004-10-07 Dan Williams <dcbw@redhat.com>
20307
20308         * info-daemon/NetworkManagerInfo.conf
20309                 - Allow root user to run NMI too
20310
20311 2004-10-06 Dan Williams <dcbw@redhat.com>
20312
20313         * src/NetworkManagerDevice.[ch]
20314           src/NetworkManagerDbus.c
20315           doc/NetworkManager DBUS API.txt
20316                 - Add a new status tag "scanning", which is set when there
20317                         is no active network connection, but NetworkManager is
20318                         looking for an access point to associate with
20319
20320         * panel-applet/main.c
20321                 - Cast the applet appropriately for gtk_widget_show_all ()
20322
20323 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20324
20325         * panel-applet/eggtrayicon.[ch]:
20326         * panel-applet/main.c: Add missing file
20327
20328 2004-10-04 Dan Williams <dcbw@redhat.com>
20329
20330         * src/NetworkManagerDevice.[ch]
20331                 - Add a slightly more robust method of determining if the WEP key
20332                         is correct or not, by checking the WEP-discarded packet count
20333                         on the card
20334
20335         * info-daemon/NetworkManagerInfo.c
20336                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20337                         un-escape values we pull out rather than escaping them
20338
20339 2004-10-03  Marcel Telka  <marcel@telka.sk>
20340
20341         * configure.in (ALL_LINGUAS): Added sk.
20342
20343 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20344
20345         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20346         and feel.  We should be back to working, and have a good, clean
20347         look.
20348
20349 2004-09-30 Dan Williams <dcbw@redhat.com>
20350
20351         * info-daemon/NetworkManagerInfo.c
20352           info-daemon/NetworkManagerInfoDbus.c
20353           test/nminfotest.c
20354                 - Escape ESSIDs in gconf
20355
20356         * src/NetworkManagerDevice.c
20357                 - Fix pseudo-scanning to use netowrk list from info daemon
20358
20359 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20360
20361         * configure.in: Add a temporary --enable-notification-icon.  This
20362         will prolly go away.
20363
20364         * info-daemon/Makefile.am:
20365         * info-daemon/NetworkManagerInfo.c:
20366         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20367
20368         * panel-applet/Makefile.am:
20369         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20370         * panel-applet/NMWirelessApplet.h:
20371
20372 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20373
20374         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20375         before 'select custom ESSID'.
20376
20377         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20378         fully complete, but syncing in prep for merge.
20379
20380         * panel-applet/icons/*png: New images
20381
20382 2004-09-28 Dan Williams <dcbw@redhat.com>
20383
20384         * src/NetworkManager.c
20385           src/NetworkManagerDevice.c
20386           src/NetworkManagerPolicy.c
20387                 - Don't blow away an active wired connection on startup
20388
20389 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20390
20391         Changes from J5
20392         
20393         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20394
20395         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20396         syslog output
20397
20398 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20399
20400         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20401         have a wireless card.
20402
20403 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20404
20405         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20406         Also, get the right device strings.
20407
20408 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20409
20410         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20411         the logic to make this right.
20412
20413         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20414         devices so that wired networks are always first.
20415
20416 2004-09-22    <clarkbw@cvs.gnome.org>
20417
20418         * initscript/Debian/.cvsignore:
20419         * initscript/Slackware/.cvsignore:
20420         Added new cvsignores for Makefile, Makefile.in
20421         
20422         * test/.cvsignore:
20423         Added nmtestdevices
20424         
20425         * src/NetworkManagerDevice.c: 
20426         * src/NetworkManager.c: 
20427         Updated the wireless/wired HAL device strings from net.ethernet to
20428         net.80203 or net.80211 depending on wired or wireless respectively
20429         
20430         * examples/python/NetworkManager.py: 
20431         s/Quality/Strength/
20432
20433         * examples/python/systray/network_tray.py:
20434         Lots of little changes and fixes.  been rotting for a while so I
20435         figured I'd finally sync them all with CVS
20436
20437 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20438
20439         * configure.in: Add graphics
20440
20441         * panel-applet/Makefile.am: Add graphics
20442
20443         * panel-applet/icons/*: Add graphics
20444
20445         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20446         the icons fully lined up.
20447
20448         * panel-applet/menu-info.c: 
20449         * panel-applet/menu-info.h: Add another menu type.
20450
20451 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20452
20453         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20454
20455         * panel-applet/menu-item.[ch]: Wireless menu item.
20456
20457 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20458
20459         * info-daemon/NetworkManagerInfo.conf
20460                 - Created a more robust security policy for the DBus service
20461                         - everything is denied by default
20462                         - root can own and send to the service
20463                         - users logged in at the console can send to the service
20464
20465 2004-09-13  Dan Williams <dcbw@redhat.com>
20466
20467         * src/NetworkManagerDevice.c
20468                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20469                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20470                         the latter
20471
20472 2004-09-13  Dan Williams <dcbw@redhat.com>
20473
20474         * TODO: fix typo
20475
20476         * docs/NetworkManager DBUS API.txt
20477                 - Update for new signal strength changes
20478
20479         * panel-applet/NMWirelessApplet.c
20480                 - Make panel icon show strength of the current connection
20481                 - Cleanups and memleak fixes
20482
20483         * panel-applet/NMWirelessApplet.h
20484                 - Add data members for signal strength on devices and networks
20485
20486         * panel-applet/NMWirelessAppletDbus.c
20487                 - Free more DBusErrors
20488                 - Update for new signal strength changes
20489                 - Make devices and networks more like real objects, use ref/unref methods
20490                 - Actually unlock the mutex when updating the active device
20491
20492         * src/NetworkManagerAP.c
20493                 - Change AP functions and data members from "quality"->"strength"
20494
20495         * src/NetworkManagerDbus.c
20496                 - Kill "getMaxQuality" and "getQuality" methods
20497                 - Add "getStrength" methods for Networks and Devices
20498
20499         * src/NetworkManagerDevice.[ch]
20500                 - Add accessors for device strength
20501                 - Add functions to update strength for a device.  Note that not all drivers
20502                         actually support signal strength for scanned access points (Atmel drivers
20503                         being one)
20504                 - Calculate signal strength for each AP during scan
20505
20506         * src/NetworkManagerWireless.[ch]
20507                 - Add function to return signal strength % from a device and a raw quality struct
20508
20509         * test/nmclienttest.c
20510                 - Update for new signal strength changes
20511
20512 2004-09-11  Dan Williams <dcbw@redhat.com>
20513
20514         * src/NetworkManager.c
20515                 - Fix race condition between initscripts and NM on card insertion
20516                         which could cause a card to keep an IP address and routes around
20517                         even when it was not the active device
20518
20519         * src/NetworkManagerDbus.c
20520                 - Fix compile errors, free more DBusErrors
20521
20522 2004-09-11  Dan Williams <dcbw@redhat.com>
20523
20524         * docs/NetworkManager DBUS API.txt
20525                 - Add an explanation of NM's API
20526
20527         * src/NetworkManagerDbus.c
20528                 - Free some more DBusErrors if needed
20529
20530 2004-09-11  Dan Williams <dcbw@redhat.com>
20531
20532         * panel-applet/NMWirelessApplet.c
20533           panel-applet/NMWirelessAppletDbus.c
20534                 - Start using NetworkDevice/WirelessNetwork structures in more places
20535                 - Update for unified device/network forcing in NetworkManager
20536
20537         * src/NetworkManager.c
20538                 - some code consolidation
20539
20540         * src/NetworkManagerDbus.c
20541                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20542                         or two arguments:  the first is the NM ID of the device to switch to,
20543                         and the second (optional) argument is the ESSID of a wireless network
20544                         to use as well.
20545                 - Get rid of "setNetwork" method due to above change
20546
20547         * src/NetworkManagerDevice.c
20548                 - (nm_device_new): perform scan and update best AP on device creation
20549                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20550                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20551                         spin waiting for cancellation to finish before returning
20552
20553         * src/NetworkManagerPolicy.c
20554                 - Changes here clarify the situations in which a device switch occurs, and 
20555                         make sure to keep using a forced device and network if the user gives
20556                         us one
20557                 - Remove old unused code
20558
20559 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20560
20561         * configure.in: Added Danish (da) to ALL_LINGUAS.
20562
20563 2004-09-09  Dan Williams <dcbw@redhat.com>
20564
20565         * panel-applet/NMWirelessAppletDbus.c
20566                 - Pull fresh devices and networks from NM when wireless networks
20567                         change.  Provides faster feedback of a forced wireless network
20568
20569         * src/NetworkManagerDbus.c
20570                 - Return error when "getMaxQuality" is called on a wired device
20571                 - Make best_ap freezing actually work again, and signal cancellation
20572                         of activation if there's already a device activation when the user
20573                         freezes the best_ap
20574
20575         * src/NetworkManagerDevice.c
20576                 - Don't clear out the best_ap for wireless devices when the link goes
20577                         down, that's done elsewhere
20578                 - Kill any dhcp daemons when cancelling device activation since they
20579                         may be stuck waiting for a DHCP address, and since we're cancelling
20580                         activation we don't care about that anymore
20581
20582         * src/NetworkManagerPolicy.c
20583                 - Make sure to unref the device we ref earlier (we refed it to make sure
20584                         it stuck around during device activation and such)
20585                 - If we were going to change the best device, but its activating currently
20586                         (and therefore the change didn't occur due to the check earlier)
20587                         we mark the state changed to we come back to it later when device
20588                         activation has canceled and its no longer activating
20589
20590         * src/backends/NetworkManagerRedHat.c
20591                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20592
20593 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20594
20595         * info-daemon/passphrase.glade: 
20596         set passphrase input to activates_default : True
20597
20598         * examples/python/systray/network_tray.py
20599         (network_tray.sort_networks):
20600
20601         Added support for having wireless always scanning
20602
20603 2004-09-09  Dan Williams <dcbw@redhat.com>
20604
20605         NOTE: this commit changes the behavior of wireless devices in
20606         NetworkManager.  They are now up all the time, scanning all
20607         the time.  Only the active device has an IP address and routing
20608         information set up however.  Also, NetworkManager will no longer
20609         opportunistically switch wireless networks when a better one
20610         comes in range, it will remain associated with one wireless network
20611         until that one drops out.
20612
20613         * panel-applet/NMWirelessApplet.c
20614           panel-applet/NMWirelessAppletDbus.c
20615                 - List all wireless cards and their respective networks
20616
20617         * src/NMLoadModules
20618                 - Use full path to /sbin/ip
20619
20620         * src/NetworkManager.c
20621                 - Keep wireless devices up all the time so they can scan
20622
20623         * src/NetworkManagerDbus.c
20624                 - On a WirelessNetworkUpdate signal from NMI, don't update
20625                         the "best" AP
20626
20627         * src/NetworkManagerDevice.c
20628                 - (nm_device_set_link_active): clear out the best ap for
20629                         wireless devices when the link is set to FALSE
20630                 - Scan on all wireless cards, all the time
20631                 - (nm_device_activation_worker): split out the wireless card
20632                         link-waiting code to a separate function
20633                 - Keep wireless cards up even if device activation fails
20634                 - Don't update the "best" ap as much
20635
20636         * src/NetworkManagerPolicy.c
20637                 - Don't update the best ap when checking if its frozen,
20638                         let link checking clear out a frozen best ap for us
20639
20640         * src/NetworkManagerWireless.c
20641                 - Scan on all wireless cards, all the time
20642
20643 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20644
20645         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20646
20647 2004-09-09  Ankit Patel <ankit@redhat.com>
20648
20649         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20650
20651 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20652
20653         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20654
20655 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20656
20657         * examples/python/NetworkManager.py: 
20658         added CONNECTED, CONNECTING, and DISCONNECTED states
20659         added methods to return number of devices of a single type
20660
20661         * examples/python/systray/network_tray.py: 
20662         did some tweaks to get the menu looking near what it is supposed
20663         to look like.  Also did a Airo card hack to make it show the
20664         correct AP quality
20665
20666 2004-09-08  Dan Williams <dcbw@redhat.com>
20667
20668         * panel-applet/no-networkmanager.png
20669           panel-applet/Makefile.am
20670           panel-applet/NMWirelessApplet.c
20671                 - Add a "NetworkManager not running" icon and use it
20672                 - Use new consolidated GConf keys rather than Preferred/Trusted
20673
20674         * TODO: update
20675
20676         * info-daemon/NetworkManagerInfo.c
20677           info-daemon/NetworkManagerInfoDbus.[ch]
20678           info-daemon/NetworkManagerInfoPassphraseDialog.c
20679                 - There are now no longer two separate lists of wireless networks,
20680                         but one list where each network is "trusted" or not trusted
20681                 - Add a "getNetworkTrusted" dbus method
20682                 - "WirelessNetworkUpdate" signal now sent rather than
20683                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20684                 - Start freeing some dbus errors (not completed yet)
20685
20686         * info-daemon/passphrase.glade
20687                 - Remove the "don't show" hints for pager and taskbar
20688                 - Add a title since its going to be in the taskbar
20689
20690         * src/NetworkManager.[ch]
20691           src/NetworkManagerAPList.[ch]
20692                 - There are now no longer two separate lists of wireless networks,
20693                         but one list where each network is "trusted" or not trusted
20694
20695         * src/NetworkManagerAP.[ch]
20696                 - Add get/set "trusted" accessors and data bit
20697
20698         * src/NetworkManagerDbus.[ch]
20699                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20700                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20701
20702         * src/NetworkManagerDevice.[ch]
20703                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20704                 - (nm_device_new): Get device config from backend when initializing devices
20705                 - (nm_device_activation_worker): Split out device configuration on
20706                         activation to deal with static/dynamic IP differences, and try encryption
20707                         fallbacks on a device if the encryption method for the best AP is not good
20708                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20709                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20710
20711         * src/NetworkManagerWireless.c
20712                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20713
20714         * src/backends/NetworkManagerRedHat.c
20715           src/backends/NetworkManagerSystem.h
20716                 - (nm_system_device_update_config_info): Add function to get device configuration
20717                         from system data in ifcfg-* files
20718
20719         * src/backends/NetworkManagerDebian.c
20720           src/backends/NetworkManagerGentoo.c
20721           src/backends/NetworkManagerSlackware.c
20722                 - Add stub functions for getting device configuration
20723
20724 2004-09-07  Dan Williams <dcbw@redhat.com>
20725
20726         * src/backends/NetworkManagerRedhat.c
20727           src/backends/NetworkManagerSlackware.c
20728                 - Use full path to /sbin/ip everywhere
20729
20730 2004-09-07  Dan Williams <dcbw@redhat.com>
20731
20732         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20733
20734         * configure.in
20735           initscript/Makefile.am
20736           initscript/Slackware/Makfile.am
20737           initscript/Slackware/rc.networkmanager
20738           src/Makefile.am
20739           src/backends/NetworkManagerSlackware.c
20740                 - Add Slackware support
20741
20742 2004-09-07  Dan Williams <dcbw@redhat.com>
20743
20744         Patches below from:
20745                 <j@bootlab.org>
20746                 Mark Roach <mrroach@okmaybe.com>
20747                 Thom May <thom@debian.org>
20748
20749         * configure.in
20750           initscript/Debian/NetworkManager
20751           initscript/Debian/Makefile.am
20752                 - Initscript for Debian
20753
20754         * src/backends/NetworkManagerDebian.c
20755                 - Add missing system init function to allow compilation
20756                         on Debian
20757
20758 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20759
20760         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20761
20762 2004-09-03  Akagic Amila <bono@linux.org.ba>
20763
20764         * configure.in: Added 'bs' to ALL_LINGUAS.
20765
20766 2004-09-02  Colin Walters  <walters@verbum.org>
20767
20768         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20769         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20770         g_strdup_printf instead of arbitrarily sized buffers.
20771
20772 2004-09-01  Colin Walters  <walters@verbum.org>
20773
20774         * NetworkManager.pc.in: New file.
20775
20776         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20777
20778 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20779         
20780         * configure.in: Punjabi(pa) is added to po/.
20781
20782 2004-08-31  Dan Williams <dcbw@redhat.com>
20783
20784         * Remove 'debug' extern global from all files since we now
20785                 use syslog()
20786
20787         * src/NetworkManager.[ch]
20788                 - Break out routine that get the net.interface property from HAL,
20789                         removing that logic from nm_create_device_and_add_to_list()
20790                 - (nm_create_device_and_add_to_list): make this a bit more general so
20791                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20792                         the create of test devices.
20793                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20794                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20795                         which makes NetworkManager listen for dbus commands to create test
20796                         devices, which have no backing hardware.  Use when you're on a plane
20797                         for example, and/or forgot your wireless card at home.  Test devices
20798                         _cannot_ be created unless NM is started with --enable-test-devices.
20799
20800         * src/NetworkManagerDbus.[ch]
20801                 - New "getLinkActive" method for devices
20802                 - New "setLinkActive" method for devices (only works on test devices)
20803                 - New "createTestDevice" method on NetworkManager object to create a test
20804                         device of a specified type (ie wired, wireless).  UDI is created from
20805                         scratch, as is the interface name.  Only works when NM is started with
20806                         --enable-test-devices switch.
20807                 - New "removeTestDevice" method on NetworkManager object which removes a
20808                         test device.  Only works when NM is started with --enable-test-devices
20809
20810         * src/NetworkManagerDevice.[ch]
20811                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20812                         whether a device is a test device or not, and what its link status is.
20813                 - Deal with test devices in most functions.  For those that work directly on hardware
20814                         special-case test devices.
20815                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20816                         command-line.
20817                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20818                         checking to separate functions to facilitate test device link checking.
20819                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20820                         don't make a distinction between System Authentication and Encryption
20821                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20822                         on the card.  We don't deal with Shared Key auth yet.
20823                 - (nm_device_activation_worker): split the activation cancel check logic out into
20824                         a separate routine nm_device_activation_cancel_if_needed()
20825                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20826                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20827                         a list of fake access points that they can "see"
20828                 - (nm_device_is_test_device): return whether or not a device is a test device
20829
20830         * src/NetworkManagerPolicy.c
20831                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20832                         previously if you "locked"/forced NM to use a wireless device but then
20833                         selected a wireless network for NM to use, it would switch to a wired device.
20834                         So, if the active device is wireless and it has a "forced" best AP, use it
20835                         if the "forced" best AP is still valid
20836                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20837                         there were no usable network devices, or the last one was removed
20838
20839         * src/backends/NetworkManager*.c
20840                 - Deal with test devices, mostly just return success for operations like getting
20841                         a DHCP address
20842
20843         * test/nmtestdevices.c
20844                 - Test tool to create/remove/link-switch test devices
20845
20846 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20847
20848         * examples/python/NetworkManager.py: 
20849         added convience functions has_wired_device and has_wireless_device
20850
20851         * examples/python/systray/network_tray.py: 
20852         cleaned up a bunch of cruft, added support for listing wireless
20853         networks just like the real applet.  This is probably all I'm
20854         going to work on this applet from now on.
20855         TODO: add support for actually changing networks and devices
20856
20857         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20858         changed "nm.networks" into a dict from a list so I can store all
20859         the cool information about networks in there
20860
20861         * examples/python/systray/network_tray.py: 
20862         Added nice message when you try to run without running make first
20863
20864         * examples/python/NetworkManager.py: 
20865         Bug fixes to the code so we get all the device information
20866         that we need in get_device()
20867         
20868         * examples/python/NMTester.py: 
20869         Fixed _print_device_list to print_device_list
20870
20871 2004-08-29  Seth Nickell  <seth@gnome.org>
20872
20873         * configure.in:
20874
20875         Actually properly setup the Debian backend in configure.
20876         
20877 2004-08-29  Colin Walters  <walters@verbum.org>
20878
20879         * test/nminfotest.c: Include string.h and stdlib.h.
20880         (get_network_string_property, get_networks_of_type): Return NULL.
20881
20882         * test/nmclienttest.c (get_device_name, get_active_device): Return
20883         NULL.
20884
20885         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20886         use strlen, fgets always NULL-terminates the string.
20887
20888         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20889         dbus_message_get_member): Remove /* in comment.
20890
20891         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20892
20893         * src/NetworkManager.c (quit): Unused, delete.
20894         (nm_data_free): Cast arg to GFunc.
20895
20896         * panel-applet/NMWirelessAppletDbus.c: Need to include
20897         string.h, and dbus-glib-lowlevel.h (the latter is needed
20898         for dbus_connection_setup_with_g_main at present).
20899         (nmwa_dbus_update_wireless_network_list): Parenthesize
20900         assignment in conditional.
20901         (nmwa_dbus_worker): Return NULL.
20902
20903         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20904         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20905         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20906         (nmwa_populate_menu): Return NULL on failure, instead of just
20907         return;
20908
20909         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20910
20911         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20912         variables.
20913
20914         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20915         delete.
20916         
20917 2004-08-29  Colin Walters  <walters@verbum.org>
20918
20919         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20920         a GTimeVal instead of time_t.  This is easier to work with,
20921         since time_t may be a long or double, we don't know.
20922
20923         * src/NetworkManagerDbus.h: Update prototype.
20924         
20925         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20926         instead of time_t.
20927         (nm_ap_get_timestamp): Update to return GTimeVal.
20928         (nm_ap_set_timestamp): Update to take GTimeVal.
20929         
20930         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20931         to handle GTimeVal.
20932
20933         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20934         GTimeVal change.
20935         (nm_ap_list_print_members): Fix warnings in printf format.
20936
20937 2004-08-29  Colin Walters  <walters@verbum.org>
20938         
20939         * panel-applet/NMWirelessApplet.c: Include config.h.
20940
20941 2004-08-29  Colin Walters  <walters@verbum.org>
20942
20943         * configure.in: Generate config.h.
20944
20945         * configure.in: Dump dependency on OpenSSL; we can't
20946         use it since this package is GPL:
20947         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20948         Instead, check for libgcrypt, use it if available,
20949         otherwise use included MD5 code.
20950
20951         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20952         Suck in from gnome-keyring, munge a bit.
20953         
20954         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20955         gnome-keyring-md5.h gnome-keyring-md5.c.
20956         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20957
20958         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20959         libgcrypt or included gnome-keyring md5 bits.
20960         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20961
20962 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20963
20964         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20965
20966 2004-08-27  Bryan Clark  <bclark@redhat.com>
20967
20968         * examples/python/systray/Makefile: 
20969
20970         Updated the clean section
20971         
20972         * examples/python/systray/trayiconmodule.c: 
20973         * examples/python/systray/trayicon.override: 
20974         * examples/python/systray/network_tray.py: 
20975         * examples/python/systray/eggtrayicon.h: 
20976         * examples/python/systray/eggtrayicon.c: 
20977         * examples/python/systray/Makefile: 
20978         * examples/python/README: 
20979         * examples/python/NetworkManager.py: 
20980         * examples/python/NMTester.py: 
20981
20982         Initial commit of these python example files
20983
20984 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20985
20986         * panel-applet/NMWirelessApplet.c
20987                 - Make current device bold
20988                 - Show more user-friendly device name if we got one from hal
20989
20990         * panel-applet/NMWirelessAppletDbus.c
20991                 - Grab "info.product" key from hal for network devices
20992                 - Cache the current active device
20993
20994 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20995
20996         * configure.in: Added en_CA to ALL_LINGUAS.
20997
20998 2004-08-27  Christian Rose  <menthos@menthos.com>
20999
21000         * configure.in: Added "sv" to ALL_LINGUAS.
21001
21002 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21003
21004         * Tag NetworkManager-0.2
21005
21006 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
21007
21008         * initscripts/Makefile.am
21009         * configure.in: Make pass distcheck
21010
21011         * po/ChangeLog: added
21012
21013 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21014
21015         * panel-applet/NMWirelessApplet.c
21016                 - Remove debugging code
21017                 - Enable device switching from menus
21018
21019         * panel-applet/NMWirelessAppletDbus.[ch]
21020                 - Method for asking NM to switch devices
21021
21022         * src/NetworkManagerDevice.c
21023                 - Set dev->activating earlier, avoids race between
21024                         the dbus signal of "DeviceActivating" and setting
21025                         dev->activating (which is what NM's "status" method call
21026                         looks at)
21027
21028 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21029
21030         * panel-applet/NMWirelessApplet.[ch]
21031                 - Rework menu code to add devices to menu, and to show
21032                         signal strength for each access point.  Code cleanups
21033                         too.
21034
21035         * panel-applet/NMWirelessAppletDbus.c
21036                 - Grab network devices from NetworkManager too
21037                 - Grab quality information from NM for wireless networks
21038
21039         * src/NetworkManagerDbus.[ch]
21040                 - Add dbus methods for getting the HAL UDI from a device and
21041                         for getting its base quality, if its wireless
21042                 - Consolidate some functions (wireless network notifications,
21043                         device notifications)
21044                 - Add method for requesting NM to use a particular device
21045
21046         * src/NetworkManager.c
21047                 - Change for function consolidations from NetworkManagerDbus.c
21048                 - Implement active device locking and user-requested devices
21049                         (ie, tell NM to use a particular device instead of the one
21050                         it autochose)
21051
21052         * src/NetworkManagerDevice.c
21053                 - Add method for getting the base quality of a device, if its
21054                         wireless
21055                 - Grab device base quailty info from iwlib during scans
21056
21057         * src/NetworkManagerPolicy.c
21058                 - Use a user-requested device rather than the auto-chosen device
21059                         if we are told to
21060
21061 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21062
21063         * Makefile.am: add po as a supdir
21064
21065         * autogen.sh: use gnome-autogen.sh
21066
21067         * initscript/Gentoo/.cvsignore:
21068         * initscript/RedHat/.cvsignore: Shut up cvs
21069
21070         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21071
21072         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21073         (nmwa_fill): Use gettext.
21074
21075         * configure.in: add gettext support
21076         * po/.cvsignore:
21077         * po/NetworkManager.pot:
21078         * po/POTFILES.in:
21079
21080 2004-08-26  Seth Nickell  <seth@gnome.org>
21081
21082         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21083         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21084         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21085         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21086         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21087         * panel-applet/NMWirelessApplet.h:
21088
21089         Use a menu bar instead of a button for the main clickable
21090         thingy.
21091         
21092 2004-08-25  Dan Williams <dcbw@redhat.com>
21093
21094         * src/NetworkManagerDevice.c
21095                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21096                         turning encryption off, because the Cisco driver doesn't associate
21097                         with WEP-enabled access points unless we are in "open"
21098
21099 2004-08-25  Dan Williams <dcbw@redhat.com>
21100
21101         * src/NetworkManagerWireless.c
21102                 - Don't try to defererence blank passphrases
21103
21104 2004-08-25  Dan Williams <dcbw@redhat.com>
21105
21106         * panel-applet/NMWirelessApplet.c
21107                 - Rebuild the menu whenever a user clicks
21108
21109 2004-08-25  Dan Williams <dcbw@redhat.com>
21110
21111         * panel-applet/NMWirelessApplet.c
21112                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21113                         when NM isn't around or when its not connected
21114
21115         * src/NetworkManagerDevice.c
21116                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21117                         canceled.
21118
21119 2004-08-25  Dan Williams <dcbw@redhat.com>
21120
21121         * panel-applet/NMWirelessAppletDbus.c
21122                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21123                         for getting encryption, and don't stop on "val" once we've gotten it
21124                         from NetworkManager.  Short form:  encryption should now show up.
21125
21126 2004-08-25  Dan Williams <dcbw@redhat.com>
21127
21128         * panel-applet/NMWirelessApplet.c
21129                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21130                         network to associate with
21131
21132 2004-08-25  Dan Williams <dcbw@redhat.com>
21133
21134         * panel-applet/*
21135                 - Rework the panel applet to do all DBUS communication in a separate
21136                         thread
21137
21138 2004-08-25  Dan Williams <dcbw@redhat.com>
21139
21140         * info-daemon/NetworkManagerInfo.[ch]
21141                 - Remove "get_next_priority" function
21142
21143         * info-daemon/NetworkManagerInfoDbus.[ch]
21144                 - Convert "priority" functions to "timestamp"
21145
21146 2004-08-25  Dan Williams <dcbw@redhat.com>
21147
21148         * src/NetworkManagerAP.[ch]
21149                 - Add a "enc_method_good" member and accessors to an Access Point
21150                         to signal when we've found the correct encryption method
21151                         for an access point
21152                 - Add a "timestamp" member and accessors, remove "priority" member
21153                         and accessors (use timestamps instead)
21154                 - Rename "wep_key"->"enc_key"
21155                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21156                         for a specified encryption method using the access points
21157                         source encryption key/passphrase
21158
21159         * src/NetworkManagerAPList.c
21160                 - When updating a network with dbus, grab timestamp now instead of
21161                         priority
21162
21163         * src/NetworkManagerDBus.[ch]
21164                 - Add signal for "DeviceActivating"
21165                 - Switch priority->timestamp
21166
21167         * src/NetworkManagerDevice.c
21168                 - Change references of "wep_key" -> "enc_key" or "key"
21169                 - Signal DeviceActivating when starting activation
21170                 - When activating a wireless device, if the access point we are connecting
21171                         to is encrypted, and we have a source key, try to generate a mangled
21172                         key and use that (ie, generate real WEP key from a passphrase)
21173                 - Rework device activation to fallback to other encryption methods if
21174                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21175                         first, then if that doesn't work fall back to direct hex key).
21176                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21177                         priority.  We now prefer the latest access point used, rather than using
21178                         a priority scheme
21179                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21180                         points we've just discovered, and merge in correct info from the global
21181                         access point lists
21182
21183 2004-08-25  Seth Nickell  <seth@gnome.org>
21184
21185         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21186         Debian support.
21187         
21188         * src/Makefile.am:
21189         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21190         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21191         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21192         (nm_system_delete_default_route),
21193         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21194         (nm_system_load_device_modules):
21195
21196 2004-08-24  Dan Willemsen <dan@willemsen.us>
21197
21198         * src/NetworkManager.c
21199           src/backends/NetworkManagerGentoo.c
21200           src/backends/NetworkManagerRedHat.c
21201           src/backends/NetworkManagerSystem.h
21202                 - Implement preliminary Gentoo support, adding a
21203                         nm_system_init function to the backend specification
21204
21205         * configure.in
21206                 - Distribution auto-detection, lowercase any user-fed
21207                         distribution names
21208
21209         * initscript/.cvsignore
21210           initscript/Makefile.am
21211           initscript/RedHat/Makefile.am
21212           initscript/RedHat/NetworkManager
21213           initscript/Gentoo/Makefile.am
21214           initscript/Gentoo/NetworkManager
21215                 - Refactored initscript code separately for each
21216                         distribution
21217
21218 2004-08-23  Dan Williams <dcbw@redhat.com>
21219
21220         * configure.in
21221           src/Makefile.am
21222           src/NetworkManagerDevice.c
21223           src/NetworkManager.c
21224           src/NetworkManagerUtils.[ch]
21225           src/backends/NetworkManagerSystem.h
21226           src/backends/NetworkManagerRedHat.c
21227           src/backends/NetworkManagerGentoo.c
21228                 - Refactor system-specific code into separate backends for
21229                         each distribution
21230
21231 2004-08-23  Dan Willemsen <dan@willemsen.us>
21232
21233         * dispatcher-daemon/NetworkManagerDispatcher.c
21234           info-daemon/NetworkManagerInfo.[ch]
21235           info-daemon/NetworkManagerInfoDbus.c
21236           info-daemon/NetworkManagerInfoPassphraseDialog.c
21237           src/NetworkManager.c
21238           src/NetworkManagerAP.c
21239           src/NetworkManagerAPList.c
21240           src/NetworkManagerDbus.c
21241           src/NetworkManagerDevice.c
21242           src/NetworkManagerPolicy.c
21243           src/NetworkManagerUtils.[ch]
21244           src/NetworkManagerWireless.c
21245                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21246
21247         * src/NetworkManager.c
21248                 - Fixed usage wording for --no-daemon
21249
21250 2004-08-23  Dan Williams <dcbw@redhat.com>
21251
21252         * panel-applet/NMWirelessApplet.c
21253                 - Update our state every second to get more responsive panel icon
21254                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21255                         was causing our marching ants status blips to never move when
21256                         looking for a wireless network
21257
21258         * src/NetworkManagerDevice.c
21259                 - (nm_device_activation_begin): return if activation has already begun
21260                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21261                         trusted/preferred network into the device's access point when the
21262                         scan list is processed
21263
21264 2004-08-23  Dan Williams <dcbw@redhat.com>
21265
21266         * initscript/NetworkManager
21267                 - Use NMLaunchHelper rather than sleeping
21268
21269         * initscript/NMLaunchHelper.c
21270           Makefile.am
21271                 - Add helper program that exits only when NM activates a device,
21272                         or 10 seconds have passed, whichever happens first.  This
21273                         stops the boot processes until we have a network connection,
21274                         which NM can't do because it daemonizes and brings the connection
21275                         up in the background.  Allows stuff like NFS to not die.
21276
21277 2004-08-20  Dan Williams <dcbw@redhat.com>
21278
21279         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21280                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21281                         for a network, set the essid as well since it may not exist yet
21282                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21283                         since WEP keys/passphrases are long and prone to entry-error
21284
21285         * panel-applet/Makefile.am
21286           panel-applet/wired.png
21287                 - Add (pulled from system-config-network temporarily)
21288
21289         * panel-applet/NMWirelessApplet.[ch]
21290                 - Show wired picture when a wired connection is used
21291                 - Rename wireless icon enums, adding WIRELESS
21292
21293         * src/NetworkManagerDevice.c
21294                 - (nm_device_activate_wireless): unset encryption before bringing
21295                         down the card and setting the essid
21296                 - (nm_device_activatin_worker): request a key from the user if the
21297                         AP we are connecting to is encrypted but we don't have a key
21298                         for it yet
21299                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21300                         strcmp() that prevented a user-entered key from actually getting
21301                         used
21302
21303 2004-08-16  Dan Williams <dcbw@redhat.com>
21304
21305         * initscript/NetworkManager
21306                 - Check for /sbin/ip
21307                 - Do sysctl magic that network service does
21308                 - sleep 4s after start to allow network time to come up [hack]
21309
21310         * src/Makefile.am
21311           src/NMLoadModules
21312                 - Load all network device kernel modules (hal doesn't know devices
21313                         are ethernet until the module is loaded, and therefore we don't know)
21314
21315         * src/NetworkManager.c
21316                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21317                         network devices, and bring up the loopback device explicitly
21318
21319         * src/NetworkManagerUtils.[ch]
21320                 - (nm_enable_loopback): new function
21321
21322 2004-08-13  Dan Williams <dcbw@redhat.com>
21323
21324         * configure.in
21325           panel-applet/Makefile.am
21326                 - Fix up cleanfiles and server_DATA/server_in_files
21327
21328         * README
21329                 - Update with some comments on theory of operation
21330
21331         * CONTRIBUTING
21332           Makefile.am
21333                 - Add CONTRIBUTING
21334
21335 2004-08-12  Dan Williams <dcbw@redhat.com>
21336
21337         * info-daemon/passphrase.glade
21338                 - Set window title to " "
21339
21340         * panel-applet/Makefile.am
21341           panel-applet/keyring.png
21342                 - Deliver to correct place
21343
21344         * panel-applet/NMWirelessApplet.[ch]
21345                 - Add comments
21346                 - Remove applet->have_active_device as its no longer used
21347                 - (nmwa_load_theme): load keyring.png too
21348                 - (error_dialog): remove
21349                 - (show_warning_dialog): subsume functionality of error dialog too
21350                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21351                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21352                         the networks menu
21353                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21354                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21355                         and when we get broadcasts of changed wireless access points only, not when the
21356                         user clicks on the button to display the menu (too long of a wait)
21357                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21358                         networks that are encrypted
21359                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21360                         menu item with g_object_set_data()
21361
21362         * panel-applet/NMWirelessAppletDbus.[ch]
21363                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21364                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21365                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21366                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21367                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21368                         activation/deactivation signals and rebuild the menu when they happen
21369
21370         * src/NetworkManager.c
21371                 - (main): use new nm_spawn_process() rather than system()
21372
21373         * src/NetworkManagerDbus.c
21374                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21375                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21376                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21377                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21378                         to freeze the best_ap.
21379
21380         * src/NetworkManagerDevice.[ch]
21381                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21382                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21383                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21384                         ap list
21385
21386         * src/NetworkManagerUtils.[ch]
21387                 - (nm_spawn_process): add replacement for system() usage
21388
21389 2004-08-11  Dan Williams <dcbw@redhat.com>
21390
21391         * panel-applet/NMWirelessApplet.[ch]
21392                 - Fix up copyright and credits to include Bastien and Eskil,
21393                         who created the gnome-applets wireless applet, from whose
21394                         skeleton this one was created
21395                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21396                         pixmap to draw is computed during nmwa_update_state()
21397                 - Applet now shows itself all the time due to panel packing issues
21398                         which caused the applet to previously never come back after hiding.
21399                         When a wired device is the active device, the applet shows "not connected"
21400
21401         * panel-applet/NMWirelessAppletDbus.[ch]
21402                 - Clean up error messages and show what function they are from
21403                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21404                 - Add new device type getters, and a status getter
21405
21406         * src/NetworkManagerDbus.c
21407                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21408                         network is actually in the device's ap list
21409                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21410
21411         * src/NetworkManagerDevice.c
21412                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21413                         card
21414
21415         * test/nmclienttest.c
21416                 - Report status of NetworkManager too
21417
21418 2004-08-11  Dan Williams <dcbw@redhat.com>
21419
21420         * info-daemon/NetworkManagerInfo.c:
21421                 - (main): clean up Seth's code style
21422
21423         * info-daemon/NetworkManagerInfoDbus.c:
21424                 - Use the more aptly-named path/service/interface constants from NetworkManager
21425                 - Don't return empty strings ("") as object paths ever, instead return errors
21426
21427         * panel-applet/NMWirelessApplet.c:
21428                 - Clean up Seth's code style
21429
21430         * src/NetworkManager.[ch]
21431                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21432                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21433
21434         * src/NetworkManagerAPList.[ch]
21435                 - Move Iter struct right above the iter functions to preserve opacity
21436                 - (nm_ap_list_remove_ap): implement
21437                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21438                         remove AP if NetworkManagerInfo doesn't know anything about it
21439                 - (nm_ap_list_diff): user NMAPList iterators
21440                 - (nm_ap_list_print_members): implement debugging function
21441
21442         * src/NetworkManagerDbus.[ch]
21443                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21444                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21445                         and move the actual key setting stuff into NetworkManagerDevice.c
21446                 - (nm_dbus_get_network_priority): return -1 now on errors
21447                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21448                         get lost, and force the active device to update its "best" ap when AP lists change
21449                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21450                         method call due to pending_device member removal
21451
21452         * src/NetworkManagerDevice.[ch]
21453                 - Move NMDevice structure to the top
21454                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21455                 - Remove Pending Action stuff from everywhere
21456                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21457                         activation for us.  This thread blocks until all conditions for activation have
21458                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21459                         then setup up the interface and runs dhclient.  We have to do this because there
21460                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21461                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21462                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21463                         can tell nm_device_activation_worker() that we've got a key
21464                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21465                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21466                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21467                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21468
21469         * src/NetworkManagerPolicy.c
21470                 - Remove anything to do with pending_device
21471                 - Adjust device activation to deal with activation-in-worker-thread
21472
21473         * src/NetworkManagerUtils.c
21474                 - Clean up locking debugging a bit
21475
21476         * src/NetworkManagerWireless.[ch]
21477                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21478                         was badly named and is better as a device function
21479
21480         * panel-applet/.cvsignore: add
21481
21482 2004-08-09  Seth Nickell  <seth@gnome.org>
21483
21484         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21485         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21486         (nmwa_new):
21487         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21488
21489         Don't load the menus until clicked on (also removes a call outside
21490         normal code paths at first load).
21491
21492         Hide applet when NM is not present.
21493         
21494         Improve printf debugging stuff.
21495         
21496 2004-08-09  Dan Williams <dcbw@redhat.com>
21497
21498         * dispatcher-daemon/NetworkManagerDispatcher.c:
21499                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21500                 - Use constants for NetworkManager interface, service, and path
21501
21502 2004-08-09  Dan Williams <dcbw@redhat.com>
21503
21504         * src/NetworkManagerDbus.c:
21505                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21506                         instead return an error message
21507                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21508                         on a wired device.  Also never return an empty object path, instead return an error message
21509
21510 2004-08-06  Seth Nickell  <seth@gnome.org>
21511
21512         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21513
21514         Check the error code when getting a connection.
21515         
21516         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21517
21518         Check if the NM service exists when initializing (rather than
21519         assuming it does not).
21520         
21521         * src/NetworkManagerDbus.c: (nm_dbus_init):
21522
21523         Don't acquire the well-known service name until we have
21524         registered object/path handlers and can actually receive
21525         calls.
21526         
21527 2004-08-06  Dan Williams <dcbw@redhat.com>
21528
21529         * panel-applet/*
21530                 - Add panel applet
21531
21532         * src/NetworkManagerPolicy.c
21533           src/NetworkManager.c
21534                 - Get access point lists from NetworkManagerInfo on-demand,
21535                         and look for ServiceCreate/ServiceDeleted signals to see when
21536                         we should query NMI for lists
21537         * src/NetworkManagerAPList.c
21538                 - Make sure to init the list's mutex
21539                 - Convert traversals of the list over to the list iter functions
21540
21541         * src/NetworkManagerDbus.[ch]
21542                 - Use more aptly-named path/service/interface constants
21543                 - Treat both active and pending devices the same for "getActiveDevice"
21544                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21545
21546         * src/NetworkManagerDevice.c
21547                 - Honor "ignored" network list when picking best ap to use
21548
21549 2004-08-06  Seth Nickell  <seth@gnome.org>
21550
21551         * aclocal.m4:
21552
21553         Autogenerated, remove from CVS.
21554         
21555         * autogen.sh:
21556
21557         Don't hardcode automake version.
21558         
21559         * configure.in:
21560         * info-daemon/Makefile.am:
21561         * info-daemon/NetworkManagerInfo.c: (main):
21562
21563         Use GnomeProgram et al. for doing session management.
21564         Use popt stuff for argument parsing rather than doing
21565         it manugally.
21566         
21567 2004-08-05  Dan Williams <dcbw@redhat.com>
21568
21569         * test/nminfotest.c
21570                 - Update to new NMI dbus API, check different network types
21571
21572         * info-daemon/NetworkManagerInfoDbus.c
21573                 - Update to new NM dbus API, ie network type sent in query message
21574
21575 2004-08-05  Dan Williams <dcbw@redhat.com>
21576
21577         * An assload of changes
21578
21579 2004-08-02  Dan Williams <dcbw@redhat.com>
21580
21581         * TODO
21582                 - new task: proper logging support
21583
21584         * info-daemon/NetworkManagerInfo.c
21585                 - Correct spelling of "canceled"
21586                 - Correct casting of objects for g_signal_connect()
21587
21588         * info-daemon/NetworkManagerInfoDbus.c
21589                 - Add defines for NetworkManager namespace and object path, and use them
21590                 - Add filter function to trap new signals from NetworkManager:
21591                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21592
21593         * info-daemon/passphrase.glade
21594                 - Change name of "ok" button to "Login to Network..."
21595                 - Mark invisible
21596
21597         * src/NetworkManager.c
21598                 - Code and debug message cleanups
21599                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21600                 - (nm_add_initial_devices) Check returned string array of devices
21601                         and don't try to add devices if array is NULL
21602                 - (main) Initialize libhal a bit later, make code a bit clearer
21603
21604         * src/NetworkManagerAP.[ch]
21605                 - New accessor and data member "matched": used to speed up AP list
21606                         diffing
21607                 - New accessor and data member "enc_method": will be used during key
21608                         fallback to cache which passphrase->key conversion actually works
21609                         so we don't have to do it every time
21610
21611         * src/NetworkManagerAPList.[ch]
21612                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21613                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21614                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21615                         dbus in response to those differences
21616
21617         * src/NetworkManagerDbus.[ch]
21618                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21619                         make an object path for that access point (NOTE that we don't yet check to
21620                         make sure that access point is actually in the device's AP list yet)
21621                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21622                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21623                         New: signal appearance/disappearance of wireless networks
21624                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21625                         key entry
21626
21627         * src/NetworkManagerDevice.[ch]
21628                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21629                 - (nm_device_ap_list_get) New: return the AP list (static function)
21630                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21631                         new one resulting from the scan with the old one
21632
21633         * src/NetworkManagerWireless.c
21634                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21635
21636         * test/nminfotest.c
21637                 - #define object paths and namespaces and use the #defines rather than static strings
21638                 - Test out user-key functionality of NetworkManagerInfo too
21639
21640 2004-07-29  Dan Williams <dcbw@redhat.com>
21641
21642         * info-daemon/NetworkManagerInfoDbus.c
21643           src/NetworkManagerDbus.c
21644                 - Update to current DBus (ie don't use decomposed paths when registering
21645                         object paths/fallbacks)
21646
21647 2004-07-27  Dan Williams <dcbw@redhat.com>
21648
21649         * Remove various Makefile.in files
21650
21651         * TODO
21652                 - Add some more items
21653
21654         * configure.in
21655                 - Add checks for OpenSSL/md5 headers and libs
21656
21657         * src/Makefile.am
21658                 - Use OpenSSL CFLAGS
21659
21660         * src/NetworkManagerAP.[ch]
21661                 - Remove 'stamp' functions, replace with 'invalid' functions
21662                         to support user cancelling WEP key entry
21663
21664         * src/NetworkManagerDbus.c
21665                 - Remove 'stamp' return functions
21666                 - Treat returned user key as a passphrase and convert to a WEP key,
21667                         but don't actually use the WEP key yet.  We use the returned user
21668                         key as a hexadecimal WEP key until we can figure out a UI for
21669                         passphrase-vs-hex key
21670
21671         * src/NetworkManagerWireless.[ch]
21672                 - Add passphrase-to-128bit-key function
21673
21674 2004-07-27  Dan Williams <dcbw@redhat.com>
21675
21676         * TODO
21677                 - Add a couple of items
21678
21679 2004-07-27  Dan Williams <dcbw@redhat.com>
21680
21681         * info-daemon/NetworkManagerInfo.c
21682                 - Update allowed network's GConf key when user enters a WEP key explicitly
21683
21684         * info-daemon/NetworkManagerDbus.c
21685                 - Fix some comments
21686                 - nmi_dbus_get_allowed_networks(): kill warning
21687
21688 2004-07-27  Dan Williams <dcbw@redhat.com>
21689
21690         * initscript/Makefile.in
21691                 - Remove
21692
21693         * initscript/Makefile.am
21694                 - Add correct rules to install the init.d initscript
21695
21696         * info-daemon/NetworkManagerInfoDbus.c
21697                 - Remove debug fprintf
21698
21699         * src/NetworkManagerDbus.[ch]
21700                 - Remove debug fprintfs
21701                 - Add macros for NetworkManagerInfo object path/namespace
21702                 - Use said macros instead of constant strings
21703
21704 2004-07-27  Dan Williams <dcbw@redhat.com>
21705
21706         * initscript/.cvsignore
21707                 - Add
21708
21709         * info-daemon/Makefile.am
21710                 - Install .glade files and keyring.png
21711                 - Fix stupid omission of a \ that caused half the flags not to be
21712                         passed to gcc
21713
21714         * info-daemon/NetworkManagerInfo.c
21715                 - gtk_signal_connect->g_signal_connect
21716                 - Alert NetworkManagerInfo to new glade file location
21717
21718 2004-07-27  Dan Williams <dcbw@redhat.com>
21719
21720         * test/nmclienttest.c
21721           test/nminfotest.c
21722                 - Add missing <dbus/dbus.h> headers
21723                 - Add GPL message at top
21724
21725 2004-07-27  Dan Williams <dcbw@redhat.com>
21726
21727         * src/NetworkManagerAPList.[ch]
21728           src/Makefile.am
21729                 - Add.  Deal with allowed network list additions, deletions, and updates
21730
21731         * dispatcher-daemon/NetworkManagerDispatcher.c
21732                 - Add missing <dbus/dbus.h> header
21733
21734         * info-daemon/NetworkManagerInfo.[ch]
21735                 - Add missing <dbus/dbus.h> header
21736                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21737                         network change
21738                 - Better error checking
21739
21740         * info-daemon/NetworkManagerInfoDbus.[ch]
21741                 - Add missing <dbus/dbus.h> header
21742                 - Convert to using dbus_message_append_args/dbus_message_get_args
21743                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21744                         that an allowed network changed.  We don't want to signal on individual
21745                         keys _inside_ an allowed network really, just want NM to query the info
21746                         daemon for updated info on all keys.
21747                 - Better error checking
21748
21749         * src/NetworkManager.[ch]
21750                 - Add missing <dbus/dbus.h> header
21751                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21752                 - Zero out NMData structure on free
21753                 - No longer use a thread for allowed_ap_list updating, instead its now done
21754                         through dbus queries against NetworkManagerInfo
21755                 - Populate allowed_ap_list initially before adding existing network devices
21756                         to the device list, so wireless devices can get their "best" AP
21757
21758         * src/NetworkManagerDbus.[ch]
21759                 - Convert to using dbus_message_append_args/dbus_message_get_args
21760                 - Better error checking
21761                 - Implement Allowed Network info functions to request allowed network
21762                         info from NetworkManagerInfo
21763                 - Implement the filter function to process signals from NetworkManagerInfo
21764                         about changing allowed networks
21765
21766         * src/NetworkManagerDevice.c
21767                 - Fix file descriptor leak in nm_device_update_ip4_address()
21768
21769 2004-07-27  Dan Williams <dcbw@redhat.com>
21770
21771         * .cvsignore
21772           src/.cvsignore
21773           test/.cvsignore
21774           dispatcher-daemon/.cvsignore
21775           info-daemon/.cvsignore
21776                 - Add .cvsignore files to reduce noise when diffing
21777
21778 2004-07-24  Dan Williams <dcbw@redhat.com>
21779
21780         * src/NetworkManager.[ch]
21781           src/NetworkManagerDbus.[ch]
21782           src/NetworkManagerDevice.[ch]
21783           src/NetworkManagerPolicy.c
21784           src/NetworkManagerWireless.[ch]
21785                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21786                 - Pass the NMData application data structure through all calls
21787                         that need it so we can get rid of nm_get_global_data()
21788                 - Change deallocation of the allowed_ap_list GSList in preparation
21789                         for not completely clearing it every time we get an update,
21790                         but instead getting incremental updates via GConf/dbus
21791
21792 2004-07-22  Dan Williams <dcbw@redhat.com>
21793
21794         * configure.in
21795                 - Add checks for GConf libs & headers & flags
21796
21797         * info-daemon/Makefile.am
21798                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21799
21800         * info-daemon/NetworkManagerInfo.[ch]
21801                 - Don't use gquarks for data storage, just use normal data storage
21802                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21803
21804         * info-daemon/NetworkManagerDbus.[ch]
21805                 - Add method call for getting allowed networks
21806                 - Add method calls for getting an allowed network's essid, priority, and key
21807                 - Hook the method calls up to GConf
21808                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21809                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21810                 
21811         * src/NetworkManagerDbus.[ch]
21812                 - Switch for enumeration of networks to using essid instead
21813
21814         * test/Makefile.am
21815           test/nminfotest.c
21816                 - Add test program for NetworkManagerInfo
21817
21818 2004-07-19  Dan Williams <dcbw@redhat.com>
21819
21820         * src/NetworkManagerDbus.c
21821                 - Switch from indexed device paths to names.  Less code, more efficient.
21822                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21823
21824 2004-07-19  Dan Williams <dcbw@redhat.com>
21825
21826         * dispatcher-daemon/NetworkManagerDispatcher.c
21827                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21828
21829 2004-07-19  Dan Williams <dcbw@redhat.com>
21830
21831         * Makefile.am
21832                 - Add info-daemon directory
21833
21834         * configure.in
21835                 - Check for glade libs and headers
21836                 - Add info-daemon directory
21837
21838         * src/NetworkManagerAP.c
21839                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21840                         copied over to the new AP.
21841
21842         * src/NetworkManagerDbus.c
21843           src/NetworkManagerDbus.h
21844                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21845                 - Remove nm_dbus_signal_need_key_for_network()
21846                 - Add disabled code for asynchronous user wep key callbacks
21847                 - Add functions for getting, setting, and cancelling user key operations
21848                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21849                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21850
21851         * src/NetworkManagerDevice.c
21852           src/NetworkManagerDevice.h
21853                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21854                         logic is in device activation now
21855                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21856                         key is wrong) trigger get-user-key pending action
21857                 - Implement get-user-key pending action stuff, tie to dbus messages
21858                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21859                 - Add nm_device_ap_list_get_ap_by_essid()
21860                 - Instead of copying "best" access points, ref them instead so that the key we set
21861                         sticks around
21862
21863         * src/NetworkManagerPolicy.c
21864                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21865                 - Don't cancel pending actions on a device if its the same device as last iteration
21866                 - Only promote pending_device->active_device if activation was successfull
21867
21868         * src/Makefile.am
21869                 - Rename nmclienttest->nmtest
21870
21871         * info-daemon/Makefile.am
21872           info-daemon/NetworkManagerInfo.c
21873           info-daemon/NetworkManagerInfo.h
21874           info-daemon/NetworkManagerInfoDbus.c
21875           info-daemon/NetworkManagerInfoDbus.h
21876           info-daemon/passphrase.glade
21877           info-daemon/NetworkManagerInfo.conf
21878           info-daemon/keyring.png
21879                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21880                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21881                         lists to NetworkManager by proxying user's GConf
21882           
21883
21884 2004-07-15  Dan Williams <dcbw@redhat.com>
21885
21886         * src/Makefile.am
21887                 - Turn on warnings
21888
21889         * src/NetworkManager.c
21890                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21891                         that doing the deactivation ourselves
21892                 - Cancel an pending actions on a device if its being removed
21893                 - Break up link state checking a bit, make non-active wireless cards
21894                         deactivated to save power
21895                 - Remove unused variables
21896
21897         * src/NetworkManager.h
21898                 - Add support for "pending" device
21899
21900         * src/NetworkManagerAP.h
21901           src/NetworkManagerAP.c
21902                 - Add support for determining whether and AP has encryption enabled or not
21903                 - AP address is now "struct ether_addr" rather than a string
21904
21905         * src/NetworkManagerDbus.h
21906           src/NetworkManagerDbus.c
21907                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21908                 - Changes for AP address from struct ether_addr->string
21909
21910         * src/NetworkManagerDevice.h
21911           src/NetworkManagerDevice.c
21912                 - Remove unused variables, fix warnings
21913                 - Add support for Pending Actions (things that block a device from being "active"
21914                         until they are completed).
21915                 - First pending action:  Get a WEP key from the user
21916                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21917                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21918                 - Update wireless link checking to try to determine if the AP we are associated
21919                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21920                         trigger the GetUserKey pending action on the device
21921                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21922                         up in that case, otherwise we can't scan or link-check on it
21923                 - Add IP address change notifications at appropriate points (still needs some work)
21924                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21925
21926         * src/NetworkManagerPolicy.h
21927           src/NetworkManagerPolicy.c
21928                 - Split out "best" access point determiniation into separate function
21929                 - Make device activation 2-stage:  first the device is pending, then
21930                         in the next iteration through it becomes "active" unless it has
21931                         pending actions
21932
21933         * src/NetworkManagerUtils.h
21934           src/NetworkManagerUtils.c
21935                 - Clean up unused variables and warnings
21936                 - Wrap our debug macros in {} to prevent possible confusion
21937
21938         * src/NetworkManagerWireless.c
21939                 - Forgot to return current best priority, which lead to last available AP always
21940                         being chosen no matter what its priority was.  Corrected.
21941
21942 2004-07-15  Dan Williams <dcbw@redhat.com>
21943
21944         * dispatcher-daemon/Makefile.am
21945                 - Turn on warnings
21946
21947         * dispatcher-daemon/NetworkManagerDispatcher.c
21948                 - Remove unused variables due to warnings
21949                 - Fix some comments
21950                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21951
21952 2004-07-06  Dan Williams <dcbw@redhat.com>
21953
21954         * src/NetworkManager.c
21955                 - Add IPv4 address update for active device during link state check
21956                 - Don't allow wireless cards to be powered up when they are not the
21957                         active device
21958
21959         * src/NetworkManagerDbus.c
21960           src/NetworkManagerDbus.h
21961                 - Add DBUS IPv4 address change signal
21962                 - Add DBUS IPv4 address get method for devices
21963
21964         * src/NetworkManagerDevice.c
21965                 - Make setting the WEP key actually work
21966                 - Move IP address get/set/update stuff here, per-device
21967                 - Power down/bring down wireless device when deactivated
21968                 - For scanning wireless devices, if first scan returned ENODATA, try again
21969
21970         * src/NetworkManagerPolicy.c
21971                 - Only set the WEP key for an allowed access point if there is one.
21972                         We were setting it to be blank if one wasn't specified.
21973
21974         * src/NetworkManagerUtils.h
21975           src/NetworkManagerUtils.c
21976                 - Move the IP address stuff to NetworkManagerDevice.c
21977
21978         * dispatcher-daemon/NetworkManagerDispatcher.c
21979                 - Add device IPv4 address change notification stuff
21980
21981 2004-07-05  Dan Williams <dcbw@redhat.com>
21982
21983         * dispatcher-daemon/NetworkManagerDispatcher.c
21984                 - A bit more descriptive state message
21985                 - Don't segfault when reading directory
21986
21987         * src/NetworkManager.h
21988                 - Remove NMData desired_ap member, its now
21989                         per-device rather than global
21990
21991         * src/NetworkManager.c
21992                 - Remove references to desired_ap
21993                 - Move the allowed AP list refresh stuff into a thread
21994
21995         * src/NetworkManagerDevice.c
21996           src/NetworkManagerDevice.h
21997                 - Each wireless device now has a "best ap"
21998                 - Make device activate/deactivate functions per-device
21999                 - Make wireless scanning per-device
22000                 - Add IPv4 address discover functions, stub IPv6 ones
22001                 - Move ethernet address validation functions to NetworkManagerUtils.c
22002                 - Add wireless access point accessor function
22003                 - Get/Set functions for "best ap"
22004
22005         * src/NetworkManagerPolicy.c
22006                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
22007                 - Deal with per-device "best ap" rather than data->desired_apa
22008                 - Implement allowed access point worker thread
22009                 - Add nm_policy_essid_is_allowed() function
22010
22011         * src/NetworkManagerUtils.c
22012           src/NetworkManagerUtils.h
22013                 - Add nm_ethernet_address_is_valid() function
22014                 - Add IPv4/IPv6 address get functions
22015
22016         * src/NetworkManagerWireless.c
22017           src/NetworkManagerWireless.h
22018                 - Move scanning stuff into NetworkManagerDevice.c, per-device
22019
22020 2004-06-29  Dan Williams <dcbw@redhat.com>
22021
22022         * dispatcher-daemon/NetworkManagerDispatcher.c
22023                 - Implement script callout functionality
22024
22025 2004-06-24  Dan Williams <dcbw@redhat.com>
22026
22027         * NetworkManager.c
22028             - Spacing cleanups
22029             - Flush device routes and ip addresses when added to the device list
22030
22031         * NetworkManagerDbus.c
22032             - Spacing cleanups
22033             - Add missing returns in the two signal functions
22034         
22035         * NetworkManagerPolicy.c
22036             - Spacing and variable cleanups
22037
22038 2004-06-24  Dan Williams <dcbw@redhat.com>
22039
22040         * Makefile.am
22041           Makefile.in
22042           configure.in
22043           dispatcher-daemon/Makefile.am
22044           dispatcher-daemon/Makefile.in
22045           dispatcher-daemon/NetworkManagerDispatcher.c
22046             - Add a daemon that receives signals from NetworkManager
22047                         and will (eventually) call scripts in /etc/somewhere
22048                         when devices go up or down.
22049         
22050         * NetworkManager.c
22051             - Spacing cleanups
22052             - Flush device routes and ip addresses when added to the device list
22053
22054         * NetworkManagerDbus.c
22055             - Spacing cleanups
22056             - Add missing returns in the two signal functions
22057         
22058         * NetworkManagerPolicy.c
22059             - Spacing and variable cleanups
22060             - Rename nm_policy_switch_interface->nm_policy_switch_device
22061             - nm_policy_switch_device():
22062                                 Use kill (pid) instead of system ("kill <pid>")
22063             - nm_state_modification_monitor():
22064                                 Add wireless essid to output of debug statements
22065                                 Correct typo in device compare to switch or not (should be !=)
22066                                 Don't sleep after sending "no longer active" signal, was useless
22067
22068 2004-06-24  Dan Williams <dcbw@redhat.com>
22069
22070         * Initial import