diff options
-rw-r--r-- | ChangeLog | 12277 | ||||
-rwxr-xr-x | examples/light_sensors_and_keyboard_backlight.py | 88 | ||||
-rw-r--r-- | tools/hal-storage-cleanup-all-mountpoints.c | 180 | ||||
-rw-r--r-- | tools/hal-storage-cleanup-mountpoint.c | 192 | ||||
-rw-r--r-- | tools/hal-storage-eject.c | 303 | ||||
-rw-r--r-- | tools/hal-storage-shared.c | 481 | ||||
-rw-r--r-- | tools/hal-storage-shared.h | 54 | ||||
-rw-r--r-- | tools/hal-storage-unmount.c | 191 | ||||
-rwxr-xr-x | tools/hal-system-storage-cleanup-mountpoint | 21 | ||||
-rwxr-xr-x | tools/hal-system-storage-cleanup-mountpoints | 16 | ||||
-rwxr-xr-x | tools/hal-system-storage-eject | 45 | ||||
-rwxr-xr-x | tools/hal-system-storage-unmount | 67 |
12 files changed, 1489 insertions, 12426 deletions
diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index d3dec01e..00000000 --- a/ChangeLog +++ /dev/null @@ -1,12277 +0,0 @@ -2006-07-27 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/Makefile.am: fixed building of hal-spec.html - - * doc/spec/hal-spec.html: submitted html to fix invalid chars - -2006-07-26 Danny Kukawka <danny.kukawka@web.de> - - * hald-runner/runner.c: (hash_kill_udi): fixed compiler warning - about incompatible pointer types - - * hald/linux2/hotplug.c: include ctype.h to fix compiler warning - -2006-07-24 Danny Kukawka <danny.kukawka@web.de> - - Fixed build hal-spec.html to avoid invalid chars in the html page and - closed fd.o bug #6986: - - * configure.in: replaced check for xmlto with old check for - docbook2html and additional check for xmllint - - * doc/spec/Makefile.am: added xmllint to resolve xinclude for docbook, - readded docbook2html command - -2006-07-20 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: fix configure and remove no longer available - volume_id/Makefile from AC_OUTPUT (fd.o bug #7541) - -2006-07-19 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: Added - slightly adopted patch from Bob Copeland <me@bobcopeland.com> to - add Rio Karma to list of USB mp3 players and close fd.o bug #7379 - -2006-07-19 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - Patch from <chris.hollenbeck@gmail.com> to fix fd.o bug #7029 and - correct audio_folders and playlist_path for iAudio X5 . - -2006-07-14 Kay Sievers <kay.sievers@vrfy.org> - - * tools/hal-device.c: (main): - * tools/lshal.c: (main): - Replace dbus_connection_disconnect() with dbus_connection_close() - (D-BUS api rename) - -2006-07-14 Richard Hughes <richard@hughsie.com> - - * fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi: - As found in http://bugzilla.gnome.org/show_bug.cgi?id=345257 the hal - property "laptop_panel.brightness_in_hardware" is found the root - computer object, not on the actual laptop_panel object which is - obviously wrong. Patch fixes the issue for Crispin Flowerday. - -2006-07-11 Danny Kukawka <danny.kukawka@web.de> - - Added checks if vbetool is available and executable in /usr/sbin/, - added check if /var/run/{vbemode,vbestate} is available, if needed. - - * tools/linux/hal-system-video-resume-linux: - * tools/linux/hal-system-video-suspend-linux: - -2006-07-11 Kay Sievers <kay.sievers@vrfy.org> - - * agents/Makefile.am: - * agents/linux/Makefile.am: - * agents/linux/usb/Makefile.am: - * agents/linux/usb/usb_agent.c: - * agents/linux26/Makefile.am: - * agents/linux26/sysfs/Makefile.am: - * agents/linux26/sysfs/hal_block.c: - * agents/linux26/sysfs/hal_block.h: - * agents/linux26/sysfs/hal_ide.c: - * agents/linux26/sysfs/hal_ide.h: - * agents/linux26/sysfs/hal_input.c: - * agents/linux26/sysfs/hal_input.h: - * agents/linux26/sysfs/hal_monitor.c: - * agents/linux26/sysfs/hal_monitor.h: - * agents/linux26/sysfs/hal_net.c: - * agents/linux26/sysfs/hal_net.h: - * agents/linux26/sysfs/hal_pci.c: - * agents/linux26/sysfs/hal_pci.h: - * agents/linux26/sysfs/hal_scsi.c: - * agents/linux26/sysfs/hal_scsi.h: - * agents/linux26/sysfs/hal_usb.c: - * agents/linux26/sysfs/hal_usb.h: - * agents/linux26/sysfs/libsysfs/Makefile.am: - * agents/linux26/sysfs/libsysfs/dlist.c: - * agents/linux26/sysfs/libsysfs/dlist.h: - * agents/linux26/sysfs/libsysfs/libsysfs.h: - * agents/linux26/sysfs/libsysfs/sysfs.h: - * agents/linux26/sysfs/libsysfs/sysfs_bus.c: - * agents/linux26/sysfs/libsysfs/sysfs_class.c: - * agents/linux26/sysfs/libsysfs/sysfs_device.c: - * agents/linux26/sysfs/libsysfs/sysfs_dir.c: - * agents/linux26/sysfs/libsysfs/sysfs_driver.c: - * agents/linux26/sysfs/libsysfs/sysfs_utils.c: - * agents/linux26/sysfs/main.c: - * agents/linux26/sysfs/main.h: - Remove dead code. - -2006-07-11 Kay Sievers <kay.sievers@vrfy.org> - - * hald/util.h: - Increase HAL_PATH_MAX from 256 to 512. - -2006-07-11 Kay Sievers <kay.sievers@vrfy.org> - - * Makefile.am: - * volume_id/.cvsignore: - * volume_id/Makefile.am: - * volume_id/cramfs.c: - * volume_id/ext.c: - * volume_id/fat.c: - * volume_id/hfs.c: - * volume_id/highpoint.c: - * volume_id/hpfs.c: - * volume_id/iso9660.c: - * volume_id/isw_raid.c: - * volume_id/jfs.c: - * volume_id/linux_raid.c: - * volume_id/linux_swap.c: - * volume_id/logging.h: - * volume_id/lsi_raid.c: - * volume_id/luks.c: - * volume_id/lvm.c: - * volume_id/mac.c: - * volume_id/minix.c: - * volume_id/msdos.c: - * volume_id/ntfs.c: - * volume_id/nvidia_raid.c: - * volume_id/ocfs.c: - * volume_id/promise_raid.c: - * volume_id/reiserfs.c: - * volume_id/romfs.c: - * volume_id/silicon_raid.c: - * volume_id/squashfs.c: - * volume_id/sysv.c: - * volume_id/udf.c: - * volume_id/ufs.c: - * volume_id/util.c: - * volume_id/util.h: - * volume_id/via_raid.c: - * volume_id/volume_id.c: - * volume_id/volume_id.h: - * volume_id/vxfs.c: - Remove internal copy of libvolume_id. - -2006-07-11 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/probing/probe-storage.c: (main): - If HAL finds already created partitions, it will not longer probe - for a filesystem on the disk. This should work with kernel 2.6.17. - -2006-07-11 Kay Sievers <kay.sievers@vrfy.org> - - * configure.in: - * hald/linux2/probing/Makefile.am: - * hald/linux2/probing/probe-storage.c: (vid_log), (main): - * hald/linux2/probing/probe-volume.c: (vid_log), - (probe_msdos_part_table), (set_volume_id_values), (main): - Depend on external shared version of libvolume_id. - -2006-07-11 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/hotplug.c: (hotplug_event_begin_sysfs): Prepare for - new class devices showing up in /sys/devices instead of /sys/class. - -2006-07-10 Danny Kukawka <danny.kukawka@web.de> - - * libhal-storage/libhal-storage.c: (libhal_volume_from_udi), - (libhal_volume_get_size), (libhal_volume_get_disc_capacity): - Fixed libhal_volume_get_size to return volume.size if available - instead of compute the value from volume.block_size and - volume.num_blocks which can be wrong values. Added slightly - adopted patch from Wouter Paesen <wouter@kangaroot.net> to get - disc_capacity of a volume via lib (fd.o bug #6496) - * libhal-storage/libhal-storage.h: fd.o bug #6496 - -2006-07-10 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-volume.c: (main): set volume.block_size - for blank CD/DVD to 0 to avoid stange values for volume size if - volume.block_size and volume.num_blocks. - -2006-07-03 Danny Kukawka <danny.kukawka@web.de> - - * libhal-storage/libhal-storage.c: (libhal_drive_free), - (libhal_volume_free): set pointer adress to NULL after free() - - * libhal/libhal.c: (libhal_free_string_array), - (libhal_free_string): Fixed some memory leaks. - -2006-06-20 David Zeuthen <davidz@redhat.com> - - * tools/hal-storage-mount.c (bailout_if_in_fstab): Handle LABEL= - and UUID= in this function. - (handle_mount): Also allow uid= on iso9660 and udf like we do for - vfat. - - * fdi/policy/10osvendor/20-storage-methods.fdi: Ignore EFI - firmware partition. - - * tools/hal-system-storage-cleanup-mountpoints: Fix OS-specific - script invocation - -2006-06-14 David Zeuthen <davidz@redhat.com> - - * configure.in: Check properly for libpci. Patch from Frederic - Peters <fpeters@0d.be>. - -2006-06-09 Richard Hughes <richard@hughsie.com> - - * hald/linux2/addons/.cvsignore: - * privileges/.cvsignore: - * tools/.cvsignore: - * tools/freebsd/.cvsignore: - Update these with the new files to keep cvs diff happy. - -2006-06-09 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-video-resume: - * tools/hal-system-video-suspend: - * tools/linux/hal-system-video-resume-linux: - * tools/linux/hal-system-video-suspend-linux: - Add the video adapter suspend and resume functionality so we can just - drop in one fdi file and get the adapter to do the correct thing. - -2006-06-08 David Zeuthen <davidz@redhat.com> - - Adds code so addons can claim interfaces and handle the methods on - them in the addon daemon code. The example here is setting the LCD - backlight on a Macbook Pro. Actual code for setting the backlight - is based on code from Nicolas Boichat found on the mactel-linux - mailing list. - - * hald/linux2/addons/addon-macbookpro-backlight.c: New file. - - * tools/hal-system-power-set-power-save: Bugfix so the right - backend script is invoked. - - * libhal/libhal.h: Add prototype for libhal_device_claim_interface(). - - * libhal/libhal.c (libhal_device_claim_interface): New function. - - * hald/linux2/addons/Makefile.am: Add rules for - hald-addon-macbookpro-backlight. - - * hald/hald_dbus.c (device_emit_condition): Only allow helpers, - e.g. only messages from direct connections. - (device_claim_interface): New function to handle the - ClaimInterface() method - (do_introspect): Include introspection XML for ClaimInterface() - and the introspection XML returned by ClaimInterface() - invocations. - (reply_from_fwd_message): New function - (hald_dbus_filter_handle_methods): Handle ClaimInterface() and - forward messages to the claimed interfaces on the appropriate - objects. - (local_server_message_handler): Forward signals from helpers onto - the system message bus and DTRT when a helper disconnects. - - * hald/device_info.c (handle_spawn): New function. One can now do - a <spawn udi="foo"> to spawn a child device. See the fdi file below - for usage. - (start, spawned_device_callouts_add_done, end): Handle spawning - device objects in response to <spawn>. - - * fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi: Add rules - for matching the Macbook Pro in order to spawn a new device object - with an addon for handing methods on the org.fd.H.D.LaptopPanel - interface. - - * hal.conf.in: Allow some interfaces to also emit signals. - - * configure.in: Check for libpci so we can use it as an optional - dependency. - -2006-06-06 David Zeuthen <davidz@redhat.com> - - Add introspection support to hald. - - * hald/hald_dbus.c: - (do_introspect): New function - (hald_dbus_filter_handle_methods): Handle method "Introspect" on - interface "org.freedesktop.DBus.Introspectable" - - * fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi, - fdi/policy/10osvendor/10-power-mgmt-policy.fdi, - fdi/policy/10osvendor/15-storage-luks.fdi, - fdi/policy/10osvendor/20-storage-methods.fdi: Add new property - *.method_argnames to describe each argument for a method; it's - just a space delimited list. - -2006-06-06 Richard Hughes <richard@hughsie.com> - - * doc/spec/Makefile.am: - * doc/spec/config.xsl: - * doc/spec/docbook.css: - This adds a css style file to the generated html file. It makes the - tables much prettier and smart. The old tables make my eyes bleed. - - * doc/spec/hal-spec.html: - Regenerate this file. - -2006-06-06 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): Set - capability volume.disc as required by the spec. Patch from Kevin - Ottens <ervin@kde.org>. - -2006-06-05 David Zeuthen <davidz@redhat.com> - - * tools/Makefile.am: Be explicit about DIST_SUBDIRS as otherwise - 'make distcheck' breaks. - - * configure.in: Disable building docbook by default as it - currently breaks 'make distcheck'. - - * doc/spec/Makefile.am: Also dist other XML files - -2006-06-05 David Zeuthen <davidz@redhat.com> - - * configure.in, tools/Makefile.am: Patch from Joe Marcus Clarke - <marcus@freebsd.org> and Danny Kukawka <danny.kukawka@web.de> to - only install the backend we're building for. - -2006-06-05 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c: - (hald_exec_method): Export a new environment variable with the - unique name for callers system bus connection called - HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME - - * policy/*: Move these to privileges instead - - * privileges/*: Moved from policy/txt/* - - * Makefile.am: Fix up subdirs - - * configure.in: Adjust for new dirs and remove comment about - libhal-policy. Require PolicyKit >= 0.2 (which is polkit CVS). - Don't read weird options from the polkit pc file. - - * tools/*: Update to new PolicyKit API and DTRT so things work - using hald/run-hald.sh - -2006-06-05 Sjoerd Simons <sjoerd@luon.net> - - * configure.in: Added Catalan translation to ALL_LINGUAS - -2006-05-31 Richard Hughes <richard@hughsie.com> - - * hal.conf.in: - Only allow org.freedesktop.Hal.Device.VideoAdapterPM to be used by root. - -2006-05-31 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec-properties.xml: - * doc/spec/hal-spec.html: - Add the video_adapter_pm namespace key descriptions for video power - management control. - -2006-05-25 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/classdev.c: (net_add): removed net.interface_up - property because we never refresh the value, since this info is gone - into NetworkMananger and removed from HAL (see fd.o bug #6233). - * doc/spec/hal-spec-properties.xml: changed net.interface_up to not - mandatory - -2006-05-23 Richard Hughes <richard@hughsie.com> - - * tools/linux/hal-system-power-suspend-linux: - * tools/freebsd/hal-system-power-suspend-freebsd: - Re-add --print-reply to dbus-send else the Rescan does not work. - This fixes numerous recent bugs where the lid value is not correct on - resume. This must have been changed incorrectly in the last few weeks. - -2006-05-21 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/osspec.c: (computer_probing_pcbios_helper_done): Fixed - mapping of system.formfactor from smbios.chassis.type. Added a check - if the key is already set to avoid overwrite values e.g. set in the - ACPI/APM/PMU code. - Added check for exit_type to skip mapping if execution of the smbios - prober failed. - (osspec_probe): Removed set default value for system.formfactor for - all cases and readded to case if !should_decode_dmi is set. - -2006-05-19 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c (blockdev_refresh_mount_state): Don't - stat autofs mounts. Patch from John (J5) Palmieri - <johnp@redhat.com>. - -2006-05-18 Danny Kukawka <danny.kukawka@web.de> - - Added check for bash syntax in scipts to the new backend dirs. - - * tools/freebsd/Makefile.am: - * tools/linux/Makefile.am: - -2006-05-17 Danny Kukawka <danny.kukawka@web.de> - - Fixed path to the helper of the related backends, added several - messages as e.g. UnknownError if backend not found (William Jon - McCann <mccann@jhu.edu>) and if a needed environment variable is - not set. Capture result of command polkit-is-privileged (William i - Jon McCann <mccann@jhu.edu>) - - * hald/hald_runner.c: (hald_runner_start_runner): added - PACKAGE_BIN_DIR to PATH - * tools/hal-luks-remove: - * tools/hal-luks-remove.in: - * tools/hal-luks-setup: - * tools/hal-luks-teardown: - * tools/hal-system-lcd-get-brightness: - * tools/hal-system-lcd-set-brightness: - * tools/hal-system-power-hibernate: - * tools/hal-system-power-reboot: - * tools/hal-system-power-set-power-save: - * tools/hal-system-power-shutdown: - * tools/hal-system-power-suspend: - * tools/hal-system-storage-cleanup-mountpoint: - * tools/hal-system-storage-cleanup-mountpoints: - * tools/hal-system-storage-eject: - * tools/hal-system-storage-unmount: export MOUNT_POINT for the - backend script William Jon McCann <mccann@jhu.edu> - * tools/linux/hal-system-storage-eject-linux: added result of failed - eject to error message (<mccann@jhu.edu>), added GIVEN_EJECTOPTIONS - to the eject command - * tools/linux/hal-system-storage-unmount-linux: - -2006-05-14 Joe Marcus Clarke <marcus@freebsd.org> - - * tools/linux/hal-luks-remove-linux.in: - * tools/linux/hal-luks-remove.in-linux: (removed): Rename - hal-luks-remove.in-linux to hal-luks-remove-linux.in to preserve - the .in extension. - -2006-05-14 Joe Marcus Clarke <marcus@freebsd.org> - - * tools/linux/Makefile.am: Remove a script which is only found - in the OS-independent section. Spotted by Richard Hughes. - -2006-05-14 Richard Hughes <richard@hughsie.com> - - * configure.in: - * doc/spec/Makefile.am: - Change the docbook2html check in the configure script to check for - xmlto. Also change s/DOCBOOK/XMLTO/ in the Makefile. - -2006-05-14 Joe Marcus Clarke <marcus@freebsd.org> - - * tools/freebsd/Makefile.am: - * tools/linux/Makefile.am: Add scripts to EXTRA_DIST - -2006-05-14 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec-properties.xml: - * fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi: - On some laptops, the brightness control is all done in hardware - but the hardware also synthesizes keypresses when the brightness is - changed. - If laptop_panel.brightness_in_hardware is set true, then any - power manager software should not attempt to set any new values on - brightness keypress, as it may cause the panel to flash uncontrollably. - This patch sets the aforementioned key for the IBM ThinkPad X31. - -2006-05-14 Joe Marcus Clarke <marcus@freebsd.org> - - * hald/hald_runner.c: (add_basic_env) - * configure.in: - * tools/Makefile.am: - * tools/freebsd/Makefile.am: - * tools/freebsd/hal-system-lcd-get-brightness-freebsd: - * tools/freebsd/hal-system-lcd-set-brightness-freebsd: - * tools/freebsd/hal-system-power-reboot-freebsd: - * tools/freebsd/hal-system-power-set-power-save-freebsd: - * tools/freebsd/hal-system-power-shutdown-freebsd: - * tools/freebsd/hal-system-power-suspend-freebsd: - * tools/freebsd/hal-system-storage-cleanup-mountpoints-freebsd: - * tools/freebsd/hal-system-storage-eject-freebsd: - * tools/freebsd/hal-system-storage-unmount-freebsd: - * tools/hal-luks-remove: - * tools/hal-luks-remove.in: - * tools/hal-luks-setup: - * tools/hal-luks-teardown: - * tools/hal-storage-mount.c: (fstab_open, fstab_next, fstab_close, - mtab_open, mtab_next, mtab_close, map_fstype): New functions - (bailout_if_in_fstab, bailout_if_mounted, handle_mount): - * tools/hal-system-lcd-get-brightness: - * tools/hal-system-lcd-set-brightness: - * tools/hal-system-power-hibernate: - * tools/hal-system-power-pmu.c: (pmac_sleep, pmac_get_lcd_brightness, - pmac_get_lcd_brightness, pmac_set_lcd_brightness): - * tools/hal-system-power-reboot: - * tools/hal-system-power-set-power-save: - * tools/hal-system-power-shutdown: - * tools/hal-system-power-suspend: - * tools/hal-system-storage-cleanup-mountpoint: - * tools/hal-system-storage-cleanup-mountpoints: - * tools/hal-system-storage-eject: - * tools/hal-system-storage-unmount: - * tools/linux/Makefile.am: - * tools/linux/hal-luks-remove-linux: - * tools/linux/hal-luks-remove.in-linux: - * tools/linux/hal-luks-setup-linux: - * tools/linux/hal-luks-teardown-linux: - * tools/linux/hal-system-lcd-get-brightness-linux: - * tools/linux/hal-system-lcd-set-brightness-linux: - * tools/linux/hal-system-power-hibernate-linux: - * tools/linux/hal-system-power-reboot-linux: - * tools/linux/hal-system-power-set-power-save-linux: - * tools/linux/hal-system-power-shutdown-linux: - * tools/linux/hal-system-power-suspend-linux: - * tools/linux/hal-system-storage-cleanup-mountpoints-linux: - * tools/linux/hal-system-storage-eject-linux: - * tools/linux/hal-system-storage-unmount-linux: Split out the - tools scripts into an OS-independent wrapper, and an OS-dependent - backend. The backend selection with be based on the utsname.sysname - value. Also, add FreeBSD support to hal-storage-mount.c (code - from Jean-Yves Lefort <jylefort@FreeBSD.org>). - -2006-05-12 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-volume.c: (strdup_valid_utf8): - removed (again) unneeded code and validate the returned string - directly. - -2006-05-12 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-volume.c (strdup_valid_utf8): In - Ubuntu we got several bug reports about device label gibberish, - for example: https://launchpad.net/bugs/27897. This happens if the - label is either truly bogus, or in a non-UTF-8 compatible - encoding. The blunt solution would be to just ignore any non-UTF-8 - labels, but since it might be preferable to retain labels which - are only 'lightly' damaged (maybe one Umlaut in an otherwise valid - string), I wrote a small patch to ignore invalid labels if they - contain more than 20% illegal characters. Patch from Martin Pitt - <martin@piware.de>. - -2006-05-12 Danny Kukawka <danny.kukawka@web.de> - - cleanup: s/;;/;/ - - * hald/hald_dbus.c: (hald_exec_method_enqueue), - (hald_exec_method_process_queue): - * tools/hal-device.c: (process_property): - * volume_id/reiserfs.c: (volume_id_probe_reiserfs): - -2006-05-10 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-input.c: (check_abs), (check_key), - (check_rel): replaced fprintf () with dbg () - -2006-05-10 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-volume.c: (strdup_valid_utf8): - removed unneeded code and validate the returned string directly. - - * hald/util.c: (hal_util_strdup_valid_utf8): validate the returned - string and not the original, which we duplicated for return. - -2006-05-09 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - Added new mp3-player from fd.o bug #6646 - -2006-05-09 Danny Kukawka <danny.kukawka@web.de> - - Added support for --use-syslog option to prober and addons. This - should allow easy logging complete hal debug information to syslog - if hald run in daemon mode: - - * hald/hald_runner.c: (add_basic_env): added HALD_USE_SYSLOG to env - * hald/linux2/probing/shared.h: added support for HALD_USE_SYSLOG - - Replaced in prober and addons old debug code with support for - --use-syslog instead of log to sterr. - - * hald/linux2/addons/addon-acpi.c: (main): - * hald/linux2/addons/addon-hid-ups.c: (ups_get_string), (main): - * hald/linux2/addons/addon-pmu.c: (main): - * hald/linux2/addons/addon-storage.c: (main): - * hald/linux2/addons/addon-usb-csr.c: (main): - * hald/linux2/probing/probe-input.c: (main): - * hald/linux2/probing/probe-pc-floppy.c: (main): - * hald/linux2/probing/probe-printer.c: (main): - * hald/linux2/probing/probe-serial.c: (main): - * hald/linux2/probing/probe-smbios.c: (main): also fixed set debug - option before use dbg() the first time - * hald/linux2/probing/probe-storage.c: (main): replaced printf with - dbg() and removed some needless debug lines. - * hald/linux2/probing/probe-volume.c: (main): - -2006-05-09 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-smbios.c: fixed problem with parse - information from output of dmidecode where the search string is - shorter than 7 chars: replaced in strbegin() 'sizeof(char *) -1' - (which returns the size of the pointer) with 'strlen(char *)' which - returns the size of the string. - -2006-05-09 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: added property for DVD+RW DL to spec - * hald/linux2/probing/linux_dvd_rw_utils.c, - hald/linux2/probing/linux_dvd_rw_utils.h: (get_dvd_r_rw_profile): - reworked detection of device capabilities to get correct DVD-RW info - and added DVD+RW DL detection. - * hald/linux2/probing/probe-storage.c: (main): fixed mapping of - return value of get_dvd_r_rw_profile() related to changes - * libhal-storage/libhal-storage.c: - (libhal_drive_policy_compute_display_name), - (libhal_drive_from_udi): - * libhal-storage/libhal-storage.h: added property DVD+RW DL - -2006-05-09 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/blockdev.c: (blockdev_refresh_mount_state): Skip stat - nfs mounts. This should solve blocked hald (and failing aplications - which use hal) if there are nfs share mounts with 'stale nfs handle'. - -2006-05-09 Danny Kukawka <danny.kukawka@web.de> - - Moved hal scripts to $(libdir)/hal/scripts instead of - $(datadir)/hal/scripts to be more in compliance with FHS related - to fd.o bug #5655 - - * hald/Makefile.am: - * tools/Makefile.am: - -2006-05-09 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec-properties.xml: - Rework a patch from Joe Marcus Clarke <marcus@FreeBSD.org> to fix a - typo in an oss keyname. - -2006-05-09 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec-properties.xml: - Add org.freedesktop.Hal.Device.LaptopPanel.GetBrightness and - org.freedesktop.Hal.Device.LaptopPanel.SetBrightness descriptions - to the spec file. - -2006-05-09 Richard Hughes <richard@hughsie.com> - - * doc/spec/Makefile.am: - * doc/spec/hal-spec.html: - * doc/spec/hal-spec.xml.in: - * doc/spec/hal-spec-introduction.xml: - * doc/spec/hal-spec-fdi-files.xml: - * doc/spec/hal-spec-properties.xml: - * doc/spec/hal-spec-examples.xml: - Split up the spec file into more managable lumps using XInclude, and - change to using xmlto to convert the docbook xml to html as - docbook2html cannot handle the XInclude stuff as it's not valid docbook. - This is the first of many cleanup patches to the spec, so expect the - filenames to (maybe) change, or for files to be split even further. - -2006-05-08 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec.xml.in: - * hald/linux2/osspec.c: (set_suspend_hibernate_keys): - Depreciate the keys power_management.can_suspend_to_ram and - power_management.can_suspend_to_disk in favour of - power_management.can_suspend and power_management.can_hibernate so it's - all consistent between the method names and the can_* keys. - We'll remove the former keys in a year or so, but leave them now for - compatability. - -2006-05-08 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-input.c: This patch fixes endian-ness - issues with the input device support of hal, and thus makes the - special buttons on a big-endian machine show up through hal. Patch - from Johannes Berg <johannes@sipsolutions.net>. - -2006-05-04 David Zeuthen <davidz@redhat.com> - - Patch from Joe Marcus Clarke <marcus@freebsd.org>. Move sockets to - /var/run/hald and create this directoy on 'make install' - - * configure.in: - * hald/Makefile.am: - * hald/hald_dbus.c: (hald_dbus_local_server_init): - * hald/hald_runner.c: - -2006-05-01 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/osspec.c: (set_suspend_hibernate_keys): - getline() expects size_t; fix alignment warning - -2006-04-28 Artem Kachitchkine <artem.kachitchkin@sun.com> - - * tools/hal_set_property.c: (main): --remove confuses return values. - -2006-04-28 David Zeuthen <davidz@redhat.com> - - * tools/hal-storage-mount.c (handle_mount): Update to new - PolicyKit API. - -2006-04-27 Richard Hughes <richard@hughsie.com> - - Patch from Bastien Nocera <hadess@hadess.net>: - - * hald/linux2/acpi.c: (acpi_synthesize_sonypi_display): - Check that we don't support brightness change through ACPI - with the presence of /proc/acpi/sony/brightness for type3 VAIOs. - -2006-04-27 Richard Hughes <richard@hughsie.com> - - Patch from Bastien Nocera <hadess@hadess.net>: - - * tools/hal-system-lcd-get-brightness: - * tools/hal-system-lcd-set-brightness: - Commit a patch to check whether we have the userspace tool spicctrl - as well. Could cause a few problems otherwise. - -2006-04-26 Richard Hughes <richard@hughsie.com> - - Patch from Bastien Nocera <hadess@hadess.net>: - - * hald/linux2/acpi.c: (laptop_panel_refresh), - (acpi_synthesize_sonypi_display), (acpi_synthesize_hotplug_events): - Create an LCD Panel object of type sonypi, necessary for getting the - methods supported for panasonic notebooks. - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=6729 - - * tools/hal-system-lcd-get-brightness: - * tools/hal-system-lcd-set-brightness: - Support the sonypi brightness type. - -2006-04-26 David Zeuthen <davidz@redhat.com> - - Patch from Gabriel Burt <gabriel.burt@gmail.com>. - - After some further consideration, I think the - portable_audio_player.filepath_format property should be removed - and a new property, folder_depth, should be created. The main - point of the filepath_format property was to convey whether the - device only supported a limited file hierarchy, but it ended up - conveying much more than that - specifying exactly what directory - structure the music files should go in, when that's really not - appropriate (since the hardware doesn't care except in the - hierarchy depth case). The folder to write files out to can be - taken from the first entry in the audio_folders property. This - change will allow the application to choose the appropriate - directory structure (/podcasts/NPR/****, /Artist/Album/00 - Title, - etc). I've attached a patch that make this change in the - hal-spec.xml.in as well as another patch that adds some of these - new properties for a few audio devices. - - * doc/spec/hal-spec.xml.in: Update spec - - * fdi/information/10freedesktop/10-usb-music-players.fdi: Update - to reflect new spec - -2006-04-24 Richard Hughes <richard@hughsie.com> - - * fdi/information/10freedesktop/10-wireless-mice.fdi: Update the patch - from http://bugs.freedesktop.org/show_bug.cgi?id=6397 as we are trying - to detect wired mice here as well. Also add the proper product names, - giving a nicer name in hal-device-manager. - -2006-04-24 Kay Sievers <kay.sievers@vrfy.org> - - Add "COMMANDSET:" to the printer query parsing. - * hald/linux2/probing/probe-printer.c: (main): - -2006-04-24 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-power-hibernate, tools/hal-system-power-suspend: - Add --print-reply to dbus-send else the Rescan does not work. - This should fix a whole load of bugs related to ACPI values on resume. - -2006-04-17 Kay Sievers <kay.sievers@vrfy.org> - - Read name of cpu from /proc/cpuinfo. Some day we will - have this in sysfs, but it's not ready for now. - Thanks for the patch to: - Jim Krehl <jimmyk@novell.com> - - * hald/linux2/acpi.c: (get_processor_model_name), - (processor_refresh): - -2006-04-17 Kay Sievers <kay.sievers@vrfy.org> - - Add printer command set returned by 1284 query. - "Each key will have at least one value, and may have more than one - value. The minimum necessary keys (case-sensitive) are MANUFACTURER, - COMMAND SET, and MODEL. (These keys may be abbreviated as MFG, CMD, - and MDL respectively.) Each implementation will supply these three - keys and possibly additional ones as well" - http://www.longrange.net/ParallelPort/1284d12.pdf - - * doc/spec/hal-spec.xml.in: - * hald/linux2/probing/probe-printer.c: (main): - -2006-04-16 Richard Hughes <richard@hughsie.com> - - * fdi/information/10freedesktop/10-wireless-mice.fdi: Added new - Logitech csr mice, mainly from Bastien Nocera for fd.o 6397. - Also added Coordless Click! which has also been tested working. - -2006-04-12 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: Applied - slightly adopted patches from fd.o bugs 6317, 6462, 6464, 6561. - Reorganized the listed devices ordered my the vendor id and removed - double vendor matches. - -2006-03-30 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-power-hibernate, tools/hal-system-power-suspend: - Refresh device types button, battery and ac_adapter on resume, as - a suspend or hibernate can do funny things to ACPI. - This fixes a common problem where HAL forgets the value of the lid - button when it is resuming and may fix other related problems also. - -2006-03-26 David Zeuthen <davidz@redhat.com> - - Fix for RH bug #185557 - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): Introduce - "pcmcia" as a value storage.bus and mark devices of this bus as being - hotpluggable - - * fdi/information/10freedesktop/10-usb-card-readers.fdi: When - storage.bus="pcmcia" mark all drives with "FLASH" in the model - string as having drive_type="compact_flash" - -2006-03-26 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-power-hibernate, - tools/hal-system-power-suspend, - tools/hal-system-power-reboot, - tools/hal-system-power-shutdown, - tools/hal-system-storage-eject, - tools/hal-system-storage-unmount: s/--policy/--privilege/ and - s/--uid/--user/ - -2006-03-14 David Zeuthen <davidz@redhat.com> - - * policy/txt/*: Use new suffix .privilege instead of .policy and - prefix privilege files with "hal-". - - * tools/hal-storage-mount.c: (invalid_mount_option), - (permission_denied_privilege), (handle_mount), (main): Update to - new libpolkit from PolicyKit CVS HEAD. Also read the environment - variable $HAL_METHOD_INVOKED_BY_PID which is yet to be exported - by hald and hald-runner - - * tools/hal-system-*: Use new hal- prefix for the privilege name - -2006-03-13 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: Added Khmer translation to ALL_LINGUAS - -2006-03-13 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - applied slightly adopted patch and added new device from fd.o bugs: - 6169, 6228 - -2006-03-10 Richard Hughes <richard@hughsie.com> - - Patch from Paolo Borelli <pborelli@katamail.com>. - - * tools/hal-system-lcd-set-brightness: Sony laptops have a brightness - range from 1..8 not 0..7 and so we need to add 1 before we echo this - brightness value to /proc/acpi/sony/brightness. Fixes g-p-m not setting - the screen to full brightness when set to 100%. - -2006-03-10 David Zeuthen <davidz@redhat.com> - - Patch from Christian Neumair <chris@gnome-de.org>. - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): Set - FALSE for volume.is_mounted_read_only - - * libhal-storage/libhal-storage.c (libhal_drive_from_udi): Extract - volume.is_mounted_read_only - (libhal_volume_is_mounted_read_only): New function - - * libhal-storage/libhal-storage.h: Export prototype for - libhal_volume_is_mounted_read_only() - - * hald/linux2/blockdev.c (blockdev_refresh_mount_state): Set - volume.is_mounted_read_only - - * doc/spec/hal-spec.xml.in: Document volume.is_mounted_read_only - -2006-03-09 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/apm.c: (battery_refresh): fixed remaining_time - property, remove the key if battery is charging because apm don't know - remaining time on changing. The key is not mandatory, do the same - as on ACPI if value is unknown. - -2006-03-08 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - applied patches and added new devices from fd.o bugs: 6101, 6139, - 6173, 6175 - -2006-03-08 Kay Sievers <kay.sievers@vrfy.org> - - Add squashfs detection. - - * volume_id/Makefile.am: - * volume_id/volume_id.c: (volume_id_probe_filesystem): - * volume_id/volume_id.h: - * volume_id/squashfs.c: - -2006-03-08 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Patch from Gabriel Burt - <gabriel.burt@gmail.com>. Add some useful keys for - portable_audio_player. - -2006-03-07 David Zeuthen <davidz@redhat.com> - - * doc/api/Makefile.am, doc/api/hal-docs.xml: Remove libhal-policy bits - -2006-03-07 David Zeuthen <davidz@redhat.com> - - Move libhal-policy to a dedicated package PolicyKit (available in - HAL CVS). - - * configure.in: Require PolicyKit (available in hal CVS) and don't - build libhal-policy. Extract some useful POLKIT variables for - user, group and txtsrc for PolicyKit - - * Makefile.am: Don't build libhal-policy or hal-policy.pc - - * policy/txt/Makefile.am: Use new POLKIT_TXTSRC variable on where - to install policy - - * tools/Makefile.am: Don't build hal-policy-is-privileged as it is - obsoleted by PolicyKit's polkit-is-privileged - - * tools/hal-storage-mount.c: Use new libpolkit instead of - libhal-policy - - * tools/hal-system-power-hibernate, - tools/hal-system-power-suspend, tools/hal-system-power-reboot, - tools/hal-system-power-shutdown: Use polkit-is-privileged instead - of hal-policy-is-privileged - - * libhal-policy/libhal-policy.c, libhal-policy/libhal-policy.h, - libhal-policy/libhal-policy-test.c, libhal-policy/Makefile.am, - tools/hal-policy-is-privileged.c, tools/hal-system-storage-mount: - Remove these files. - -2006-03-07 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-wireless-mice.fdi: Add entry for - my wireless mouse+keyboard combo - -2006-03-07 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - Added several USB mp3 player to fdi file: - - added patch from Gabriel Burt <gabriel.burt@gmail.com> for 17 new - devices - - applied patches and added new devices from fd.o bugs: 6095, 6102, - 6107, 6130, 6135, 6140, 6148, 6155, 6156, 6160 - -2006-03-06 David Zeuthen <davidz@redhat.com> - - * tools/hal-storage-mount.c: New file - - * tools/Makefile.am: Add rules for hal-storage-mount - - * fdi/policy/10osvendor/20-storage-methods.fdi: Use new C program - hal-storage-mount instead of hal-system-storage-mount (shell - script). Don't require ignored firmware partitions to be internal, - otherwise 'bootstrap' would show up when attaching my Powerbook G4 - in target disk mode. Allow a bunch of uid= options for other file - systems than vfat as storage-[fixed|removable]-mount-change-uid - policies will refuse to mount. - -2006-03-06 Sjoerd Simons <sjoerd@luon.net> - - * hald/linux2/addons/addon-keyboard.c: Also recognize mute, - volume up/down buttons, switchvideo mode button and keyboard illumination - toggle/down/up buttons. - -2006-03-04 Artem Kachitchkine <artem.kachitchkin@sun.com> - - * libhal-policy/Makefile.am: use AM_CFLAGS instead of CFLAGS - -2006-03-04 Artem Kachitchkine <artem.kachitchkin@sun.com> - - * configure.in: check for getgrouplist() and use the local version - if not provided by the system. - - * hald/hald_dbus.c: (hald_exec_method_free_mi), - (hald_exec_method_do_invocation), (hald_exec_method): stdin is - a macro in Solaris, can't use to name struct members. - - * hald/logger.h: if using Sun compiler, define __FUNCTION__ - through __func__. - - * libhal-policy/Makefile.am: posix thread flags required on Solaris - for getgrgid_r() to have 5 arguments (otherwise it has 4). - - * libhal-policy/libhal-policy.c: (afp_process_elem), - (libhal_policy_util_uid_to_name), (libhal_policy_element_set_uid), - (libhal_policy_element_set_gid), (libhal_policy_element_get_uid), - (libhal_policy_element_get_gid), (libhal_policy_element_dump): - anonymous unions are not supported in C99, fixed LibHalPolicyElement. - (getgrouplist): check for getgrouplist() and use the local version - if not provided by the system. - - * tools/lshal.c: if using Sun compiler, define __FUNCTION__ - through __func__. - -2006-03-03 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/classdev.c: (serial_get_prober): fixed to be sure that - the prober is only called for ttyS* devices. Only this devices - support TIOCGSERIAL, other tty devices like ttyACM* or ttyUSB* not. - -2006-03-03 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: fixed spec for portable_audio_player - namespace properties which not use string but strlist - -2006-03-03 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec.xml.in: Ammend the spec as now button.has_state - and button.type are not mandatory. - -2006-03-03 Richard Hughes <richard@hughsie.com> - - * hald/linux2/addons/.cvsignore: Append hald-addon-acpi-buttons-toshiba - - * .cvsignore: Append hal-policy.pc - - * tools/.cvsignore: Append hal-policy-is-privileged - - * libhal-policy/.cvsignore, policy/.cvsignore, policy/txt/.cvsignore: - Add this file, copied from libhal-storage. - -2006-03-03 Richard Hughes <richard@hughsie.com> - - * hald/linux2/addons/addon-acpi-buttons-toshiba.c, - hald/linux2/addons/Makefile.am: Build hald-addon-acpi-buttons-toshiba. - When the acpi->input patches get sent to the kernel, and HAL has a - dependency on this new kernel version, this addon can probably be - removed. Seeing as this may be years away, adding the addon is a good - thing to do as it makes the Fn keys on Toshiba work. - - * fdi/policy/10osvendor/10-toshiba-buttons.fdi, - fdi/policy/10osvendor/Makefile.am: Launch the toshiba acpi addon for - toshiba laptops only. - -2006-03-03 Richard Hughes <richard@hughsie.com> - - * hald/linux2/addons/addon-keyboard.c: Convert the key names to include - a central dash between words, e.g. converting "brightnessdown" and - "ejectcdto" to "brightness-down" and "eject-cd" to conform to the new - standard for key names. I think the only thing this breaks is g-p-m. - -2006-03-01 Richard Hughes <richard@hughsie.com> - - * Makefile.am, policy/txt/Makefile.am: Fix build by including the new - policy directory in the tarball, and by shipping the files as part of - the dist. - -2006-02-26 David Zeuthen <davidz@redhat.com> - - Use new policy framework to enforce policy. Always throw the same - exception org.freedesktop.Hal.Device.PermissionDeniedByPolicy as - callers can use that to identify that policy prevented the user - from invoking this method. - - * tools/hal-system-storage-mount: - - * tools/hal-system-storage-umount: - - * tools/hal-system-storage-eject: - - * tools/hal-system-power-suspend: - - * tools/hal-system-power-hibernate: - - * tools/hal-system-power-reboot: - - * tools/hal-system-power-poweroff: - -2006-02-26 David Zeuthen <davidz@redhat.com> - - * policy/txt/power-hibernate.policy (Allow), - * policy/txt/power-poweroff.policy (Allow), - * policy/txt/power-suspend.policy (Allow), - * policy/txt/storage-removable-mount.policy (Allow), - * policy/txt/storage-removable-mount-change-uid.policy (Allow): - Ugh, replace uid:all with uid:__all__ as the former was malformed - - * tools/hal-policy-is-privileged.c: Add verbose operation - - * tools/Makefile.am (bin_PROGRAMS): Ugh, forgot backslash when - adding hal-policy-is-privileged - -2006-02-26 David Zeuthen <davidz@redhat.com> - - * configure.in: Generate policy/Makefile and policy/txt/Makefile - - * policy/Makefile.am: New file - - * policy/txt/Makefile.am: Install policy files to /etc/hal/policy - - * policy/txt/*.policy: Policy files - -2006-02-26 David Zeuthen <davidz@redhat.com> - - * tools/Makefile.am: Add build rules for hal-policy-is-privileged - - * tools/hal-policy-is-privileged.c: New file, used to query policy - -2006-02-26 David Zeuthen <davidz@redhat.com> - - * NEWS: Write requirements for HAL 0.5.8 (and CVS HEAD) - -2006-02-25 David Zeuthen <davidz@redhat.com> - - * doc/api/tmpl: New directory - - * doc/api/tmpl/*.sgml: Templates - -2006-02-25 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.h: Add back typedefs for LibHalPropertySetIterator - and LibHalContext as they were accidently removed in last commit. - -2006-02-25 David Zeuthen <davidz@redhat.com> - - * gtk-doc.make: New file - -2006-02-25 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.[ch]: Convert doc comments from Doxygen to gtk-doc - - * libhal-storage/libhal-storage.[ch]: Convert doc comments from - Doxygen to gtk-doc (not completely done) - - * doc/api/hal-docs.xml: New file - - * doc/api/Doxyfile.in: Remove - - * doc/api/Makefile.am: Use gtk-doc instead of Doxygen - - * configure.in: Various cleanups; use gtk-doc instead of Doxygen - - * autogen.sh: Pass --enable-gtk-doc to configure. - - * acinclude.m4: Add GTK_DOC_CHECK, from cairo, thanks. - -2006-02-25 David Zeuthen <davidz@redhat.com> - - * hal-policy.pc.in: New file - - * libhal-policy/libhal-policy-test.c: New file - - * libhal-policy/libhal-policy.[ch]: New files - - * libhal-policy/Makefile.am: New file - - * hald/Makefile.am: Uncomment hald-test as this is currently - somewhat broken - - * doc/api/Doxyfile.in: Add libhal-policy to INPUT - - * configure.in: Add stuff of libhal-policy - - * Makefile.am: Add libhal-policy to SUBDIRS and hal-policy.pc to - pkgconfig_DATA and hal-policy.pc.in to EXTRA_DIST - -2006-02-24 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-power-set-power-save: Fix for - /usr/sbin/pm-powersave for Fedora pm-utils 0.10-1 - -2006-02-24 David Zeuthen <davidz@redhat.com> - - * configure.in: Post-release version bump to 0.5.8 - - * NEWS: Fix small typo in 0.5.7 release notes - -====== HAL 0.5.7 released ====== - -2006-02-24 David Zeuthen <davidz@redhat.com> - - * NEWS: Update for 0.5.7 - -2006-02-23 David Zeuthen <davidz@redhat.com> - - Patch from Sjoerd Simons <sjoerd@luon.net>. It adds a save PATH - to the enviroment by default (hald should never ever specify need - to add a path to the enviroment send to the runner, so we're not - overriding anything...). - - * hald-runner/utils.h: - - * hald-runner/utils.c (get_string_array): - - * hald-runner/main.c (parse_first_part): - -2006-02-23 David Zeuthen <davidz@redhat.com> - - * tools/hal-luks-setup.in: Actually remove this file - -2006-02-23 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): Add - some useful debugging on errors - - * tools/hal-luks-setup: Sleep three seconds on error to avoid - attacks for cracking the password - -2006-02-23 Richard Hughes <richard@hughsie.com> - - * hald/linux2/probing/probe-input.c: Add the bustype for ADB keyboards - so that the keyboard addon is lauched for my iBook clamshell. - This means that the power button now emits ButtonPressed conditions - and the machine thus works with gnome-power-manager. - -2006-02-22 David Zeuthen <davidz@redhat.com> - - Patch from Artem Kachitchkine <Artem.Kachitchkin@Sun.COM>, - slightly tweaked by myself. - - * libhal-storage/libhal-storage.[ch]: Teach libhal-storage about - Blu-ray and HD DVD. - -2006-02-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-pmu.c (main): Attached patch makes the - addon-pmu work in blocking mode (thus open /dev/adb - blocking). I've been running a little daemon on my system for some - years that also does this without any problems, so it should be - fine and makes the code somewhat nice imho. I've also removed some - old dead code, don't think there is much use in keeping it around - right? Patch from Sjoerd Simons <sjoerd@luon.net>. - -2006-02-22 David Zeuthen <davidz@redhat.com> - - Patch from Artem Kachitchkine <Artem.Kachitchkin@Sun.COM>. Add - Blu-ray and HD DVD to storage.cdrom and volume.disc.type per the - latest MMC-5 draft. See Table 87 - Profile List in - http://www.t10.org/drafts.htm#mmc5 . Probe-volume should do the - right thing, but probe-storage needs fixing (noted in FIXME - comment). - - * doc/spec/hal-spec.xml.in: - - * hald/linux2/probing/probe-volume.c (main): - - * hald/linux2/probing/probe-storage.c (main): - -2006-02-22 David Zeuthen <davidz@redhat.com> - - Patch from Martin Pitt <martin@piware.de>. - - * hald/linux2/probing/shared.h (drop_privileges): Take an - additional parameter "keep_auxgroups" - - * hald/linux2/addons/addon-storage.c (main): Add some comment that - we *could* drop privileges provided we were in the right group - - * hald/linux2/addons/addon-pmu.c (main): Drop privileges - - * hald/linux2/addons/addon-keyboard.c (main): Pass right parameter - to drop_privileges - - * hald/linux2/addons/addon-acpi.c (main): Drop privileges - -2006-02-22 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Allow fmask and - dmask for vfat - -2006-02-22 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.h: Export prototypes for - libhal_volume_crypto_get_clear_volume_udi and - libhal_volume_crypto_get_backing_volume_udi - - * libhal-storage/libhal-storage.c: - (libhal_volume_crypto_get_clear_volume_udi): New function - (libhal_volume_crypto_get_backing_volume_udi): New function - - * ChangeLog: fix my commit entry for 2006-02-19 - missed changes to - hald/hald_runner.c - -2006-02-21 Kay Sievers <kay.sievers@vrfy.org> - - Sync volume_id with udev version. - -2006-02-19 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (hald_exec_method_free_mi): New function - (hald_exec_method_do_invocation): Throw the exception - org.freedesktop.Hal.NoSuchDevice if the device went away while we - were in a queue. Move freeing of the MethodInvocation structure - into a separate function and require callers to call this. Return - FALSE if the device wasn't there. - (hald_exec_method_enqueue): Free the method invocation - (hald_exec_method_process_queue): Handle when device wasn't there - and process the next element instead - (local_server_message_handler): Comment out some debug information - - * hald/hald_runner.c (hald_runner_run_method): Ref the hal device - object as it may disappear while the method is executing - (call_notify): Unref the hal device object when done - -2006-02-18 David Zeuthen <davidz@redhat.com> - - While surprise removal of hotpluggable fixed disks with crypted - volumes worked fine, it didn't work so well for crypted volumes on - removable media. This patch should fix it. - - * hald/linux2/addons/addon-storage.c (unmount_cleartext_devices): - New function - (unmount_childs): If device is a crypto device, unmount all - cleartext devices and tear down the crypt link. - -2006-02-18 Richard Hughes <richard@hughsie.com> - - * hald/linux2/acpi.c (laptop_panel_refresh, - acpi_synthesize_hotplug_events): add handler for omnibook displays. - - * tools/hal-system-lcd-get-brightness, - tools/hal-system-lcd-set-brightness: Add omnibook support. - - * hald/linux2/acpi.c (acpi_synthesize_display): don't prepend the - acpi/ here as the new omnibook isn't under /proc/acpi. - See http://bugzilla.gnome.org/show_bug.cgi?id=331458 for details. - -2006-02-18 Richard Hughes <richard@hughsie.com> - - * tools/Makefile.am: Move hal-system-power-pmu from bin to libexec - as it's only meant to be called by hal, not a user. - - * tools/hal-system-lcd-get-brightness, - tools/hal-system-lcd-set-brightness: Change the path of - hal-system-power-pmu as libexec is now in our path and we are not - installed in scripts anymore. - - * tools/hal-system-power-suspend: Add the sleep command for - hal-system-power-pmu so that suspend works on ppc hardware. - -2006-02-18 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c (libhal_drive_free) - (libhal_volume_free): Remeber to free structures; reported by - Brendan Creane <bcreane@yahoo.com>. - -2006-02-18 David Zeuthen <davidz@redhat.com> - - * hald/hald.c (drop_privileges): Don't initgroups as we don't need - privileges for now. Patch from Martin Pitt <martin@piware.de>. - -2006-02-15 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c (libhal_volume_from_udi): Forgot - to set uuid, fsversion so libhal_volume_get_uuid(), - get_fsversion() would always return NULL. - -2006-02-14 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-mount: Refuse to mount a volume if it's - already listed in /etc/fstab - includes checking symlinks. Patch - from Ludwig Nussel <ludwig.nussel@suse.de>. - -2006-02-14 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (hald_exec_method_do_invocation) - (hald_exec_method_enqueue, hald_exec_method_process_queue) - (hald_exec_method_cb, hald_exec_method): To avoid a race of - several processes invoking methods at the same time we now - maintain a queue of method calls per-device. One very real example - of this is gnome-mount when setting up crypto devices; after - Crypto.Setup() gnome-mount waits for the cleartext block device - and attempts to mount it; meanwhile g-v-m sees the cleartext block - device too and attempts to mount too. Since mounting is a - relatively slow operation both methods are executed at the same - time and we end up with two mounts. This patch fixes this problem. - -2006-02-13 David Zeuthen <davidz@redhat.com> - - * tools/hal-luks-teardown: Remove hal-luks-remove on - info.callouts.remove on successful teardown - - * tools/hal-luks-setup: Throw SetupPasswordError instead of just - SetupError when cryptsetup is failing - used to ask for password - again if the one from e.g. the keyring didn't work. - - * hald/hald_dbus.c (device_string_list_remove): New function - (hald_dbus_filter_handle_methods): Handle StringListRemove - -2006-02-13 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/osspec.c: (computer_probing_pcbios_helper_done): - fix mapping system.formfactor from smbios - -2006-02-13 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Revert patch from - Danny that adds mounts options for ntfs - - * tools/hal-system-storage-mount: Also allow comma "," as a valid - character in a mount point - -2006-02-13 Danny Kukawka <danny.kukawka@web.de> - - Fixed problems with usage of dbus_error within a for-block. Need - to be sure that the error is empty and initialised for each usage. - If not we get potentially error messages from dbus. : - - * hald/linux2/addons/addon-acpi.c: (main_loop): - * tools/lshal.c: (dump_devices): - -2006-02-13 David Zeuthen <davidz@redhat.com> - - * tools/hal-luks-setup: Refuse to setup the device if it's already - setup once - -2006-02-13 David Zeuthen <davidz@redhat.com> - - * configure.in: Don't generate tools/hal-luks-remove.in, - tools/hal-luks-setup.in - - * fdi/policy/10osvendor/15-storage-luks.fdi: Also export Teardown - method - - * tools/hal-luks-remove.in, tools/hal-luks-setup.in: Remove, just - use hardcoded paths - - * tools/hal-luks-teardown: New file for tearing down the mapping - - * tools/hal-luks-remove: Use cryptsetup rather than luks-setup, - add to CVS - - * tools/hal-luks-setup: Use cryptsetup rather than luks-setup, - add to CVS - - * tools/Makefile.am (script_SCRIPTS): Add hal-luks-teardown - -2006-02-12 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-volume.c (strdup_valid_utf8): Fixup - this function as it didn't work at all. Replace invalid characters - with '_' instead of '?' as the latter is not allowed as a - mountpoint. - -2006-02-12 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-mount: Use [:alnum:] and [:space:] - instead of a-zA-Z0-9 so we support mount points like "foobar der - æøå サイトの". Set LANG to en_US.UTF-8 to get bash to do this. - Also allow - in GIVEN_MOUNTOPTIONS (Reported by Jeffrey Stedfast - <fejj@novell.com>) in order to get iocharset= to work. - - * tools/hal-system-storage-cleanup-mountpoints: Make this work for - mountpoints with spaces in them - - * hald/linux2/blockdev.c (blockdev_refresh_mount_state): Also - remove info.hal_mount properties. - (blockdev_generate_add_hotplug_event): For Reprobe, pass the - model, vendor, serial and firmware rev. - -2006-02-12 David Zeuthen <davidz@redhat.com> - - * tools/Makefile.am (script_SCRIPTS): Add - tools/hal-system-storage-cleanup-mountpoint - - * tools/hal-system-storage-cleanup-mountpoint: New file - - * hald/linux2/blockdev.c (blockdev_refresh_mount_state) - (cleanup_mountpoint_cb): Clean up mount point if we can see it was - created by hal - -2006-02-12 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-unmount: Attempt to use volume.mount_point - if we cannot find info.hal_mount.created_mount_point - - * libhal/libhal.h: Export prototype for new function - libhal_ctx_get_dbus_connection() - - * libhal/libhal.c (libhal_ctx_get_dbus_connection): New function - - * hald/linux2/addons/addon-storage.c (force_unmount): Use a the - Unmount() hal method to lazy unmount - - * hald/linux2/osspec.c (hald_udev_data): Ugh ugh ugh.. clear - buffer before receiving data from udev.. we didn't use to do this - and we got all sorts of weird side-effects since we'd for instance - pick up DEVNAME='/dev/sdb' and _then_ DEVNAME='/dev/sda1' for - /sys/block/sdb.. This was because this data was left in the buffer - from the old run. It now appears to work.. - - * hald/linux2/blockdev.c (force_unmount_cb): New function, pass - end_token to hal_util_callout_device_remove() - (force_unmount): Use the Unmount method call to lazy unmount, thus - making sure we don't block - (hotplug_event_begin_remove_blockdev): Pass end_token to force_unmount - and let that function invoke hal_util_callout_device_remove() - - * hald/hald_dbus.c (hald_exec_method_cb, hald_exec_method): Make - this work for helpers using a direct connection to hald - (hald_dbus_filter_handle_methods): Pass local_interface to - hald_exec_method - - * hald/valgrind-hald.sh, /debug-hald.sh: Update to use 'pwd' just - like run-hald.sh was updated - -2006-02-09 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-eject: only allow the user who mounted - the volume to unmount it (also allow uid 0). Use properties stored - on hal to figure out mount location. - - * fdi/policy/10osvendor/20-storage-methods.fdi: Don't advertise flush - as a valid option as it is not upstream (SUSE guys: you need to patch - hal yourself until this is in an upstream kernel version that a hal - release can depend on) - -2006-02-09 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-mount: Allow passing file system type - for non-pollable drives. This is needed to mount Zip disks as - e.g. 'mount /dev/hdd4 /media/foo' fails but 'mount -t vfat - /dev/hdd4 /media/foo' works. - -2006-02-09 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-unmount: Use new property on the hal - device object to figure out where hal mounted the device. This - also ensures we only unmount stuff that we mounted ourselves - ... where we = the hal mount/unmount methods. Also only allow the - user who mounted the volume to unmount it (also allow uid 0). - - * tools/hal-system-storage-mount: Allow mounting of drives we - don't poll. Export mount point and what uid mounted it as - properties on the hal device object - - * fdi/policy/10osvendor/20-storage-methods.fdi: Fix up detection - of blank and audio discs for the purpose of adding Eject methods. - Export Mount, Unmount and Eject methods on drives we don't poll. - Give some leeway with what mount options we support. - -2006-02-09 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Ugh, make sure to - launch hald-addon-storage if appropriate - -2006-02-09 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c - (blockdev_callouts_preprobing_storage_done): Fix lockup for ATAPI - Zip drives as we pass end_token to the function - add_blockdev_probing_helper_done() in the wrong position. - -2006-02-09 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-keyboard.c: Add KEY_POWER -> "power" - -2006-02-09 David Zeuthen <davidz@redhat.com> - - * hald-runner/runner.c (run_request_run): Print out some useful - debug information - - * hald/linux2/addons/addon-keyboard.c (main): Don't set button.type - or button.has_state as these are merged from the fdi file. - - * hald/run-hald.sh: Use absolute paths in HALD_RUNNER_PATH and PATH - cuz otherwise helpers won't get invoked... - - * fdi/policy/10osvendor/Makefile.am: Add 10-keyboard-policy.fdi - - * fdi/policy/10osvendor/10-keyboard-policy.fdi: Forgot to add file. - Also from Matthew Garrett <mjg59@srcf.ucam.org>. Tweak file to - merge button.type and button.has_state instead of setting - -2006-02-08 David Zeuthen <davidz@redhat.com> - - Patch from Matthew Garrett <mjg59@srcf.ucam.org>. - - Two patches attached: 1) Changes the ACPI addon to report the type - of button pressed as well as the fact that a button has been - pressed. 2) Adds a keyboard addon. The included fdi file will bind - it to anything that has type input.keyboard. It adds the - capability "button" to the keyboard devices, and on any keypress - checks the key against a table. If the key is found there, a - ButtonPressed event is generated with the name of the key in the - details field (one exception - KEY_SUSPEND is given the name - "hibernate"). - - There's a couple of extra features that could be added (export a - list of the available keys, for instance - not very helpful on - PS/2, but useful on USB), but could these be applied as is for - now? - - * hald/linux2/probing/shared.h: Move drop_privileges here so other - code can use it too. - - * hald/linux2/addons/Makefile.am: Add build rules for - hald-addon-keybaord - - * hald/linux2/addons/addon-acpi.c: Also send button.type as part - of the event - - * hald/linux2/addons/addon-keyboard.c: New file. Also set - button.type to "" and button.has_state to FALSE - -2006-02-07 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-input.c (main): The attached patch - lets hal listen for input devices that are of type BUS_HOST. These - are pieces of built-in hardware, so won't be hotpluggable. Patch - from Matthew Garrett <mjg59@srcf.ucam.org>. - -2006-02-07 David Zeuthen <davidz@redhat.com> - - * hald/hald.c (main): Hald doesn't handle the case that PATH is - not set (getenv returns NULL). Fixed in attached patch. From - Sjoerd Simons <sjoerd@luon.net>. - -2006-02-04 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: added - slightly tweaked patch from fd.o bug #5652 (from Jonathan Matthew - <jonathan@kaolin.hn.org>) - -2006-02-03 Danny Kukawka <danny.kukawka@web.de> - - * fdi/policy/10osvendor/20-storage-methods.fdi: adde allowed option - for ntfs filesystem (uid=,umask=,dmask=) to prevent files owned only - by root and also only readable by root. - -2006-02-03 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: added - Samsung YP-U1 (patch from Andrew Smith <andrew.smith@neworbit.org>) - -2006-02-02 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/physdev.c: (pseudo_add), (pseudo_compute_udi): - Add "pseudo" bus to make it possible to use: - modprobe scsi_debug num_tgts=5 add_host=5 num_parts=2 - -2006-01-29 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec.xml.in, - hald/linux2/acpi.c (laptop_panel_refresh), - hald/linux/pmu.c (laptop_panel_refresh), - tools/hal-system-lcd-get-brightness, - tools/hal-system-lcd-set-brightness: - Rename acpi_method to access_method and - HAL_PROP_LAPTOP_PANEL_ACPI_METHOD->HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD - for the laptop_panel device. - This is required as the access method can now be "pmu" which is - nothing to do with acpi. I'm not aware of this being used anywhere - outside of HAL, so we should be okay changing the key name. - -2006-01-29 David Zeuthen <davidz@redhat.com> - - * tools/linux/Makefile.am: Also dist 90-hal.rules - -2006-01-29 Richard Hughes <richard@hughsie.com> - - * hald/linux2/pmu.c: Add the methods laptop_panel_refresh() and - pmu_laptop_panel_compute_udi so we can generate a laptop_panel - object. - - * hald/linux2/pmu.c (pmu_synthesize_hotplug_events): Tidy up the - hotplug code into a new function pmu_synthesize_item() that - synthesizes a specific PMU object. - Also add the laptop_panel if we have batteries (i.e. a laptop). - - * tools/hal-system-power-pmu.c: This is a new source file to allow - us to issue ioctl's from methods invoked by HAL. - Its arguments are: setlcd, getlcd, backlightoff, sleep and help. - - * tools/Makefile.am, tools/.cvsignore: Add the source file - hal-system-power-pmu to be built. - - * tools/hal-system-lcd-get-brightness, - tools/hal-system-lcd-set-brightness: Use the new functionality - providied by hal-system-power-pmu for ppc and ppc64 computers. - Also remove the check for HAL_PROP_LINUX_ACPI_PATH as pmu does not - require or provide this. - -2006-01-29 Richard Hughes <richard@hughsie.com> - - * hald-runner/runner.c (run_request_run): Use r->argv[0] rather than - r->argv so the cwd works. - -2006-01-28 Jürg Billeter <j@bitron.ch> - - * hald/linux2/classdev.c (sound_compute_udi): Remove card number from - alsa and oss udi as it may not be persistent across reboots. - -2006-01-28 David Zeuthen <davidz@redhat.com> - - * hald-runner/runner.c (run_request_run): Set working directory - to where the program exists. - -2006-01-27 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/addons/addon-storage.c: (main): Switch EjectButton - event detection to SG_IO interface. This should solve problems with - some SCSI drives and be the better interface anyway. For details see: - https://bugzilla.novell.com/show_bug.cgi?id=145147 - -2006-01-26 Kay Sievers <kay.sievers@vrfy.org> - - * tools/hal-system-storage-mount: Don't allow mountpoints to start - with a "." like "/media/." Thanks Coolo! - -2006-01-26 Kay Sievers <kay.sievers@vrfy.org> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Allow data= mount - option for ext3 filesystems. - * tools/hal-system-storage-mount: Allow "." in mount point - directories. - -2006-01-24 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/osspec.c: (hald_udev_data): Increase udev event buffer - size, cause some MODALIAS strings are getting too large and the kernel - uevent buffer size is going to be increased. - -2006-01-24 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/20-storage-methods.fdi: For providing eject - on audio discs, also match on the cdrom drive instead of a cd_rom - disc. Also put Eject on blank discs. - -2006-01-23 Kay Sievers <kay.sievers@vrfy.org> - - * tools/hal-system-storage-mount: Remove bogus "break" statement. - -2006-01-23 Kay Sievers <kay.sievers@vrfy.org> - - Adopt hald-runner to usual HAL coding style. - - * hald-runner/main.c: (parse_first_part), (handle_run), - (handle_start), (handle_kill), (filter), (main): - * hald-runner/runner.c: (del_run_data), (new_run_request), - (del_run_request), (send_reply), (remove_from_hash_table), - (run_exited), (run_timedout), (find_program), (run_request_run), - (kill_rd), (do_kill_udi), (run_kill_udi), (hash_kill_udi), - (run_kill_all), (run_init): - * hald-runner/runner.h: - * hald-runner/utils.c: (get_string_array), - (get_string_array_from_fd), (free_string_array): - -2006-01-23 Kay Sievers <kay.sievers@vrfy.org> - - Remove drive_id and use the udev provided data for block device - serial numbers and vendor/product information. - - * Makefile.am: - * configure.in: - * drive_id/Makefile.am: - * drive_id/ata.c: - * drive_id/ata.h: - * drive_id/drive_id.c: - * drive_id/drive_id.h: - * drive_id/logging.h: - * drive_id/scsi.c: - * drive_id/scsi.h: - * drive_id/util.c: - * drive_id/util.h: - * hald/linux2/blockdev.c: (add_blockdev_probing_helper_done), - (blockdev_callouts_preprobing_storage_done), - (blockdev_callouts_preprobing_volume_done), - (hotplug_event_begin_add_blockdev): - * hald/linux2/coldplug.c: (hal_util_get_udevinfo_path), - (hal_util_init_sysfs_to_udev_map), (coldplug_get_hotplug_event), - (coldplug_synthesize_events), (coldplug_synthesize_block_event), - (coldplug_compute_visit_device): - * hald/linux2/hotplug.c: (fixup_net_device_for_renaming), - (hotplug_event_begin_sysfs): - * hald/linux2/hotplug.h: - * hald/linux2/osspec.c: (hald_udev_data), (osspec_init): - * hald/linux2/probing/Makefile.am: - * hald/linux2/probing/probe-storage.c: (main): - * hald/linux2/probing/probe-volume.c: (volume_id_log), - (strdup_valid_utf8), (set_volume_id_values): - * hald/util.c: (hal_util_strdup_valid_utf8): - * hald/util.h: - -2006-01-22 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-mount: Also remove code expecting - the now removed attempt at managing privileges - -2006-01-22 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/Makefile.am (dist_fdi_DATA): Remove - 10-security-policy.fdi - - * fdi/policy/10osvendor/10-security-policy.fdi: Remove this file - as this approach to managing privileges wasn't so good after all - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Add HP_RECOVERY to - list of volumes to ignore - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * configure.in: Remove selinux detection as it is not used anywhere - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * configure.in: Remove options for pcmcia as we now rely on sysfs on - Linux - - * hald/linux2/Makefile.am (libhald_linux2_la_SOURCES): Remove - pcmcia_cs.h and pcmcia.utils.[ch] - - * hald/linux2/pcmcia_cs.h, hald/linux2/pcmcia_utils.[ch]: Removed - - * hald/linux2/physdev.c (pcmcia_add): Read properties from sysfs - instead of relying on e.g. /var/pcmcia/stab - -2006-01-21 Kay Sievers <kay.sievers@vrfy.org> - - Remove hotplug helper and depend on udev passing events over - a socket. - - * configure.in: - * hald/linux2/osspec.c: (osspec_init): - * tools/linux/.cvsignore: - * tools/linux/90-hal.rules: - * tools/linux/Makefile.am: - * tools/linux/hal_hotplug.c: - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * hald/property.c (hal_property_to_string): Ugh, make this work on - empty strlists otherwise we return corrupt data and may crash the - runner via D-BUS since we pass non-UTF-8 over D-BUS. - - * hald/hald_runner.c (hald_runner_start_runner): Print pid of runner - and make space for passing DBUS_VERBOSE=1 in the environment (right - now commented out) - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/Makefile.am (dist_fdi_DATA): Rip out - 10-storage-policy.fdi - - * fdi/policy/10osvendor/10-storage-policy.fdi: Remove - -2006-01-21 David Zeuthen <davidz@redhat.com> - - Remove fstab-sync. - - * tools/fstab-sync.c: Remove - - * tools/fstab-sync.8.in: Remove - - * tools/Makefile.am: Remove fstab-sync build rules - - * tools/linux/add_selinux.c: Remove - - * tools/linux/Makefile.am: Remove build rules for - hald-add-selinux-mount-option - - * fdi/policy/10osvendor/Makefile.am: Remove fstab-sync build rules - - * fdi/policy/10osvendor/90-fstab-sync.fdi: Remove - - * fdi/policy/10osvendor/20-storage-add-selinux.fdi: Remove - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * hald-runner/runner.c (find_program): Simply use glib convience - g_find_program_in_path() on the basename of the desired helper since - our allowed paths are now in $PATH - - * hald-runner/main.c (main): Print out allowed paths - - * hald/linux2/blockdev.c (add_blockdev_probing_helper_done): Fix up - indenting - - * hald/hald_runner.h: Modify prototype of hald_runner_start_runner to - not take the path to the runner - - * hald/hald_runner.c (hald_runner_start_runner): Use the flag - G_SPAWN_SEARCH_PATH to search for hald-runner. Export HALD_RUNNER_PATH - as PATH for the runner. Always include standard locations, e.g. - $(libexecdir) and $(datadir)/hal/scripts. - - * hald/hald_dbus.c (hald_exec_method_cb): Check if there really - was an error - - * hald/hald.c (usage): Remove usage for --with-runner - (main): Remove --with-runner option; just search $PATH for it - - * hald/run-hald.sh, hald/debug-hald.sh, hald/valgrind-hald.sh: - Set $HALD_RUNNER_PATH and modify $PATH to include local hald-runner - - * tools/hal-system-storage-mount: Read and enforce security policy - as specified in fdi/policy/10osvendor/10-security-policy.fdi - - * fdi/policy/10osvendor/Makefile.am (dist_fdi_DATA): - Add 10-security-policy.fdi - - * fdi/policy/10osvendor/10-security-policy.fdi: New file - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (hald_exec_method_cb): Don't free errors as the - caller owns the value - - * hald/hald_runner.c (call_notify): Don't copy value on error - -2006-01-21 David Zeuthen <davidz@redhat.com> - - * hald-runner/runner.c: Search $PATH before searching allowed dirs; - this is needed to make e.g. run-hald.sh work - note that passing - "/bin/sh /path/to/evil/program" will _not_ work as we don't do - shell-ish stuff. Also, don't force working dir to be "/" for - same reasons. - - * hald/property.h: Export hal_property_strlist_clear - - * hald/property.c (hal_property_strlist_clear): New function - - * hald/hald_runner.c (hald_runner_start_runner): Pass $PATH to runner - (call_notify): Copy value on error as e.g. hald_exec_method_cb frees it - - * hald/hald_dbus.c (hald_exec_method_cb): Fix up indenting - - * hald/device_info.c (handle_clear): New function - (start): Check for new fdi tag "clear" - - * hald/device.h: Export hal_device_property_strlist_clear - - * hald/device.c (hal_device_property_strlist_clear): New function - -2006-01-20 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Add docs for volume.disc.capacity - -2006-01-20 William Jon McCann <mccann@jhu.edu> - - * hald/linux2/probing/probe-volume.c (main): - * hald/linux2/probing/linux_dvd_rw_utils.c (get_disc_capacity_cd) - (get_disc_capacity_cdr, get_disc_capacity_dvdr_from_type) - (get_disc_capacity_for_type): Add probing for disc capacity. - - Fixes fd.o bug #2233 - -2006-01-20 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (device_query_capability): Yesterday while unit - testing my HAL wrapper I noticed that calling QueryCapability make - hald to quit. I looked at hald code and found the issues, you'll - find a patch attached that makes QueryCapability to work correctly - again. Basically it wasn't able to retrieve the capability - list (string vs string list) and the requested capability was - free'd when it shouldn't. Patch from Kevin Ottens <ervin@kde.org>. - -2006-01-20 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Add Eject method - for audio CD's. Patch from John Palmieri <johnp@redhat.com>. - -2006-01-20 David Zeuthen <davidz@redhat.com> - - Great patch from Sjoerd Simons <sjoerd@luon.net>: As most people - probably know by now, various people don't really like that hal - running as root. We'd much rather see only a small process running - as root and the main hal process running unpriviledged. Which is - exactly what this patch does :) - - How does it work? Just before drops it's root privs. a small - program is startup which will remain running as root and does the - real execution of the addons/probes/callouts on hals - behalf. Communication between hald and hald-runner is done via a - p2p dbus connection. Resulting in a process tree like this: - - hal /usr/sbin/hald - root \_ /usr/lib/hal/hald-runner - root \_ /usr/lib/hal/hald-addon-acpi - root \_ /usr/lib/hal/hald-addon-storage - root \_ /usr/lib/hal/hald-addon-storage - - The patch consists out of two parts. First the implementation of - hald-runner, which is about 700 lines of code. And then a part - transforming the hald code from the current spawning code in utils - to an interface that can talk to the runner. - - * AUTHORS: Add Sjoerd Simons <sjoerd@luon.net>. Revise my own - email address. - - * configure.in (AC_OUTPUT): Add hald-runner - - * Makefile.am (SUBDIRS): Add hald-runner - - * hald/Makefile.am (hald_SOURCES): add hald_runner.[ch] - - * hald-runner/utils.c, hald-runner/utils.h, hald-runner/runner.c, - hald-runner/runner.h, hald-runner/main.c, hald-runner/Makefile.am, - hald/linux2/osspec.c, hald/linux2/classdev.c, - hald/linux2/blockdev.c, hald/util.[ch], hald/hald_dbus.c, - hald/hald.c, hald/hald_runner.[ch]: New and changed files with - slight changes. See the descriptive text above and discussion at - http://lists.freedesktop.org/archives/hal/2006-January/004327.html - for details. - Changed function hald_runner_start_runner() in hald/hald_runner.c - to print out runner path and improve error handling when runner - is not found. Also removed dbus_server_unref (server) in - handle_connection() in same file. - - * hald/haldaemon.in: Remove --retain-privileges as this is no longer - needed - - * hald/run-hald.sh, hald/debug-hald.sh, hald/valgrind-hald.sh: - Remove --retain-privileges and use --with-runner pointing to - ../hald-runner/hald-runner - -2006-01-20 Kay Sievers <kay.sievers@vrfy.org> - - * fdi/policy/10osvendor/20-storage-methods.fdi: - * tools/hal-system-storage-mount: kill subfs - -2006-01-20 Kay Sievers <kay.sievers@vrfy.org> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Add "flush" - as a valid option for FAT. - -2006-01-20 Kay Sievers <kay.sievers@vrfy.org> - - * hald/device_info.c: (resolve_udiprop_path), (handle_match): - * hald/linux2/blockdev.c: (hotplug_event_begin_add_blockdev): - * hald/linux2/physdev.c: (scsi_add): Add scsi.type, scsi.vendor, - scsi.model for the scsi device and merge these properties to the - storage device instead of using the "device" link in sysfs. - -2006-01-18 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-pmu.c (main): Use a direct connection to - the bus; sleep between writing and reading as otherwise we may get - EAGAIN. Handle EAGAIN by just trying again later. - -2006-01-17 David Zeuthen <davidz@redhat.com> - - * configure.in: Post-release version bump to 0.5.7 - - * tools/hal-system-storage-eject: Ugh, fix speling error UnknowFailure - to UnknownFailure in exception - -====== HAL 0.5.6 released ====== - -2006-01-16 David Zeuthen <davidz@redhat.com> - - * NEWS: Update for 0.5.6 - -2006-01-16 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-storage.c: (main): relaced usage of - strtok with g_strsplit_set. - -2006-01-16 Danny Kukawka <danny.kukawka@web.de> - - * tools/hal-system-power-hibernate, tools/hal-system-power-suspend: - Changed call of powersave fom call binary to call powersave dbus - interface to be able to differ between root and normal user (patch - from Holger Macht <hmacht@suse.de>) if HAL run as root. - -2006-01-16 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: added storage.cdrom.write_speeds to spec - - * hald/linux2/probing/probe-storage.c, - hald/linux2/probing/linux_dvd_rw_utils.h, - hald/linux2/probing/linux_dvd_rw_utils.c: (int_compare), - (get_write_speeds), (get_read_write_speed): added slightly adopted patch - from Ryan Lortie <desrt@desrt.ca> (changed from comma-separated string - to strlist) to add list of write speeds supported by a CD/DVD Burner. - -2006-01-15 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Add docs for volume.ignore - -2006-01-15 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-mount: Respect volume.ignore and refuse to - mount if set to TRUE - - * libhal-storage/libhal-storage.h: Export libhal_volume_should_ignore - as a public method (API addition, no breakage) - - * libhal-storage/libhal-storage.c (libhal_volume_should_ignore): New - function. - (libhal_volume_from_udi): Set vol->ignore_volume from property - - * fdi/policy/10osvendor/20-storage-methods.fdi: Introduce volume.ignore - as a way for vendors and admins to signify a volume should be ignored. - - * fdi/information/10freedesktop/10-usb-card-readers.fdi: Add an entry - for my Firewire card reader (yes, it works perfectly on my PB 12" G4 - running Fedora Rawhide - it's fast too.. vroom vroom). - -2006-01-15 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c (libhal_volume_from_udi): Auch, - volume.fsusage may be an empty string and our string extraction - macro then yields NULL. Hence vol->fsusage is never set and just - left as a 0 from the memset meaning _USAGE_MOUNTABLE_FILESYSTEM. - Thus, gnome-vfs thinks the volume is mountable and displays it. - Fix this by initializing vol->fsuage to _USAGE_UNKNOWN. - -2006-01-13 Danny Kukawka <danny.kukawka@web.de> - - Fixed fd.o bug #5137 with slightly adopted and split off patch - from James Henstridge <james@jamesh.id.au> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: added - Sony PSP to usb music players. - - * fdi/policy/10osvendor/10-storage-policy.fdi: added - desired_mount_point for Sony PSP. - - -2006-01-13 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - revert my patch from 2005-08-31 and added property info.category - back - - * fdi/policy/10osvendor/10-storage-policy.fdi: added by John (J5) - Palmieri proposed fix and changed match from info.category to - info.capabilities. - -2006-01-13 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/classdev.c: (usbraw_compute_udi), (video4linux_add), - (video4linux_compute_udi), (dvb_add), (dvb_compute_udi): Add device - objects for video and dvb devices, to have a way for applications to - find the associated device nodes. Meaningful properties need to be - added by someone who knows about this device class. - - * tools/device-manager/Representation.py: Add match to show icon - in hal-device-manager. - -2006-01-13 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/classdev.c: (usbraw_add), (usbraw_compute_udi): Add - "usbraw" device object, that contains the name of the device node - to catch for libusb access. - -2006-01-13 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: added uk.po to configure - -2006-01-12 Danny Kukawka <danny.kukawka@web.de> - - Fixed compiler warnings if compile with flag warn_unused_result. - - * hald/device_info.c: (process_fdi_file): - * hald/hald.c: (handle_sigterm), (main), (osspec_probe_done): - * hald/hald_dbus.c: (hald_exec_method): - * hald/linux2/osspec.c: (set_suspend_hibernate_keys): - * hald/linux2/probing/probe-smbios.c: (main): - * tools/linux/hal_hotplug.c: (main): - -2006-01-11 Kay Sievers <kay.sievers@vrfy.org> - - Don't trust any user input, replace all suspicious chars with '_'. - - * fdi/policy/10osvendor/20-storage-methods.fdi: add - volume.unmount.valid_options - * tools/hal-system-storage-eject: - * tools/hal-system-storage-mount: - * tools/hal-system-storage-unmount: allow "lazy" to be passed - -2006-01-11 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-hid-ups.c: Also add battery.reporting.* - properties - -2006-01-10 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-storage-mount: Fix a potential security hole where - the user could pass e.g. umask=`/bin/evil` and thus execute /bin/evil - with root priviliges. Also require /bin/bash instead of just /bin/sh. - Reported by Kay Sievers <kay.sievers@vrfy.org>. - -2006-01-08 Richard Hughes <richard@hughsie.com> - - * hal.conf.in: Add a fallback for the root user for distros that do - not have working at_console support. Also refactor these a little to - make updating easier, and to stop the multiple matches overhead. - We use user="0" because some paranoid system administrators rename - the user for uid 0 and make a dummy user named root. - -2006-01-09 Danny Kukawka <danny.kukawka@web.de> - - * libhal-storage/libhal-storage.c: (libhal_drive_find_all_volumes): - added slightly adopted patch from Chris Spiegel <l@happyjack.org> - to fix fd.o bug #5279 (added NULL termination of array). - -2006-01-09 Danny Kukawka <danny.kukawka@web.de> - - * tools/lshal.c: (dump_children): removed unneeded code, (main): - added more informative error message if connection to hald fails. - -2006-01-08 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/20-storage-methods.fdi: Populate the new - property volume.mount.valid_options - - * tools/hal-system-storage-mount: Don't add any options at all (we - used to add e.g. quiet,shortname=winnt,uid=$UID for vfat and others) - as this is now the responsibility of the client (e.g. gnome-mount). - - Use the white-list from the new property volume.mount.valid_options - and perform special handling for the entry "uid=". - - * tools/hal-system-storage-eject: Also attempt to remove directory - on eject - -2006-01-04 Aaron Bockover <aaron@aaronbock.net> - - * hald/hald_dbus.c (hald_exec_method): move uid_export to root scope - in function to avoid corruption - - * tools/hal-system-storage-mount: remove .created-by-hal before - removing mount directory in case where mount fails - -2006-01-06 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: fixed type of volume.policy.mount_option - from string to bool as in the code/existing fdi-files. - -2006-01-06 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-cd-dvd-burner.fdi: - Added missdetected TEAC CD-R55S to list of broken CD/DVD burner, - from: http://lists.freedesktop.org/archives/hal/2005-November/003925.html - -2006-01-06 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: fixed two voltage related properties - in the spec - - * hald/linux2/acpi.c: (battery_refresh_poll): added already in the - spec defined and in the code removed (but never set) property key - for battery.charge_level.capacity_state - -2006-01-06 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/blockdev.c: (hotplug_event_begin_add_blockdev): - Set 'storage.drive_type' to 'disk' for new TYPE_RBC devices - (e.g. FireWire Disks) from kernel >= 2.6.14 - -2006-01-06 Kay Sievers <kay.sievers@vrfy.org> - - Add "at_console" restrictions for storage methods. - - * hal.conf.in: - -2006-01-05 Kay Sievers <kay.sievers@vrfy.org> - - Add scsi_generic devices. - - * hald/linux2/classdev.c: (scsi_generic_add), - (scsi_generic_compute_udi): - -2005-12-21 Kay Sievers <kay.sievers@vrfy.org> - - Move callout one level up. - - * tools/Makefile.am: - * tools/callouts/hal-system-storage-cleanup-mountpoints: - * tools/hal-system-storage-cleanup-mountpoints: - -2005-12-20 Kay Sievers <kay.sievers@vrfy.org> - - Remove HAL created mountpoints on HAL startup. - - * fdi/policy/10osvendor/20-storage-methods.fdi: - * tools/Makefile.am: - * tools/callouts/hal-system-storage-cleanup-mountpoints: - -2005-12-20 Kay Sievers <kay.sievers@vrfy.org> - - Switch extended attributes use to .created-by-hal file to - mark created mountpoints for removal on unmount. - * tools/hal-system-storage-mount: - * tools/hal-system-storage-unmount: - -2005-12-18 Danny Kukawka <danny.kukawka@web.de> - - * tools/Makefile.am: added simple check of scripts for correct bash - syntax to 'make distcheck' - -2005-12-17 Kay Sievers <kay.sievers@vrfy.org> - - Detailed return values from method invocations. - * tools/hal-system-storage-eject: - * tools/hal-system-storage-mount: - * tools/hal-system-storage-unmount: - -2005-12-14 David Zeuthen <david@fubar.dk> - - Remove the dry-run boolean option. Need a better way to figure out - what mount options are available. - - * tools/hal-system-storage-mount : - * fdi/policy/10osvendor/20-storage-methods.fdi: - -2005-12-13 David Zeuthen <david@fubar.dk> - - Add a boolean parameter to Mount for dry-run. - - * tools/hal-system-storage-mount : - * fdi/policy/10osvendor/20-storage-methods.fdi: - -2005-12-14 Kay Sievers <kay.sievers@vrfy.org> - - Add HAL_METHOD_INVOKED_BY_UID to the method call environment - and use it to mount FAT, NTFS and hfs volumes to make them available - to the user who invoked the method. - * hald/hald_dbus.c: (hald_exec_method): - * tools/hal-system-storage-mount: - -2005-12-13 Danny Kukawka <danny.kukawka@web.de> - - * tools/hal-system-power-reboot, - tools/hal-system-power-shutdown: Fixed broken scripts and changed - error messages. - -2005-12-12 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/Makefile.am, - fdi/policy/10osvendor/Makefile.am, - fdi/preprobe/10osvendor/Makefile.am: fixed validate fdi files for - correct XML in target check to fix broken 'make distcheck' - -2005-12-12 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-power-shutdown, tools/hal-system-power-reboot, - tools/Makefile.am: As discussed, add the Shutdown() and Reboot() - methods so that different distros can add the particular command - in one central place, rather than in lots of patches to other programs. - - * fdi/policy/10osvendor/10-power-mgmt-policy.fdi: - Add Shutdown() and Reboot() methods to HAL. - -2005-12-12 Kay Sievers <kay.sievers@vrfy.org> - - * tools/hal-system-storage-mount: Fix fallback to default mount - point which failed if the volume label was not valid. - -2005-12-12 David Zeuthen <david@fubar.dk> - - Patch from Artem Kachitchkine <Artem.Kachitchkin@Sun.COM>. - - * fdi/fdi.dtd: I tried to validate fdi files using fdi.dtd and got - a whole lot of errors. Looks like DTD is out of date. This patch - updates the DTD and adds fdi validation to 'make check'. I'm not - an XML expert, please review carefully. - - * fdi/preprobe/10osvendor/Makefile.am, - fdi/policy/10osvendor/Makefile.am, - fdi/information/10freedesktop/Makefile.am: Add xmllint to the - check target - -2005-12-11 Ryan Lortie <desrt@desrt.ca> - - * hald/linux2/acpi.c (battery_refresh_poll): Force 'rate' to be zero - in the case that the battery is neither charging nor discharging. - This workaround is required for some buggy ACPI implementations. - -2005-12-09 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/classdev.c: (hotplug_event_begin_add_classdev): Update - the driver property if we add a class device. A module load or manual - driver bind did not update "info.linux.driver" of the parent device - and NetworkManager depends on that property. - -2005-12-09 Kay Sievers <kay.sievers@vrfy.org> - - Add methods to storage objects to request: - Mount(string:mountpointname string:fstype stringlist:mountoptions) - Unmount() - Eject() - - * fdi/policy/10osvendor/Makefile.am: - * fdi/policy/10osvendor/20-storage-methods.fdi: - * tools/Makefile.am: - * tools/hal-system-storage-eject: - * tools/hal-system-storage-mount: - * tools/hal-system-storage-unmount: - -2005-12-08 Kay Sievers <kay.sievers@vrfy.org> - - * hald/hald_dbus.c: (hald_exec_method): - Correct error path. - -2005-12-08 Kay Sievers <kay.sievers@vrfy.org> - - * hald/hald_dbus.c: (hald_exec_method): Allow stringlists - to be passed to method calls. Signature "sas" will expect: - Method(string: array:string:abc,xyz) - -2005-12-08 Kay Sievers <kay.sievers@vrfy.org> - - Kernel 2.6.15 will have a poll()'able /proc/mounts file, which - tells us about mount tree changes. Kernel 2.6.16 will no longer - have any netlink event regarding block devices mount/claim. - We watch only /proc/mounts from now, remove all netlink listening - and depend on kernel version 2.6.15. - - With every mount event, we update all known devices now, to the - current state found in /proc/mounts. The device name in /proc/mounts - is ignored, but the dev_t of the underlying block device is - looked up to find the hal device. That way, /dev/root and rootdev - will also be recognized and the current mount state becomes visible. - - * hald/linux2/blockdev.c: (blockdev_refresh_mount_state), - (add_blockdev_probing_helper_done): - * hald/linux2/blockdev.h: - * hald/linux2/classdev.c: - * hald/linux2/osspec.c: (hald_helper_data), - (mount_tree_changed_event), (osspec_init): - -2005-12-05 Richard Hughes <richard@hughsie.com> - - * hald/linux2/osspec.c (set_suspend_hibernate_keys): - Software Suspend 2 enabled kernels don't have "disk" in - /sys/power/state, but still they can still hibernate. - Some older versions have a /proc/software_suspend config directory - but new versions switched to the /proc/suspend2 config directory. - Add the detection for these to set the correct value for the - power_management.can_hibernate key. - -2005-12-02 Richard Hughes <richard@hughsie.com> - - * hald/linux2/acpi.c, hald/linux2/apm.c, hald/linux2/pmu.c: - Now we have can_suspend and can_hibernate we should remove the - power_management.is_enabled key as .type and .can_* convey the - information better. - -2005-12-02 Richard Hughes <richard@hughsie.com> - - * hald/linux2/osspec.c, doc/spec/hal-spec.xml.in: - Add the new keys power_management.can_suspend and - power_management.can_hibernate using a new function - set_suspend_hibernate_keys (). - Also document these, as well as power_management.type in the - xml specification. - -2005-12-01 Richard Hughes <richard@hughsie.com> - - * hald/linux2/acpi.c: Small patch to fix a problem with refreshing - battery values. When the ac_adapter is removed, the - battery_poll_infrequently() method is called which updates last_full. - The other states the battery may be in are also going to change at that - instance (for example going from charged to discharging) and so we - should be updating those too. - -2005-11-29 Danny Kukawka <danny.kukawka@web.de> - - * fdi/policy/10osvendor/10-storage-policy.fdi: changed - mount point for dvd recorder. - -2005-11-29 Danny Kukawka <danny.kukawka@web.de> - - * hald/Makefile.am, hald/hald.c: (main): Added PATH to the with - hal distributed scripts to the hald environment PATH. - - * tools/Makefile.am: moved scripts to $(datadir)/hal/scripts to - remove them from PATH of the root user, because they should only - be called by hald and not by a user (at least because of - missing environment variable , normaly set by hald) - -2005-11-29 Danny Kukawka <danny.kukawka@web.de> - - * tools/hal-luks-remove.in, tools/hal-luks-setup.in, - tools/hal-system-lcd-get-brightness, - tools/hal-system-lcd-set-brightness, - tools/hal-system-power-set-power-save, - tools/hal-system-power-suspend: Added checks for needed - environment variables to prevent call them from commandline if a - variable is missing. Fixed error messages. - -2005-11-29 Danny Kukawka <danny.kukawka@web.de> - - * tools/device-manager/Makefile.am: removed hal-device-manager from - $(datadir)/hal/device-manager to prevent unneeded double install. - -2005-11-29 Danny Kukawka <danny.kukawka@web.de> - - * hald/util.c: (util_compute_time_remaining): added calculated - chargeRate to hash table and use if nothing changed between events - to prevent remove battery.remaining_time. - -2005-11-28 Richard Hughes <richard@hughsie.com> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - Add a patch from Davide Ferrari <vide80@gmail.com> which adds the - Samsung Yepp YP-ST5. It is a portable device capable of playing - MPEG1/2/2.5 Layer3, WMA, ASF and Ogg/Vorbis. - -2005-11-21 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-card-readers.fdi: Added - Sony Ericsson mobile phones with Memory Stick (Pro Duo). - Remove unneeded multiple checks for storage.bus == usb. - -2005-11-21 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.html: generated for 0.5.5.1 spec - - * tools/device-manager/Makefile.am: fix for make distcheck - -2005-11-21 Kay Sievers <kay.sievers@vrfy.org> - - * volume_id/fat.c: (volume_id_probe_vfat): fix recognition of weird - FAT volumes. - * volume_id/volume_id.h: Version 55 - -2005-11-21 Richard Hughes <richard@hughsie.com> - - * fdi/information/10freedesktop/10-usb-card-readers.fdi: - Add patch from Pozsar Balazs to match another common theme for - USB card readers. - -2005-11-15 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/osspec.c: (hald_udev_data), (hald_helper_data), - (osspec_init): Listen to socket: /org/freedesktop/hal/udev_event - Udev will pass all data over this socket to HAL, if the following - rule is given: - RUN+="socket:/org/freedesktop/hal/udev_event" - - The HAL hotplug helper /usr/sbin/hal.hotplug is no longer needed - and should be replaced by the direct udev connection which will - no longer fork a process for every event. - - This is the preparation to reuse the persistent data udev collects - from the hardware, instead of querying it a second time with HAL. - If we reach this, drive_id/* and the hotplug helper will be removed - from HAL. - -2005-11-15 Kay Sievers <kay.sievers@vrfy.org> - - libvolume_id: sync with udev version and prepare - for a possible future external dependency. - - * hald/linux2/probing/probe-volume.c: (advanced_disc_detect): Switch - to glib function instead of the volume_id private ones. - - * volume_id/Makefile.am: Merge individual headers into the main - public header. - * volume_id/cramfs.c: - * volume_id/cramfs.h: - * volume_id/ext.c: - * volume_id/ext.h: - * volume_id/fat.c: - * volume_id/fat.h: - * volume_id/hfs.c: - * volume_id/hfs.h: - * volume_id/highpoint.c: - * volume_id/highpoint.h: - * volume_id/hpfs.c: - * volume_id/hpfs.h: - * volume_id/iso9660.c: - * volume_id/iso9660.h: - * volume_id/isw_raid.c: - * volume_id/isw_raid.h: - * volume_id/jfs.c: - * volume_id/jfs.h: - * volume_id/linux_raid.c: - * volume_id/linux_raid.h: - * volume_id/linux_swap.c: - * volume_id/linux_swap.h: - * volume_id/lsi_raid.c: - * volume_id/lsi_raid.h: - * volume_id/luks.c: - * volume_id/luks.h: - * volume_id/lvm.c: - * volume_id/lvm.h: - * volume_id/mac.c: - * volume_id/mac.h: - * volume_id/minix.c: - * volume_id/minix.h: - * volume_id/msdos.c: - * volume_id/msdos.h: - * volume_id/ntfs.c: - * volume_id/ntfs.h: - * volume_id/nvidia_raid.c: - * volume_id/nvidia_raid.h: - * volume_id/ocfs.c: - * volume_id/ocfs.h: - * volume_id/promise_raid.c: - * volume_id/promise_raid.h: - * volume_id/reiserfs.c: - * volume_id/reiserfs.h: - * volume_id/romfs.c: - * volume_id/romfs.h: - * volume_id/silicon_raid.c: - * volume_id/silicon_raid.h: - * volume_id/sysv.c: - * volume_id/sysv.h: - * volume_id/udf.c: - * volume_id/udf.h: - * volume_id/ufs.c: - * volume_id/ufs.h: - * volume_id/util.h: - * volume_id/via_raid.c: - * volume_id/via_raid.h: - * volume_id/volume_id.c: - * volume_id/volume_id.h: - * volume_id/vxfs.c: - * volume_id/vxfs.h: - * volume_id/xfs.c: - * volume_id/xfs.h: - -2005-11-14 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump version to 0.5.6 - -2005-11-14 David Zeuthen <davidz@redhat.com> - - * NEWS: Update for 0.5.5.1 - - * configure.in: Update to 0.5.5.1 - -2005-11-14 Danny Kukawka <danny.kukawka@web.de> - - * hald/util.c: (util_compute_time_remaining): fixed multiple 'devision - by zero' bugs which could happen, if calculate the 'remaining time' - based on time and nothing is changed on battery. - -2005-11-14 David Zeuthen <davidz@redhat.com> - - * NEWS: Update for 0.5.5 - - * configure.in: Update to 0.5.5 - -2005-11-10 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/Makefile.am: updated for glib - - * hald/linux2/probing/probe-storage.c: (strdup_valid_utf8), (main): - Fix to prevent sending invalid UTF8 strings from storage serials to D-BUS - which prevent adding the whole storage divice to the device store. The - invalid, non UTF8, characters replaced now with '?' and the serial only - added if there is at least one valid character left in the string. - - * hald/util.c: (util_compute_time_remaining): fixed compiler warning - -2005-11-09 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/addons/addon-acpi.c: (acpi_get_event_fp_kernel), - (acpi_get_event_fp_acpid), (main): fix problems with addon if acpid socket - is not available if HAL starts. In this case retry to connect until we get - the socket. Also added the proc kernel eventinterface to the loop to prevent - problems on resume from suspend. This should prevent restart the whole HAL - if lost acpid or proc event source. - - * tools/lshal.c: (dump_devices), (usage), (main): added new option -s|--short - for short output, changed short option for show to -u, added new status line - to --monitor mode, allowed combine --monitor with --long|short|tree, added - restrict check for incorrect command options (e.g. 'lshal --'), set --long - as default if called lshal without option. - -2005-11-09 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: added battery.remaining_time.calculate_per_time - - * hald/linux2/acpi.c: (battery_refresh_poll): added check for new property - battery.remaining_time.calculate_per_time for util_compute_time_remaining() - - * hald/linux2/pmu.c: (battery_refresh): added check for new property - battery.remaining_time.calculate_per_time for util_compute_time_remaining() - - * hald/util.c (util_compute_time_remaining), hald/util.h: added slightly - adopted and extended patch from Søren Hansen <sh@linux2go.dk> to fix - calculation for machines which does not report current rate. This calculate - the chargRate from time and chargeLevel. - Added a new parameter to enable/disable the new calculation. - -2005-11-09 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-cd-dvd-burner.fdi, - fdi/information/10freedesktop/Makefile.am: added new fdi-file to fix - wrong detected capabilities for burn CD/DVD on some devices (fd.o bug #3036). - -2005-11-09 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/osspec.c: (netlink_detection_data_ready): fixed compiler - warning - - * hald/linux2/probing/probe-volume.c: (main): fixed compiler warning - - * tools/device-manager/hal-device-manager.in: fixed bug from last fix, - removed '+' from inserted lines. - -2005-11-08 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/coldplug.c: (coldplug_synthesize_events): fixed typo from - fd.o bug #2115 - - * doc/spec/hal-spec.xml.in: fixed fd.o bug #4644 and fixed typo in spec - - * tools/device-manager/DeviceManager.py, - tools/device-manager/hal-device-manager.glade: slightly adopted fix from - fd.o bug #3954 from Benjamin Berg <benjamin@sipsolutions.net> to make - all fields in hal-device-manager selectable to copy the content - - * tools/device-manager/hal-device-manager.in: fixed fd.o bug #2121 with - patch from #4266 (Young-Ho, Cha, <ganadist@chollian.net>) to enable - translation for hal-device-manager - - * tools/hal_set_property.c: (usage): fixed fd.o bug #2850, removed option - from the help text. - -2005-11-08 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/apm.c: (battery_refresh): fixed fd.o-Bug #4871 with slightly - adopted patch from Shun-ichi Tahara <jado@flowernet.gr.jp> - -2005-11-07 Richard Hughes <richard@hughsie.com> - - * tools/lshal.c: Commit a rewrite of lshal by - Pierre Ossman <drzeus@drzeus.cx>. Minor updates by me to make all - program output go to stdout rather than stderr, and to not dump devices - if we have specified we want to monitor. - -2005-11-03 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: updated net and net.80203 namespace - -2005-11-03 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/probing/probe-volume.c: (main): Comment out multisession - query to determine the starting block of an optical media. It fails on - some drives with broken firmware. - -2005-11-02 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: updated spec for serial and system namespace - and little updates for different properties - -2005-11-02 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/osspec.c: (computer_probing_pcbios_helper_done): changed - compute system.product to prevent adding "Not Specified" from - smbios.system.version to the property. - - * hald/util.c: fixed code documentation - -2005-11-02 David Zeuthen <david@fubar.dk> - - * COPYING: Update to Academic Free License 2.1. Also fix all C source - and header files. - -2005-11-02 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: fixed some bugs in the xml spec code and removed - <note> tag to prevent not included pic in the html version. - -2005-11-02 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/coldplug.c: (coldplug_synthesize_events): Prepare for 2.6.15. - Check if we find a symlink instead of a class device pointing to a device - below a class device. This kernel sysfs layout will change again in the future, - for now resolve the link to the "real" device path, like real hotplug events - devpath would have. - -2005-11-01 Danny Kukawka <danny.kukawka@web.de> - - * libhal-storage/libhal-storage.c: fixed code documentation to remove - warnings from doxygen - -2005-11-01 Danny Kukawka <danny.kukawka@web.de> - - * doc/conf/Makefile.am: added new fdi-files to Makefile - - * doc/conf/match-USB-camera.fdi, doc/conf/match-USB-mp3-player.fdi, - doc/conf/match-cardreader.fdi: added and updated fdi-files from - older HAL version to fix rebuild hal spec from distributed package - - * doc/spec/hal-spec.xml.in: fixed problem with rebuild spec from the - distributed package and missing included fdi-files. - -2005-11-01 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: added strlist property and updated part - about fdi-files depending on the current sourcecode - -2005-11-01 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-arch.dia, doc/spec/hal-arch.png: updated picture for - callout description - - * doc/spec/hal-spec.xml.in: Updated section about callouts to current - HAL version - -2005-11-01 Richard Hughes <richard@hughsie.com> - - * fdi/information/10freedesktop/10-usb-card-readers.fdi: - Add yet another common naming theme for a generic card reader, - apparently with a Realtek chip. Vendor ID = 0xbda, Device ID = 0x103 - Patch from Jerome Lodewyck <lodewyck@clipper.ens.fr>, many thanks. - -2005-10-31 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c (netlink_detection_data_ready): Look at all - netlink messages, not just the first one. - Patch from Jon Nettleton <jon.nettleton@gmail.com>. - -2005-10-26 Danny Kukawka <danny.kukawka@web.de> - - * hald/hald.c: (usage), (main): added --version command line option - to print the PACKAGE_VERSION of HAL. - -2005-10-26 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/blockdev.c: (update_mount_point): Added, to workaround - kernel problem with announce mounted device in /proc/mounts before - send netlink event (currently reported for gentoo kernel, see: - http://lists.freedesktop.org/archives/hal/2005-October/003634.html), - one retry after 0.3 seconds to check /proc/mounts. - This is specially for voluntary preemption kernel. - -2005-10-26 Danny Kukawka <danny.kukawka@web.de> - - * hald/hald.c: (usage), (main); hald/hald.h : Added new command - line option '--use-syslog' to write debug messages to syslog - instead of stderr. With this option HAL writes debug messages also - if run as daemon. - Removed useless call of logger_init (). Moved first debug message - to reduce unneeded double check of opt_become_daemon. - - * hald/logger.c: (logger_enable_syslog), (logger_disable_syslog), - (logger_emit); hald/logger.h: Added write to syslog instead of - stderr. Remove empty and useless function logger_init (). - -2005-10-26 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/addons/addon-storage.c: (main): Emit "EjectPressed" event - for an optical drive, when it has a media inserted and the tray button is - pressed. - -2005-10-25 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c: (acpi_synthesize): Check if there is a battery - bay and/or a LID button to verify if the machine is a latop. If so - change the key system.formfactor to 'laptop' (to workaround missing/ - unknown information from smbios). - Fixed typo in code documentation. - - * hald/linux2/apm.c: (battery_refresh), - (apm_synthesize_hotplug_events), (apm_generic_compute_udi): Fixed keys - if the battery is removed. Changed check for battery and added more - criterions to be sure that we add only known values. Also fixed the - udi of APM devices, now the udi contains the name of the devicetype. - - * hald/linux2/osspec.c: (computer_probing_pcbios_helper_done): - Fixed creation of key system.formfactor from smbios information to be - sure never overwrite already set key (e.g. from APM/ACPI/PMU). - -2005-10-25 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/ids.c: updated list of PNP IDs and added some comments. - -2005-10-24 Kay Sievers <kay.sievers@vrfy.org> - - * volume_id/vxfs.c: (volume_id_probe_vxfs): - * volume_id/vxfs.h: Add missing files from volume_id 52. - -2005-10-24 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: added info about libusb support for addon-usb-csr - to display whether the addon is compiled or not. - -2005-10-23 Kay Sievers <kay.sievers@vrfy.org> - - volume_id version 52: - - * volume_id/Makefile.am: add ocfs1 and vxfs - - * volume_id/ext.c: (volume_id_probe_ext): Check for - valid block size, cause the signature is only 2 bytes long. - Also detect ext3 external journals and fsversion for ext fs's. - - * volume_id/fat.c: (volume_id_probe_vfat): Detect invalid - formatted FAT32 volumes. mkdosfs can create fs layouts which - no sane formatting program would do. - - * volume_id/ocfs.c: (volume_id_probe_ocfs1), - (volume_id_probe_ocfs2): Add ocfs1 and correct wrong probing - for ocfs2. - - * volume_id/reiserfs.c: (volume_id_probe_reiserfs): Match - fs names with the kernel module names. - - * volume_id/util.c: (volume_id_get_buffer): Use ssize to - catch returned error. - - * volume_id/volume_id.c: (volume_id_probe_all): Probe for - ocfs1 and vxfs. - - * volume_id/volume_id.h: Version 52. - -2005-10-21 Danny Kukawka <danny.kukawka@web.de> - - * fdi/preprobe/10osvendor/10-ide-drives.fdi: removed no longer - needed blacklist entry for 'HL-DT-STCD-RW/DVD-ROM GCC-4240N'. - This work fine at least with kernel 2.6.13 (tested with SUSE). - -2005-10-21 Danny Kukawka <danny.kukawka@web.de> - - * hald/util.c: (callout_failed): This patch fix possible segfault if - the callout of a non-existing addon from key info.addons fails. - -2005-10-21 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: added Hellenic translation to ALL_LINGUAS - -2005-10-15 Richard Hughes <richard@hughsie.com> - - * hald/linux2/acpi.c: Whitespace cleanups and doxygen markup - additions. No code changes. - -2005-10-11 Ryan Lortie <desrt@desrt.ca> - - * hald/linux2/addons/addon-acpi.c: Cleanup existing code to avoid - reinventing the fgets() wheel. Also deal gracefully with acpid - restarts (we used to exit in this case). - -2005-10-10 Richard Hughes <richard@hughsie.com> - - * tools/fstab-sync.c: Add a patch by Pascal Terjan - <pterjan@mandriva.com> to fix fstab parsing: - According to fstab manpage, fields 5 and 6 are optional (and - treated as 0 if they are not present). - However, if you have a fstab with one (or both) field missing and - some whitespaces at the end of the line, fstab-sync will fail to - parse the file. - The patch has been in Mandrake Cooker since September, 6 with no - ill effects. - -2005-10-10 Richard Hughes <richard@hughsie.com> - - * hald/linux2/probing/probe-smbios.c: the smbios prober now works with - the new version of dmidecode (found in latest Ubuntu and Fedora Core - Rawhide) that has a different output than the older format. - I've also cleaned up the file substantially. - -2005-09-28 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-power-hibernate, - tools/hal-system-power-set-power-save, - tools/hal-system-power-suspend: Use sensible fallbacks as discussed: - http://article.gmane.org/gmane.comp.freedesktop.hal/3239 - -2005-09-28 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec.xml.in: Apply patch from - Pierre Ossman <drzeus-list@drzeus.cx> to add documentation for the - new mmc.* properties and the platform.* descriptions for - "platform bus" support. - - * hald/linux2/probing/probe-serial.c: New file to probe serial ports - to see if they actually exist. Drivers such as 8250 are considered - legacy and very enumeration-unfriendly, and just create up to 32 - devices that don't actually exist. - Patch from Pierre Ossman <drzeus-list@drzeus.cx> - - * hald/linux2/probing/Makefile.am: Add the probe-serial prober. - - * hald/linux2/probing/.cvsignore: Add hald-probe-serial. - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): There was - some debate about the interpretation of the kernel's removable - attribute. The result is that removable means that the device stays - but the media disappears. Because of this MMC needs to set the - hotpluggable attribute to be handled correctly. - Patch from Pierre Ossman <drzeus-list@drzeus.cx> - - * hald/linux2/physdev.c (platform_add): New function, to add support - to devices connected to the platform bus. - These kind of devices are commonly, incorrectly, called legacy devices. - Patch from Pierre Ossman <drzeus-list@drzeus.cx> - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): - Properly enumerate a flopy drive connected to the platform bus. - Patch from Pierre Ossman <drzeus-list@drzeus.cx> - -2005-09-27 Richard Hughes <richard@hughsie.com> - - * Apply patch from Martin Pitt <martin@piware.de> to fix the build on - AMD64 by replacing kernel-style datatypes (like _u8 and __s16) with - their appropriate standard datatype (uint8_t and int16_t). - Also change to use <stdint.h> instead of <sys/types.h> for maximum - portability. - - * agents/linux26/sysfs/hal_monitor.c: - * agents/linux26/sysfs/libsysfs/libsysfs.h: - * configure.in: - * drive_id/ata.c: - * drive_id/drive_id.c: - * drive_id/scsi.c: - * drive_id/util.c: - * hald/hald.c: - * hald/hald_dbus.c: - * hald/hald_test.c: - * hald/hald_test_libhal.c: - * hald/linux2/addons/addon-acpi.c: - * hald/linux2/addons/addon-hid-ups.c: - * hald/linux2/addons/addon-pmu.c: - * hald/linux2/addons/addon-storage.c: - * hald/linux2/blockdev.c: - * hald/linux2/classdev.c: - * hald/linux2/coldplug.c: - * hald/linux2/hotplug.c: - * hald/linux2/ids.c: - * hald/linux2/osspec.c: - * hald/linux2/pcmcia_cs.h: - * hald/linux2/pcmcia_utils.h: - * hald/linux2/physdev.c: - * hald/linux2/probing/linux_dvd_rw_utils.c: - * hald/linux2/probing/probe-hiddev.c: - * hald/linux2/probing/probe-input.c: - * hald/linux2/probing/probe-pc-floppy.c: - * hald/linux2/probing/probe-printer.c: - * hald/linux2/probing/probe-smbios.c: - * hald/linux2/probing/probe-storage.c: - * hald/linux2/probing/probe-volume.c: - * hald/util.c: - * tools/fstab-sync.c: - * tools/linux/add_selinux.c: - * tools/linux/hal_hotplug.c: - * volume_id/mac.c: - * volume_id/ocfs2.c: - * volume_id/reiserfs.c: - * volume_id/sysv.c: - -2005-09-26 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-lcd-{get|set}-brightness: use the raw values in the - SetBrightness and GetBrightness methods, as some laptops have an odd - number of steps that cannot be easily expressed in percent. - -2005-09-20 Richard Hughes <richard@hughsie.com> - - * hald/linux2/pmu.c (pmu_synthesize_hotplug_events): Set the key - system.formfactor to "laptop" if we have a battery bay. - -2005-09-13 David Zeuthen <davidz@redhat.com> - - * tools/hal-system-power-hibernate: Actually make this script work - -2005-09-12 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-power-hibernate: Add suspend2 functionality for - mandrake, gentoo, slackware and debian, but don't add for redhat, - fedora, suse or altlinux as they have alternative distro tools to do - this. I have not done this for all distros as suspend2 is not upstream - and some users may not want to use suspend2 functionality. - -2005-09-12 Ryan Lortie <desrt@desrt.ca> - - * hald/linux2/acpi.c: Some more workarounds for buggy ACPI - implementations. Clamp current capacity to never exceed last full - capacity (to prevent >100% readings). Make sure the voltage that we - use to calculate current and last full capacity never exceeds design - voltage. Add a check to battery_refresh to ensure design voltage is - not unknown (and use 1mV if it is). Variable rename to indicate - that the quantities that we're dealing with are arbitrary - 'normalised' units that might not be mWh (often µWh). - -2005-09-03 Richard Hughes <richard@hughsie.com> - - * tools/hal-system-lcd-set-brightness, - tools/hal-system-lcd-get-brightness: New files needed for the - SetBrightness and GetBrightness support. - - * tools/Makefile.am: Add hal-system-lcd-set-brightness and - hal-system-lcd-get-brightness. - - * fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi: New file, add - the SetBrightness and GetBrightness methods to the LaptopPanel object. - - To test, use: - dbus-send --system --print-reply --dest=org.freedesktop.Hal \ - /org/freedesktop/Hal/devices/acpi_toshiba \ - org.freedesktop.Hal.Device.LaptopPanel.SetBrightness \ - int32:20 - - dbus-send --system --print-reply --dest=org.freedesktop.Hal \ - /org/freedesktop/Hal/devices/acpi_toshiba \ - org.freedesktop.Hal.Device.LaptopPanel.GetBrightness - - * hal.conf.in: Set so that org.freedesktop.Hal.Device.LaptopPanel can - only be accessed from just the console user. This is tested to work. - - * hald/linux2/acpi.c (acpi_synthesize_item): New function, factor the - code out from acpi_synthesize. - - * hald/linux2/acpi.c (acpi_synthesize_hotplug_events, - laptop_panel_refresh): Add detection for the module toshiba, asus, - ibm, sony and panasonic, and add the laptop_panel for these ACPI - extensions. - - * doc/spec/hal-spec.xml.in: Document laptop_panel.num_levels and - laptop_panel.acpi_method. - - * doc/TODO: Add the note about dbus return types for scripts. - -2005-09-01 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (hald_exec_method_cb): Fix up a bug where the - script for a method call returns garbage and we pass that to - dbus_message_new_error which then fails. - -2005-09-01 Danny Kukawka <danny.kukawka@web.de> - - * fdi/policy/10osvendor/Makefile.am: Added 15-storage-luks.fdi to - Makefile. - -2005-08-31 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: - Removed merge of not useful key info.category=portable_audio_player. - This merge breakes the storage policy and prevent mount of USB storage - players. See bug: https://bugzilla.novell.com/show_bug.cgi?id=113966 - -2005-08-31 Richard Hughes <richard@hughsie.com> - - * configure.in: Display in summery if we are building in acpid support. - -2005-08-30 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: s/mediumstate/medium_state/. Yes, I'll - learn to type someday. Patch from Cornelia Huck <cohuck@de.ibm.com>. - -2005-08-29 David Zeuthen <davidz@redhat.com> - - * hald/linux2/physdev.c (ccwgroup_add_lcs_properties): The - following fix is needed to get a correct ccwgroup.lcs.portnumber - property, since the underlying portno sysfs attribute is decimal, - not binary. Patch from Cornelia Huck <cohuck@de.ibm.com>. - -2005-08-26 David Zeuthen <davidz@redhat.com> - - * NEWS: Update for release 0.5.4 - -2005-08-26 David Zeuthen <davidz@redhat.com> - - * Makefile.am: Add mkinstalldirs to EXTRA_DIST for now - - * tools/Makefile.am (EXTRA_DIST): Also dist $(sbin_SCRIPTS) - -2005-08-26 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: added sl_SI to ALL_LINGUAS - - * hald/util.c: (hal_util_helper_invoke_with_pipes), - (callout_failed): Added Patch from Kay Sievers <kay.sievers@vrfy.org> - With This patch HAL skips failing callouts in the execution list - instead of waiting in the mainloop to be killed. - -2005-08-25 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-volume.c: (set_volume_id_values): - Fixed to prevent set a empty info.product from the patch before. - -2005-08-25 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/Makefile.am: Added glib to Makefile. - * hald/linux2/probing/probe-volume.c: (strdup_valid_utf8), - (set_volume_id_values): Fix to prevent sending invalid UTF8 - strings from volumelabels to D-BUS. The invalid, non UTF8, - characters replaced now with '?'. - -2005-08-25 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: Added Polish po file. - -2005-08-24 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c: (battery_refresh): Little string fix from - "Unknown ACPI Unit" to "unknown" for simpler checks. - -2005-08-24 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-pda.fdi: Updated fdi file - for Sony Clie SJ-22, Palm m130, Palm Tungsten T5 and Handspring - Visor. Removed merge of info.product to serial device for Palm - devices since the strings from the device are more informatively. - -2005-08-23 Kay Sievers <kay.sievers@vrfy.org> - - Fix sloppy error handling in volume_id. - - * volume_id/util.c: (volume_id_get_buffer): - * volume_id/volume_id.c: (volume_id_probe_all): - * volume_id/volume_id.h: - -2005-08-23 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: Updated spec for new keys from the - VCD/SVCD/VideoDVD patch. - - * hald/linux2/probing/probe-volume.c: (advanced_disc_detect), - (main): Added revised patch from Kevin Ottens <ervin@kde.org> to - detect VCD/SVCD/VideoDVD. - -2005-08-23 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-input.c (main): Proper debug output - for input class probe helper. Patch from Pierre Ossman - <drzeus@drzeus.cx>. - -2005-08-23 David Zeuthen <davidz@redhat.com> - - * libhal/Makefile.am, configure.in: Since gcc 3.4.4, 4.0.1 and - 4.1.0, some gcov symbols have been declared hidden, resulting in a - link error when trying to link hald-probe-*. The problem is that - libhal.so hasn't been linked with libgcov. Patch from Cornelia - Huck <cohuck@de.ibm.com>. - -2005-08-23 David Zeuthen <davidz@redhat.com> - - * configure.in: Added Basque (eu) to ALL_LINGUAS - -2005-08-23 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/probing/probe-input.c: (check_abs): Fixed detection of - input capability for joysticks (input.joystick). - -2005-08-23 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: Added Korean translation file to configure. - -2005-08-22 David Zeuthen <davidz@redhat.com> - - Patch from Cornelia Huck <cohuck@de.ibm.com> to change timeout from - 25 seconds to 250 seconds as a temporary workaround. - - * hald/hald.c (parent_wait_for_child): I'm running into some - problems when trying to start the HAL daemon on large - installations (like a S/390 LPAR with several thousands of - devices). Device detection may take quite some time, more than the - 25 seconds specified as a timeout value for select() in - hald/hald.c, and as a result, the daemon will abort. - -2005-08-22 Richard Hughes <richard@hughsie.com> - - * hald/linux2/acpi.c (battery_refresh, battery_refresh_poll): - Fix up the typos where we were not setting battery.charge_level.unit. - Also fix the segfault reported by Martin Pitt where HAL would segfault - where reporting_unit was NULL. I've protected the strcmp, and have - changed the code to assume mWh so that the users of these BIOS's get - some values set. - I've changed battery_refresh_poll to use this scheme too, as users of - broken BIOS's would currently get no updates (as it was handled with - "goto out") and with this they will. - - * hald/linux2/acpi.c (battery_refresh_poll): Fix the bug reported by - Paolo Borelli [http://bugzilla.gnome.org/show_bug.cgi?id=314182] - by checking the battery.voltage.current, and if not valid, using - battery.voltage.design, and if that's not valid, using 1 as a fallback. - - -2005-08-22 Richard Hughes <richard@hughsie.com> - - * hald/util.c (util_compute_time_remaining, - util_compute_percentage_charge): Add some more checks for broken BIOS's - and add some more comments. - -2005-08-22 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/classdev.c: (net_add): Fix for more informative - info.product names for WLAN to differ between LAN and WLAN interfaces. - -2005-08-22 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-pda.fdi: Added for all Palm - PDAs, not handled by special matches, also port 0 as hotsync port to be - sure that there is at least one correct port. - -2005-08-21 David Zeuthen <davidz@redhat.com> - - As of Linux 2.6.14, the kernel will export a mmc_host class for - MMC- devices. This patch teaches hal about this. Patch from Pierre - Ossman <drzeus-list@drzeus.cx>. - - * hald/linux2/classdev.c (mmc_host_add): New function - (mmc_host_compute_udi): New function - -2005-08-21 Danny Kukawka <danny.kukawka@web.de> - - * packaging/suse/hal.spec: Added rpm spec-file for SUSE/openSUSE. - -2005-08-21 Danny Kukawka <danny.kukawka@web.de> - - * hald/util.c: (util_compute_percentage_charge): Fix to return 100 for - computed percentage values > 100% instead of -1. This can happen on - ACPI systems wich reports temporarily a higher 'remaining capacity' - then the 'last full capacity'. - -2005-08-20 Danny Kukawka <danny.kukawka@web.de> - - * configure.in: Fix to get all current available translations. - -2005-08-19 Richard Hughes <richard@hughsie.com> - - * hald/linux2/acpi.c (battery_refresh_poll): Remove checks for negative - times and percentages. - Also remove key if invalid data is returned. - - * hald/util.c (util_compute_time_remaining, - util_compute_percentage_charge): Add checks for negative times and - percentages - this lets up remove lots of checks for each subsystem. - The keys will only be populated when the data is valid, as discussed: - http://article.gmane.org/gmane.comp.freedesktop.hal/2944 - - * hald/linux2/apm.c (battery_refresh): Add calculation of - the key "battery.charge_level.percentage" so that it matches acpi. - Also remove key if invalid data is returned. - - * hald/linux2/pmu.c (battery_refresh): Make the calculation and logic of - remaining_percentage and remaining_time match that of acpi and apm. - Also remove key if invalid data is returned. - - * doc/spec/hal-spec.xml.in: Add description of the key - battery.charge_level.percentage and explain why it's sometimes missing. - Also modified description of battery.remaining_time explaining the - different meanings while charging and discharging. - -2005-08-19 Danny Kukawka <danny.kukawka@web.de> - - * tools/hal-system-power-hibernate, - tools/hal-system-power-set-power-save, - tools/hal-system-power-suspend: Add dectection of ALTLinux, SUSE, - Mandrake, Slackware, Debian and Gentoo and add support for powersave - for SUSE and ALTLinux (powersave will be included to next release ALT - Linux 3.0) to the scripts. - -2005-08-18 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: From my - point of view all of these devices should have the capability - 'portable_audio_player'. Those who are a disk drive with the extra - feature of playing stuff should probably keep 'storage' as - category. The rest should have 'portable_audio_player'. Patch from - Pierre Ossman <drzeus-list@drzeus.cx>. - -2005-08-18 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: Add - identification for Rio Forge music player. Patch from Pierre - Ossman <drzeus-list@drzeus.cx>. - -2005-08-18 Danny Kukawka <danny.kukawka@web.de> - - * fdi/information/10freedesktop/10-usb-pda.fdi: fixed merge - pda.*.hotsync_interface to copy correct property ('serial.device' - instead of nonexistent 'serial_device') - -2005-08-16 David Zeuthen <davidz@redhat.com> - - First stab at system power management... Need to put this in the - hal spec too.. - - * hal.conf.in: Add security policy for Device.SystemPowerManagement - and Device.Volume.Crypto interfaces - only allow the console user to - invoke methods on these interfaces - - * fdi/policy/10osvendor/10-power-mgmt-policy.fdi: Add methods - Suspend(int secondsBeforeWakeup), Hibernate() and - SetPowerSave(bool shouldSavePower) to the - org.freedesktop.Hal.Device.SystemPowerManagement interface - - * tools/Makefile.am (sbin_SCRIPTS): Add hal-system-power-* - - * tools/hal-system-power-hibernate: New file - - * tools/hal-system-power-suspend: New file - - * tools/hal-system-power-set-power-save: New file - -2005-08-14 Richard Hughes <richard@hughsie.com> - - * .cvsignore, tools/.cvsignore: adds a few generated files to .cvsignore - - * hald/solaris/.cvsignore: New file, copy from hald/linux2/ - -2005-08-13 Kay Sievers <kay.sievers@vrfy.org> - - Add missing files. - - * volume_id/ocfs2.c: (volume_id_probe_ocfs2): - * volume_id/ocfs2.h: - -2005-08-13 Kay Sievers <kay.sievers@vrfy.org> - - Sync up volume_id with the udev version. - - * drive_id/drive_id.c: (drive_id_open_dev_t): - * volume_id/Makefile.am: - * volume_id/cramfs.c: (volume_id_probe_cramfs): - * volume_id/cramfs.h: - * volume_id/dasd.c: - * volume_id/dasd.h: - * volume_id/ext.c: (volume_id_probe_ext): - * volume_id/ext.h: - * volume_id/fat.c: (get_attr_volume_id), (volume_id_probe_vfat): - * volume_id/fat.h: - * volume_id/hfs.c: (volume_id_probe_hfs_hfsplus): - * volume_id/hfs.h: - * volume_id/highpoint.c: (volume_id_probe_highpoint_37x_raid), - (volume_id_probe_highpoint_45x_raid): - * volume_id/highpoint.h: - * volume_id/hpfs.c: (volume_id_probe_hpfs): - * volume_id/hpfs.h: - * volume_id/iso9660.c: (volume_id_probe_iso9660): - * volume_id/iso9660.h: - * volume_id/isw_raid.c: (volume_id_probe_intel_software_raid): - * volume_id/isw_raid.h: - * volume_id/jfs.c: (volume_id_probe_jfs): - * volume_id/jfs.h: - * volume_id/linux_raid.c: (volume_id_probe_linux_raid): - * volume_id/linux_raid.h: - * volume_id/linux_swap.c: (volume_id_probe_linux_swap): - * volume_id/linux_swap.h: - * volume_id/lsi_raid.c: (volume_id_probe_lsi_mega_raid): - * volume_id/lsi_raid.h: - * volume_id/luks.c: (volume_id_probe_luks): - * volume_id/luks.h: - * volume_id/lvm.c: (volume_id_probe_lvm1), (volume_id_probe_lvm2): - * volume_id/lvm.h: - * volume_id/mac.c: (volume_id_probe_mac_partition_map): - * volume_id/mac.h: - * volume_id/minix.c: (volume_id_probe_minix): - * volume_id/minix.h: - * volume_id/msdos.c: (volume_id_probe_msdos_part_table): - * volume_id/msdos.h: - * volume_id/ntfs.c: (volume_id_probe_ntfs): - * volume_id/ntfs.h: - * volume_id/nvidia_raid.c: (volume_id_probe_nvidia_raid): - * volume_id/nvidia_raid.h: - * volume_id/promise_raid.c: (volume_id_probe_promise_fasttrack_raid): - * volume_id/promise_raid.h: - * volume_id/reiserfs.c: (volume_id_probe_reiserfs): - * volume_id/reiserfs.h: - * volume_id/romfs.c: (volume_id_probe_romfs): - * volume_id/romfs.h: - * volume_id/silicon_raid.c: (volume_id_probe_silicon_medley_raid): - * volume_id/silicon_raid.h: - * volume_id/sysv.c: (volume_id_probe_sysv): - * volume_id/sysv.h: - * volume_id/udf.c: (volume_id_probe_udf): - * volume_id/udf.h: - * volume_id/ufs.c: (volume_id_probe_ufs): - * volume_id/ufs.h: - * volume_id/util.c: (volume_id_set_unicode16), - (volume_id_set_label_raw), - (volume_id_set_label_string), (volume_id_set_label_unicode16), - (volume_id_set_uuid), (volume_id_get_buffer): - * volume_id/util.h: - * volume_id/via_raid.c: (volume_id_probe_via_raid): - * volume_id/via_raid.h: - * volume_id/volume_id.c: (volume_id_probe_all), - (volume_id_open_dev_t): - * volume_id/volume_id.h: - * volume_id/xfs.c: (volume_id_probe_xfs): - * volume_id/xfs.h: - -2005-08-11 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c, hald/linux2/addons/addon-acpi.c - hald/linux2/addons/addon-pmu.c, hald/linux2/addons/addon-storage.c, - hald/linux2/pmu.c: (battery_refresh): Fixed several compiler warnings - and removed unused variables. - -2005-08-11 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c: (battery_refresh_poll): Fixed several battery keys - to be sure that hal not provides battery key with not up-to-date values, - if the battery is full charged. Now we set all values which are in - /proc/acpi/battery/*/{info,state} already 'unknown' (e.g. 'present rate') - to 0. - -2005-08-11 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c: (battery_refresh_poll): Check now if computed - remaining percentage and remaining time values are valid. Now we only - add positive values. - - * hald/util.c: (util_compute_percentage_charge), - (util_compute_time_remaining): Return -1 instead of 0 if an error occurs - to differentiate between an error and an empty battery. Return now -1 if - parameter chargeRate, chargeLevel or chargeLastFull are negative. Removed - unneeded warning. - -2005-08-11 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c: (battery_refresh): remove also - battery.charge_level.rate, battery.reporting.unit and - battery.remaining_time if the battery is removed. - -2005-08-11 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c: (battery_refresh_poll): Normalise - battery.reporting.last_full with voltage_current instead of - voltage_design because battery.charge_level.last_full is a changing and - not a static value like voltage_design, which is a "marketing assurance". - -2005-08-11 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/acpi.c (acpi_poll_battery), (acpi_poll_acadap), - (acpi_poll): Splitted acpi_poll() into acpi_poll_battery() and - acpi_poll_acadapt(). - (battery_refresh):battery.present is now read - from /proc/acpi/battery/*/state instead of reading the information - from /proc/acpi/battery/*/info since reading from the info proc entry - takes very long on several systems. If a ACPI battery event occurs, - we now also gather the information for ac_adapter.present. This helps - to detect the AC online/offline state for machine which do not trigger - an ACPI event for AC online/offline but still report battery events - by an issuing ACPI event. - (ac_adapter_refresh_poll), (battery_refresh_poll), - (battery_poll_infrequently), (ac_adapter_refresh), - (acpi_synthesize_hotplug_events): Status for battery.reporting.last_full - is now read by battery_poll_infrequently (). This saves several - open/read calls to /proc/acpi/battery/*/{info,state} and enables - reuse of the information gathered (makes reopening of the {info,state} - proc entries unnecessary). battery_poll_infrequently () is invoked: - every 60 minutes and once a AC adapter ACPI event occurs. This prevents - open/read calls to /proc/acpi/battery/*/info more often then intended. - -2005-08-10 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c (libhal_volume_from_udi): Actually - export the right volume.fsusage - -2005-08-10 Danny Kukawka <danny.kukawka@web.de> - - * hald/linux2/blockdev.c: (blockdev_compute_udi): fix compute of - volume_label_* UDIs. - -2005-08-09 David Zeuthen <davidz@redhat.com> - - * hald/linux2/physdev.c (ccw_add_tape_properties): - tape.ccw.mediumstate should be ccw.tape.mediumstate, fix the typo. - Patch from Cornelia Huck <cohuck@de.ibm.com>. - -2005-08-06 Kay Sievers <kay.sievers@vrfy.org> - - * configure.in: - * hald/linux2/addons/addon-acpi.c: (main): - Make the possible ACPI event sources configurable, cause binding - the exclusive kernel socket instead of the proposed acpid socket - may cause trouble. - -2005-08-05 Danny Kukawka <danny.kukawka@web.de> - - * doc/spec/hal-spec.xml.in: Added new namespace for OSS devices - and updated ALSA namespace for new devices. - - * hald/linux2/classdev.c, hald/linux2/classdev.h (sound_add), - (sound_compute_udi): Added OSS devices and ALSA/OSS global devices. - OSS devices are only added if the kernel supports device links to the - related physical device. Adapted sound_compute_udi() to generate - UDIs for the new devices. For the required kernel patch (going - upstream soon) see: - http://thread.gmane.org/gmane.comp.freedesktop.hal/2862 - -2005-08-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (acpi_poll): Fix a memory leak here - -2005-08-02 David Zeuthen <davidz@redhat.com> - - Patch from Richard Hughes <hughsient@gmail.com>. - - * hald/linux2/acpi.c (ac_adapter_refresh_poll): New function, just - set the present key. This is quicker than setting the capability - and category on every forced refresh. - (ac_adapter_refresh): Use ac_adapter_refresh_poll and while we are - here, add device_property_atomic_update_begin and - device_property_atomic_update_end to make atomic. - (acpi_poll): Add the ac_adapter updates to make sure we get the - value of ac_adapter correct at least on every 30 second forced - refresh. This fixes really broken ACPI BIOS's that don't emit acad - or batt events. - -2005-08-01 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (acpi_poll): Only poll if the battery is actually - present. Patch from Danny Kukawka <danny.kukawka@web.de>. - (battery_refresh_poll): Be a little bit more - careful and don't segfault if battery.reporting_unit doesn't exist - -2005-08-01 David Zeuthen <davidz@redhat.com> - - Patch from Danny Kukawka <danny.kukawka@web.de>. - - * libhal/libhal.c, hald/linux2/ids.c: This is a patch to fix usage - of #NULL within the doxygen code documentation (replaced through - 'NULL' since '#NULL' generates a warning). - -2005-08-01 David Zeuthen <davidz@redhat.com> - - Patch from Richard Hughes <hughsient@gmail.com>. Reported by Ryan - Lortie <desrt@desrt.ca>. - - * hald/linux2/acpi.c (battery_refresh_poll, battery_refresh): - convert the current values from mAh to mWh (some laptops report in - other than mWh) by multiplying by the current voltage. This gives - us "energy" units that are not dependent on the current voltage of - the battery. This fixes the - bug (http://bugzilla.gnome.org/show_bug.cgi?id=309944) where the - remaining time was being worked out with incorrect logic. The - util_compute_time_remaining and util_compute_percentage_charge - functions now take the sanitised values too. This patch introduces - the new keys battery.reporting.* representing the raw values from - ACPI. This will not change API for existing programs (as the old - charge_level keys are just re-used for the sanitised values). A - battery.charge_level.design key of "Unknown ACPI Unit" represents - an unknown unit that may have to be calculated like mAh. - - * doc/spec/hal-spec.xml.in: Update spec with new keys - -2005-07-31 David Zeuthen <davidz@redhat.com> - - * hald/device_store.c (hal_device_store_add): this is a patch to - prevent adding a device with invalid UDI (doesn't start with - "/org/freedesktop/Hal/devices/") to the 'global device - list'. Without this patch it's possible to add a device with - invalid UDI. If so, you can't see the device e.g. via lshal and - get always a dbus error. Original patch from Danny Kukawka - <danny.kukawka@web.de>; slightly tweaked. - -2005-07-29 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-hid-ups.c: This one for UPS's (which - are always measured in percent, so no division needed). I think - that's all of the capability battery devices now. All I have to do - is wait for the next release of HAL, and i can depend on that new - version (but I'm guessing it'll be a long wait :-). Patch from - Richard Hughes <richard@hughsie.com>. - -2005-07-29 David Zeuthen <davidz@redhat.com> - - The FSF moved to a new address, so I updated all license headers - and the COPYING file. Patch from Danny Kukawka <danny.kukawka@web.de>. - -2005-07-29 David Zeuthen <davidz@redhat.com> - - Patch from Richard Hughes <richard@hughsie.com>. - - * hald/linux2/addons/addon-usb-csr.c: Change default polling to 30 - seconds as mice discharge *very* slowly and do not need to be polled - once every 10 seconds. - Add to addon-usb-csr the key battery.charge_level.percentage so we can - provide a better interface to programs that use this data. - Also reformat this file so that it matches the rest of the HAL source - in style, and get rid of the spaces-for-tabs. - -2005-07-29 David Zeuthen <davidz@redhat.com> - - Patch from Danny Kukawka <danny.kukawka@web.de>. - - * libhal-storage/libhal-storage.c, - tools/device-manager/hal-device-manager.glade, tools/fstab-sync.c: - this is a patch to fix typos of translatable strings. New - translation files will follow due to end of August. - -2005-07-29 David Zeuthen <davidz@redhat.com> - - Patch from Richard Hughes <richard@hughsie.com>. - - * hald/linux2/pmu.c (battery_refresh): Call - util_compute_percentage_charge so we can populate - battery.charge_level.percentage. - -2005-07-27 David Zeuthen <davidz@redhat.com> - - Patch from Richard Hughes <richard@hughsie.com>. - - * hald/util.c (util_compute_percentage_charge): New function used - to calculate the percentage charge, initially for ACPI batteries, - but could be used by all devices as contains lots of error checks. - - * hald/linux2/acpi.c (battery_refresh_poll): Call - util_compute_percentage_charge so we can populate - battery.charge_level.percentage - -2005-07-27 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c: This is a patch to compute 'nicer' UDIs, - /org/freedesktop/Hal/devices/volume_empty_%disc.type, for emtpy - CD/DVD volumes/discs. Patch from Danny Kukawka - <danny.kukawka@web.de>. - -2005-07-27 David Zeuthen <davidz@redhat.com> - - * tools/hal-luks-remove.in: Unmount the cleartext volume, if mounted, - before tearing down the dm-crypt mapping - - * hald/linux2/blockdev.c (hotplug_event_begin_remove_blockdev): - Actually read the is_partition from the device since e.g. - /sys/block/dm-0 probably is a partition - -2005-07-26 W. Michael Petullo <mike@flyn.org> - - * tools/hal_set_property.c: Add --strlist-pre, --strlist-post - and --strlist-rem options to hal-set-property - - * tools/hal-luks-setup.in: Use --strlist-pre to add hal-luks-remove to - a LUKS device's info.callouts.remove. - - * tools/hal-luks-remove.in: New script to tear down dm-crypt - device. - -2005-07-26 David Zeuthen <davidz@redhat.com> - - * drive_id/ata.c, drive_id/drive_id.c, drive_id/scsi.c, - hald/device.c, hald/device_store.c, hald/linux2/apm.c, - hald/linux2/osspec.c, hald/linux2/pcmcia_utils.c, - hald/linux2/probing/probe-storage.c, tools/hal-device.c, - volume_id/fat.c, volume_id/iso9660.c, volume_id/isw_raid.c, - volume_id/lvm.c, volume_id/romfs.c, volume_id/volume_id.c: This is - a patch (against CVS) to fix several compiler warnings with gcc - 3.x and 4.x. Please review. Patch from Danny Kukawka - <danny.kukawka@web.de>. - -2005-07-25 David Zeuthen <davidz@redhat.com> - - * hald/linux2/classdev.c (sound_add): Forgot to add alsa_.device_file - - * doc/spec/hal-spec.xml.in: Add docs for alsa.device_file - -2005-07-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-hiddev.c, - hald/linux2/probing/probe-input.c, - hald/linux2/probing/probe-printer.c, - hald/linux2/probing/probe-smbios.c, - hald/linux2/probing/probe-storage.c, - hald/linux2/probing/probe-volume.c: Here a little patch (against - CVS) to fix several compiler warnings. Patch from Danny Kukawka - <danny.kukawka@web.de>. - -2005-07-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-volume.c (main): hal sets - volume.disc.is_rewriteable for DVD+R and DVD+R DL - wrong (TRUE). This patch (against CVS) fix this to - volume.disc.is_rewriteable=FALSE for DVD+R/DVD+R DL. Patch from - Danny Kukawka <danny.kukawka@web.de>. - -2005-07-21 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c, libhal/libhal.c: Move the - LIBHAL_CHECK_LIBHALCONTEXT down to after declerations so we - don't depend on C99. - -2005-07-21 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c, libhal/libhal.[ch]: Patch from - Danny Kukawka <danny.kukawka@web.de>: here the new patch with a - macro instead of always the same codeblock in so many funtions. - -2005-07-21 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in, hald/linux2/acpi.c (battery_refresh): - Here is a patch for additional information about ACPI Batteries. I - added the following new keys: - - battery.charge_level.capacity_state (poll) - battery.charge_level.warning - battery.charge_level.low - battery.charge_level.granularity_1 - battery.charge_level.granularity_2 - battery.voltage.unit - battery.voltage.design - battery.voltage.current (poll) - battery.alarm.unit - battery.alarm.design - - Also attached a related patch for the spec. Patch from Danny - Kukawka <danny.kukawka@web.de>. - -2005-07-21 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c: This is a fix to prevent segmentation faults in - libhal if a function called with parameter LibHalContext *ctx == - NULL/0. Patch from Danny Kukawka <danny.kukawka@web.de>. - -2005-07-20 David Zeuthen <davidz@redhat.com> - - Patch from W. Michael Petullo <mike@flyn.org>. - - * configure.in: Add tools/hal-luks-setup to AC_OUTPUT - - * tools/hal-luks-setup.in: New file - - * fdi/policy/10osvendor/15-storage-luks.fdi: New file - - * hald/linux2/blockdev.c (blockdev_get_luks_uuid): Minor changes - to give for informational debug - -2005-07-15 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-hid-ups.c: Minor cleanup and fix for a - compiler warning. Patch from Richard Hughes <hughsient@gmail.com>. - -2005-07-15 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/DeviceManager.py: Here is a patch to fix up - hal-device-manager. This will still run with older D-BUS's but - you will need 0.35 to get all the fixes since there were some - problems with the signal removal code. I am working on getting - 0.35 out the door today. Patch from John (J5) Palmieri - <johnp@redhat.com>. - -2005-07-15 David Zeuthen <davidz@redhat.com> - - I added support for detection of DVD+R Dual-Layer write - support (new key: storage.cdrom.dvdplusrdl). Here a fix for DVD+R - DL media in libhal_volume_policy_compute_display_name(). Patches - from Danny Kukawka <danny.kukawka@web.de>. - - * libhal-storage/libhal-storage.h: - - * libhal-storage/libhal-storage.c (libhal_drive_policy_compute_display_name) - (libhal_volume_policy_compute_display_name): - - * hald/linux2/probing/probe-storage.c (main): - - * hald/linux2/probing/linux_dvd_rw_utils.c (get_dvd_r_rw_profile): - - * doc/spec/hal-spec.xml.in: - -2005-07-15 David Zeuthen <davidz@redhat.com> - - Patch from Alvaro Lopez Ortega <alvaro@sun.com> - - * volume_id/util.h: include asm/types.h if we have it - - * configure.in: Fixup check for headers - -2005-07-12 David Zeuthen <davidz@redhat.com> - - * hald/util.h: Add prototype for hal_util_helper_invoke_with_pipes - - * hald/util.c (hal_util_helper_invoke_with_pipes): New function (is - based on hal_util_helper_invoke) - (hal_util_helper_invoke): Use the with_pipes - - * hald/hald_dbus.c (hald_exec_method_cb): New function - (hald_exec_method): New function - (hald_dbus_filter_handle_methods): Check and handle methods on - individual hal device objects - - * hald/device.h: Add prototype for hal_device_property_get_strlist_elem - - * hald/device.c (hal_device_property_get_strlist_elem): New function - -2005-07-12 David Zeuthen <davidz@redhat.com> - - * configure.in: Post release version bump - -2005-07-12 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump version to 0.5.3 - - * NEWS: Update for release 0.5.3 - -2005-07-12 David Zeuthen <davidz@redhat.com> - - * hald/Makefile.am: Disable our regression test for now since it's - busted and we want 'make distcheck' to pass for the new release. - -2005-07-12 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c (libhal_ctx_init): Make init fail if hald is - actually not running - -2005-07-11 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (battery_refresh_poll): When the battery is - degrading a bit, and the last full battery info value is updated - by ACPI, the new value is not reflected in HAL database. Reported - by Paul Ionescu (i_p_a_u_l@yahoo.com); fix by Richard - Hughes (richard@hughsie.com) (RH #162215). - -2005-07-11 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): Cards - on the MMC bus got an incorrect storage.drive_type. Patch from - Pierre Ossman <drzeus@drzeus.cx>. - -2005-07-08 David Zeuthen <davidz@redhat.com> - - Make it possible to create and remove HAL devices without kernel and - sysfs support. Some legacy devices or userspace driven devices may be - useful in HAL too, but need to be maintained by an application instead - of the kernel itself. Patch from Steffen Winterfeldt <snwint@suse.de>. - - * tools/hal-device.c: New file - - * tools/Makefile.am: Add build rules for hal-device - - * libhal/libhal.[ch]: Remove the _agent prefix from the agent_manager - functions - - * hald/hald_dbus.h: Add prototypes for new functions - - * hald/hald_dbus.c (manager_new_device) - (manager_remove_done, manager_remove) - (manager_commit_done) - (manager_commit_preprobing_done) - (manager_commit_to_gdl): New functions - (hald_dbus_filter_handle_methods): Add handlers for new D-BUS methods - -2005-07-07 Kay Sievers <kay.sievers@vrfy.org> - - * tools/device-manager/DeviceManager.py: - h-d-m raises: - Traceback (most recent call last): - File "/usr/share/hal/device-manager/DeviceManager.py", line 182, in - DBusException: Trying to remove unkown rule: - type='signal',interface='org.freedesktop.Hal.Device',sender=':1.1'... - - just make it useable again until we found the real reason. - -2005-07-07 Kay Sievers <kay.sievers@vrfy.org> - - * hald/hald_dbus.c: (raise_error), (raise_no_such_device), - (raise_no_such_property), (raise_property_type_error), - (raise_syntax), (raise_device_not_locked), - (raise_device_already_locked), (raise_permission_denied), - (foreach_device_get_udi), (device_send_signal_condition), - (local_server_message_handler): - Unify the error handling into one common function. - Thanks to Steffen Winterfeldt <snwint@suse.de>. - -2005-07-07 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/coldplug.c: (hal_util_get_udevinfo_path), - (hal_util_init_sysfs_to_dev_map), (coldplug_get_device_file), - (coldplug_synthesize_events), (coldplug_synthesize_block_event), - (coldplug_compute_visit_device): - The next udev version will not store anything in its database if not - neccessary. So udev does not need to write 600 pretty useless database - files and HAL does not need to process the information that is already - contained in the sysfs-path. - - The udevinfo-dump of the next udev version will only print devices which - have a custom configuration. This changes HAL to look for the default - device-node derived from the kernels devpath if udev has not specified - anything else. - -2005-07-02 Kay Sievers <kay.sievers@vrfy.org> - - * configure.in: - * hald/linux2/addons/addon-storage.c: - * hald/linux2/probing/probe-pc-floppy.c: - * hald/linux2/probing/probe-storage.c: - * hald/linux2/probing/probe-volume.c: - * tools/linux/add_selinux.c: - Revert <sys/mount.h> include, as some popular systems - still use ancient libc-kernel-headers. - -2005-07-01 Kay Sievers <kay.sievers@vrfy.org> - - * configure.in: - * doc/api/Makefile.am: - * doc/conf/Makefile.am: - * doc/spec/Makefile.am: - Allow to configure the documentation target directory. - -2005-07-01 Kay Sievers <kay.sievers@vrfy.org> - - * tools/device-manager/Device.py: - * tools/device-manager/DeviceManager.py: - * tools/device-manager/Representation.py: - Make h-d-m tolerate expected device properties which are empty. - -2005-07-01 Kay Sievers <kay.sievers@vrfy.org> - - * configure.in: - * hald/linux2/addons/addon-storage.c: - * hald/linux2/probing/probe-pc-floppy.c: - * hald/linux2/probing/probe-storage.c: - * hald/linux2/probing/probe-volume.c: - * tools/linux/add_selinux.c: - Switch <linux/fs.h> include to <sys/mount.h> to fix missing - typedefs in the kernel headers on exotic architectures. - -2005-07-01 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/addons/addon-storage.c: (force_unmount): - Terminate execl() argument list. - -2005-06-29 David Zeuthen <davidz@redhat.com> - - * po/es.po: Add spanish translation from Francisco Javier F. Serrador - <serrador@hispafuentes.com>. - - * configure.in: Add es to ALL_LINGUAS - -2005-06-28 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.h: Add new LibHalVolumeDiscType field - LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR_DL. Add new LibHalDriveBus field - LIBHAL_DRIVE_BUS_CCW. - - * libhal-storage/libhal-storage.c (libhal_drive_from_udi): Set - drive->bus to LIBHAL_DRIVE_BUS_CCW if appropriate - (libhal_volume_from_udi): Fix a bug: it's dvd_plus_[r|rw] not - dvd_plus[r|rw]. Add support for dvd_plus_r_dl. - -2005-06-27 David Zeuthen <davidz@redhat.com> - - Patch-set from Cornelia Huck <cohuck@de.ibm.com>. I've been - working on support for Linux on S/390 specific devices in HAL. The - following patchset includes some non-s390 specific patches and - support for the S/390 bus types. - - * doc/spec/hal-spec.xml.in: Document the properties of ccw, - ccwgroup, iucv, and tape devices. - - * hald/linux2/classdev.c (tape_add, tape_compute_udi): This - comprises support for both the generic tape class and the tape390 - class, as the two don't differ in anything but name. - - * hald/linux2/blockdev.c (hotplug_event_begin_add_blockdev): ccw - devices need to be considered for block devices. - - * hald/linux2/physdev.c (iucv_add_netiucv_properties) - (iucv_add, iucv_compute_udi): The iucv bus is for virtual devices - under z/VM - currently only netiucv is implemented. - - * hald/linux2/physdev.c (ccwgroup_add_qeth_properties) - (ccwgroup_add_ctc_properties, ccwgroup_add_lcs_properties) - (ccwgroup_add_claw_properties, ccwgroup_add) - (ccwgroup_compute_udi): The ccwgroup on S/390 contains devices - consisting of grouped ccw devices - usually networking devices. As - with the ccw bus, there are some common properties and lots of - device specific ones. - - * hald/linux2/physdev.c (ccw_add_dasd_properties) - (ccw_add_zfcp_properties, ccw_add_tape_properties) - (ccw_add_3270_properties, ccw_add, ccw_compute_udi): The ccw bus - on s390 contains all classic channel-attached devices. They all - have a few common properties, but also driver-specific ones. - - * hald/linux2/osspec_linux.h: Export hal_util_get_driver_name () - - * hald/linux2/osspec.c (hal_util_get_driver_name): New function - (hal_util_set_driver): Refactor to use hal_util_get_driver_name - - * hald/linux2/classdev.c (net_add): Set MAC-address to zero's - if we can't read it. - (net_compute_udi): Use some other unique ID if MAC address is - missing or set to all zero's. - - * hald/linux2/blockdev.c (blockdev_compute_udi): Generate a - sensible name for block devices for which the model is an - empty string. - - * hald/util.c: This patch adds a needed include for some - interfaces, or gcc 4.0 will make incorrect assumptions on the - format of some functions. - -2005-06-27 David Zeuthen <davidz@redhat.com> - - * volume_id/util.h: Include stdint.h to get uint8_t and friends so - we compile on Linux. - -2005-06-27 David Zeuthen <davidz@redhat.com> - - * configure.in, volume_id/*.c: This patch check for some internal - Linux kernel types and redefine it using the standard system - types. It also removes the a private Linux kernel include. Patch - from Alvaro Lopez Ortega <alvaro@sun.com>. - -2005-06-27 David Zeuthen <davidz@redhat.com> - - Patch from Alvaro Lopez Ortega <alvaro@sun.com>. - - * volume_id/dasd.c: Use HAVE_SYS_IOCCOM_H to conditionally include - sys/ioccom.h - - * configure.in: Check for sys/ioccom.h - -2005-06-23 David Zeuthen <davidz@redhat.com> - - Patch from Alvaro Lopez Ortega <alvaro@sun.com> to add an empty - Solaris backend to HAL. - - * hald/solaris/osspec.c: New file - - * hald/solaris/Makefile.am: New file - - * configure.in: Add checks for Solaris - -2005-06-21 David Zeuthen <davidz@redhat.com> - - * configure.in: This little patch fixes the configure.in file in - order to allow non-Linux machines to execute the whole configure - script. Patch from Alvaro Lopez Ortega <alvaro@sun.com>. - -2005-06-21 David Zeuthen <davidz@redhat.com> - - * .cvsignore: update this and add a bunch of other .cvsignore files. - Patch from William Jon McCann <mccannwj@pha.jhu.edu>. - -2005-06-21 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-usb-music-players.fdi: Patch from - Mattias Eriksson <snaggen@acc.umu.se> to detect a bunch of iRiver - music players (ported from 0.4.x to HEAD by me). - -2005-06-15 William Jon McCann <mccann@jhu.edu> - - * hald/linux2/probing/probe-volume.c (main): Add support for - DVD+R DL media. (fdo bug #3269) - -2005-06-10 David Zeuthen <davidz@redhat.com> - - * hald/hald.c (usage): This diff contains a little fix for the - description of --retain-privileges in "hald --help". Looks like - only replaced --drop-privileges through --retain-privileges - without to change the description. - Patch from Danny Kukawka <danny.kukawka@web.de>. - -2005-05-28 Kjartan Maraas <kmaraas@gnome.org> - - * hald/Makefile.am: Putting on the build sherrif hat and removing - references to master_slave.[ch] to get the build going again. - -2005-05-24 David Zeuthen <davidz@redhat.com> - - * hald/property.c (hal_property_new_string): Just assign an - empty string to the property if the value argument is NULL. - Patch from Martin Pitt <martin@piware.de> (Ubuntu bug #11060) - -2005-05-23 Kjartan Maraas <kmaraas@gnome.org> - - * configure.in: Add nb to ALL_LINGUAS. - -2005-05-23 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/10-storage-policy.fdi: Never ever use - sync as it reduces performance and makes people believe that - it wears out their drives (RH bug #157674) - - * examples/locking.py: Fixup this a little bit - - * tools/fstab-sync.8.in: Update the man page to reflect latest - changes. - - * hald/hald_dbus.c (device_lock): Fix a doublefree when acquiring - lock (RH bug #158474) - -2005-05-20 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-storage.c (main): Here is a fix for - the dvdram entry in hal (0.4.x and 0.5.x). Currently the correct - default key (storage.cdrom.dvdram = false) is created but if the - device can write dvdram, hal add a new key named "storage.dvdram". - Patch from Danny Kukawka <danny.kukawka@web.de>. - -2005-05-16 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-acpi.c (main): Whilst using CVS, I've - found that ACPI ac_adapter events are not triggering a rescan of - the ac_adapter object. - Patch from Richard Hughes <hughsient@gmail.com> - -2005-05-13 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/DeviceManager.py: - (DeviceManager.property_modified): Fix a port J5 missed when porting - to the new D-BUS Python bindings (I just love weakly-typed languages) - -2005-05-13 David Zeuthen <davidz@redhat.com> - - * tools/hal_find_by_capability.c: New file - - * tools/hal_find_by_property.c: New file - - * tools/hal_get_property.c (usage): Don't claim we support we the - --quiet option because we don't - - * tools/Makefile.am: Add build rules for hal-find-by-capability and - hal-find-by-property. - -2005-05-12 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump version to 0.5.2 - - * NEWS: Update for release 0.5.2 - -2005-05-12 David Zeuthen <davidz@redhat.com> - - * tools/Makefile.am (EXTRA_DIST): Also dist gen-libgphoto-hal-fdi - -2005-05-12 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-usb-csr.c (property_cache_item_get): Bah, - make this file actually compile again. - -2005-05-11 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-usb-csr.c: Remove all extra new-lines as - we don't nede them (from Richard Hughes <richard@hughsie.com>) - -2005-05-11 David Zeuthen <davidz@redhat.com> - - * hald/linux2/pmu.c (battery_refresh): Also use the - util_compute_time_remaining here - -2005-05-11 David Zeuthen <davidz@redhat.com> - - Patch from Richard Hughes <richard@hughsie.com> - - * hald/util.c (util_compute_time_remaining): New function - used to calculate the time remaining for ACPI laptops as the - information is not provided. - - * hald/linux2/acpi.c (battery_refresh_poll): Add code to - refresh "battery.remaining_time" using the new function - util_compute_time_remaining. - -2005-05-11 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.[ch]: Patch from Rohan McGovern <rohan.pm@gmail.com> - to fix up Doxygen documentation. Thanks! - -2005-05-09 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/10-storage-policy.fdi: Add the 'mmc' bus - to whitelist of storage devices we don't mind mounting. Verified to - work by Pierre Ossman <drzeus-list@drzeus.cx>. - -2005-05-08 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-hid-ups.c (ups_get_static): Assume - battery is present (from Richard Hughes <richard@hughsie.com>) - -2005-05-08 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-pmu.c: New file (polls /dev/apm for - lid button events) - - * hald/linux2/addons/Makefile.am (libexec_PROGRAMS): Also build - hald-addon-pmu - - * hald/linux2/pmu.c (battery_refresh): Support battery.current - (lid_button_refresh): New function - (pmu_lid_compute_udi): New function - (pmu_poll): New function - (pmu_synthesize_hotplug_events): Add lid object and setup a timeout - for polling - - * fdi/policy/10osvendor/10-power-mgmt-policy.fdi: Run the pmu addon - to detect lid button events. - -2005-05-02 David Zeuthen <davidz@redhat.com> - - * tools/gen-libgphoto-hal-fdi: Generate HAL fdi file - script from - Pozsar Balazs <pozsy@uhulinux.hu>; slightly tweaked by me - -2005-05-02 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/Makefile.am: Add 10-camera-ptp.fdi. - Also add 10-usb-pda.fdi that was forgotten - - * fdi/information/10freedesktop/10-camera-ptp.fdi: New file to detect - PTP cameras - -2005-05-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-storage.c (unmount_childs): Also unmount - by mount point here - -2005-04-29 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c (update_mount_point): Fix the TODO about - using major:minor to check for whether something is mounted. Now - it works with e.g. 'mount /dev/dvd /mnt/tmp' where /dev/dvd is - a symlink to the real device and /mnt/tmp nor /dev/dvd is mentioned - in the /etc/fstab file. - (force_unmount): Use mount point, not device name (from Rohan - McGovern <rohan.pm@gmail.com>). - -2005-04-27 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump for release - - * NEWS: Update for release - -2005-04-27 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/*.py: Patch from John (J5) Palmieri - <johnp@redhat.com>: I am about to check in my changes to the dbus - python bindings and roll a release. Here is a patch to get Hal - working with it. - -2005-04-27 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-usb-csr.c (main): Fix compilation error - now that this piece of code actually compiles. - - * configure.in: Doh, check for libusb-config, not libusb-configxxx. - Fix from Richard Hughes <hughsient@gmail.com>. - -2005-04-27 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec_linux.h: Remove prototype for the function - hal_util_get_device_file(). - - * hald/linux2/osspec.c (hal_util_get_udevinfo_path): Remove - (hal_util_get_device_file): Remove - - * hald/linux2/coldplug.c (hal_util_get_udevinfo_path): Move from - osspec.c - (hal_util_get_sysfs_to_dev_map): New function - (coldplug_synthesize_events): Get the sysfs->dev map in one go using - 'udevinfo -d' available in udev since at least version 057. - - * configure.in: Bump dbus requirement to 0.33 since the new dbus is - out. - -2005-04-27 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c (libhal_device_set_property_helper): Don't leak the - DBusMessage objects - - * hald/hald_dbus.c (sender_has_privileges): Don't leak the error and - actually return FALSE if sender is unprivileged. Also fix up spelling. - -2005-04-18 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump glib-2.0 requirement to 2.6.0; change dbus-1 and - dbus-glib-1 to back 0.32 so it works with patched 0.32 tarballs. glib - observation from Rohan <rohan.pm@gmail.com>. - -2005-04-14 David Zeuthen <davidz@redhat.com> - - Make hal handle APM nicely. - - * hald/linux2/apm.c (apm_poll): New function - (battery_refresh): Hmm, APM reports -1 if battery is absent. - s/system.ac_adapter/ac_adapter/ - Patch from Bill - Nottingham <notting@redhat.com> - (apm_synthesize_hotplug_events): Add time for APM polling - -2005-04-13 David Zeuthen <davidz@redhat.com> - - Some patches from Martin Pitt <martin@piware.de>. - - * tools/device-manager/Representation.py: - (Representation.load_and_scale_icon): Use TRUE instead of gtk.TRUE - since the latter is deprecated - - * hald/hald.c (main): Drop privileges a bit later so we have a - chance to bind to the netlink socket - -2005-04-11 David Zeuthen <davidz@redhat.com> - - * configure.in: Add /var/lib/music to the search path for pci.ids. - Patch from Murray Cumming <murrayc@murrayc.com>, fdo bug #2547. - -2005-04-08 David Zeuthen <davidz@redhat.com> - - Make all hal helpers use a direct connection to hald rather than - going through the bus. This is for both performance and security - reasons. Also, fix the reconnect issue and don't connect to the - system message bus before probing is done. - - * configure.in: Require dbus 0.33; that, for now, means D-BUS CVS - HEAD since it requires the patch in fd.o bug #2889 and D-BUS made - a post-release version bump. I'll look into doing a D-BUS release - soon. - - * libhal/libhal.h: Export prototype for libhal_ctx_init_direct() - - * libhal/libhal.c (libhal_ctx_init_direct): New convenience function - for connecting directly to hald instead of going through the message - bus (requires the address in the HALD_DIRECT_ADDR environment variable) - - * hald/util.c (hal_util_helper_invoke): Export the local hald dbus - server address in HALD_DIRECT_ADDR - - * hald/hald_dbus.c (manager_send_signal_device_added): Handle the - case where we're not connected to the system message bus - (manager_send_signal_device_removed): -do- - (manager_send_signal_new_capability): -do- - (device_property_atomic_update_end): -do- - (device_send_signal_property_modified): -do- - (device_send_signal_condition): -do- - (device_set_property): Always allow local interface - (device_add_capability): -do- - (device_remove_property): -do- - (device_rescan): -do- - (device_reprobe): -do- - (device_emit_condition): -do- - (hald_dbus_filter_handle_methods): New function - (hald_dbus_filter_function): Move bulk of functionality to the new - hald_dbus_filter_handle_methods() and pass local_interface==FALSE. - Handle Disconnect from local libdbus properly and attempt to - reconnect to the system message bus every so often (every 3 secs) - (local_server_message_handler): New function - (local_server_unregister_handler): New function - (local_server_handle_connection): New function - (hald_dbus_local_server_addr): New function - (hald_dbus_local_server_init): New function - - * hald/hald.c (main): Register a local dbus server instead of - connection to the system bus as startup - (osspec_probe_done): Only connect to the system bus once probing - is done - - * tools/fstab-sync.c (main): Use direct connection - - * hald/linux2/probing/probe-volume.c (main): Use direct connection - - * hald/linux2/probing/probe-storage.c (main): Use direct connection - - * hald/linux2/probing/probe-smbios.c (main): Use direct connection - - * hald/linux2/probing/probe-printer.c (main): Use direct connection - - * hald/linux2/probing/probe-hiddev.c (main): Use direct connection - - * hald/linux2/probing/probe-input.c (main): Use direct connection - - * hald/linux2/addons/addon-usb-csr.c (main): Use direct connection - - * hald/linux2/addons/addon-storage.c (main): Use direct connection - - * hald/linux2/addons/addon-hid-ups.c (main): Use direct connection - - * hald/linux2/addons/addon-acpi.c (main): Use direct connection - - * hald/linux2/probing/probe-pc-floppy.c (main): Remove all references - to hal and dbus since this program just returns the result in the - exit code - -2005-04-06 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/probing/probe-volume.c: (main): read volume label - from last session of optical multisession disk. - -2005-04-04 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/Makefile.am (libexec_PROGRAMS): Only build - hald-addon-usb-csr if we have libusb - - * configure.in: Check for libusb (since it appear not to build - on s390/s390x if we don't have it) - -2005-04-04 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-storage.c (main): storage.serial and - storage.firmware_revision may return bogus data so don't quit - if we fail when setting it (Red Hat bug #151762) - -2005-04-04 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-wireless-mice.fdi: Change - battery.type from 'keyboard_mouse' to just 'keyboard'. - -2005-04-04 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c: Fix for when gettext is - not available. From Steve Grubb <sgrubb@redhat.com>. - -2005-04-04 David Zeuthen <davidz@redhat.com> - - * po/zh_TW.po: New file from chaoweilun@pcmail.com.tw - - * po/ChangeLog: Updated - - * configure.in: Added zh_TW to ALL_LINGUAS - -2005-04-02 Richard hughes <richard@hughsie.com> - - * hald/linux2/addons/addon-usb-csr: Fix a problem where - the capability was being added before the charge_level key - way set, causing programs watching for the "new capability" - to not be able to query the key until it was restarted. - -2005-03-30 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-usb-pda.fdi: Match for info. - capabilities instead of info.bus - -2005-03-30 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-usb-pda.fdi: Update from - Andrei Yurkevich <urruru@ru.ru>; slightly tweaked by me - -2005-03-29 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-usb-pda.fdi: New file to - match all PDA's - right now it only got a single entry - -2005-03-24 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c (filter_func): Stupid bug; checked for ctx-> - device_new_capability, but should check for ctx->device_condition - - * hald/linux2/physdev.c (pci_add): Even more stupid bug; somehow - the hal_util_set_driver were enclosed in an if statement, thus - rendering the next statement conditional (the one that sets - pci.product_id) - -2005-03-23 David Zeuthen <davidz@redhat.com> - - Patch from Sergey Udaltsov <sergey.udaltsov@gmail.com>, slightly - tweaked to be in line with the spec - - * hald/linux2/addons/addon-usb-csr.c: New file - - * fdi/information/10freedesktop/10-wireless-mice.fdi: New file - - * doc/spec/hal-spec.xml.in: Add keyboard_mouse as allowed value for - battery.type - -2005-03-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/physdev.c: Actuall change driver property to be uniform, - e.g. put it in info.linux.driver - -2005-03-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-storage.c (main): Add some extra debugging - to help me with RH bug #151762 - - * hald/linux2/physdev.c: Set <bustype>.linux.driver for all bus devices - - * hald/linux2/classdev.c (net_add): Don't set net.linux.driver, first - of all because it doesn't make sense (drivers don't bind to class - devices, they bind to physical devices), second because the Linux - kernel moved around where the driver symlink is. - -2005-03-21 David Zeuthen <davidz@redhat.com> - - * doc/TODO: Add a small item here - -2005-03-20 David Zeuthen <davidz@redhat.com> - - Teach hal about Firewire devices; tested with both my iPod and - my Powerbook in Target Disk Mode - - * tools/device-manager/Const.py.in: Collapse ieee1394_host - and ieee1394_node into ieee1394 - - * hald/linux2/physdev.c (ieee1394_add): New function - (ieee1394_compute_udi): New function - -2005-03-17 David Zeuthen <davidz@redhat.com> - - * hald/util.c (hal_util_grep_file): Remove some debug spewage - -2005-03-17 Richard hughes <richard@hughsie.com> - - * hald/linux2/apm.c (battery_refresh): - Fix a typo, s/battery.charge_level/battery.charge_level.current - so that matches ACPI (and HAL spec). - - * hald/linux2/addons/addon-hid-ups.c: - Fix a typo, s/battery.is_charging/battery.rechargeable.is_charging - so that matches ACPI (and HAL spec). - -2005-03-17 David Zeuthen <davidz@redhat.com> - - * tools/linux/hal_hotplug.c: We need to look for the - sysfs_mount_path only if we read the ifindex from a network - interface. This safes us from parsing the proc file with every - hotplug event. From Kay Sievers <kay.sievers@vrfy.org>. - -2005-03-16 Kay Sievers <kay.sievers@vrfy.org> - - Replace boolean action type of hotplug event with enum, cause - hotplug actions are not limited to "add" and "remove" events. The - kernel already emits "online", "offline" hotplug events for - hotplugging cpu's. - - * hald/linux2/acpi.c: (acpi_synthesize), - (acpi_generate_add_hotplug_event), - (acpi_generate_remove_hotplug_event): - - * hald/linux2/apm.c: (apm_synthesize_hotplug_events), - (apm_generate_add_hotplug_event), - (apm_generate_remove_hotplug_event): - - * hald/linux2/blockdev.c: - (generate_fakevolume_hotplug_event_add_for_storage_device), - (blockdev_generate_add_hotplug_event), - (blockdev_generate_remove_hotplug_event): - - * hald/linux2/classdev.c: (classdev_generate_add_hotplug_event), - (classdev_generate_remove_hotplug_event): - - * hald/linux2/coldplug.c: (coldplug_synthesize_events), - (coldplug_synthesize_block_event), (coldplug_compute_visit_device): - - * hald/linux2/hotplug.c: (hotplug_event_begin_sysfs), - (hotplug_event_begin_acpi), (hotplug_event_begin_apm), - (hotplug_event_begin_pmu): - - * hald/linux2/hotplug.h: - - * hald/linux2/osspec.c: (hald_helper_data): - - * hald/linux2/physdev.c: (physdev_generate_add_hotplug_event), - (physdev_generate_remove_hotplug_event): - - * hald/linux2/pmu.c: (pmu_synthesize_hotplug_events), - (pmu_generate_add_hotplug_event), - (pmu_generate_remove_hotplug_event): - -2005-03-15 David Zeuthen <davidz@redhat.com> - - * hald/util.c (hal_util_get_string_from_file): Yikes, variable i - needs to be a gint rather than an guint otherwise our for-loop - with i >= 0 will continue with i < 0 (only seen on x86_64 with - gcc4) - - * hald/linux2/classdev.c (serial_add): Also make an unsigned int - an int cf. above comment - -2005-03-15 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/10-usb-card-readers.fdi: Add - device-information for the builtin USB2 card reader in my HP Media - Center x86_64 box - -2005-03-15 David Zeuthen <davidz@redhat.com> - - * doc/TODO (CVSID): Add a few items - -2005-03-15 David Zeuthen <davidz@redhat.com> - - Two patches from Kay Sievers Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux2/physdev.c (usb_add): Such events should not happen, - but better recover from it. :) SEQNUM=0 ACTION=add DEVPATH= - "/devices/pci0000:00/0000:00:1d.7" /usr/libexec/hal.hotplug usb - - * hald/linux2/hotplug.c (hotplug_event_begin_sysfs): While playing - around with hotplug event replay from initramfs, it happens, that - events are generated for devices HAL already knows from its - coldplug run. This leads to a lot of funny double entries in the - device store. :) We should prevent the device addition by hotplug - events if we already have one with the same sysfs-devpath. - -2005-03-12 W. Michael Petullo <mike@flyn.org> - - * hald/linux2/blockdev.c: s/sesame/luks. - - * hald/linux2/coldplug.c: Ensure that device mapper devices are - processed after all other block devices. - -2005-03-13 David Zeuthen <davidz@redhat.com> - - * tools/linux/add_selinux.c (main): Check if selinux is enabled, - cause we still get the removable context on kernels where SELinux - is disabled - -2005-03-12 David Zeuthen <davidz@redhat.com> - - * tools/hal_get_property.c (main): Make this work for strlists - -2005-03-12 David Zeuthen <davidz@redhat.com> - - Bah, I still need to update the spec for all the new stuff; until - then, here's some other new stuff - one very relevant use for this - is that we can key off whether a system can ACPI S3 by e.g. looking - at the new smbios.* properties on computer (so distros can maintain - a whitelist) - another interesting one is system.formfactor that - e.g. Nautilus can use to select the right icon for Computer - - * hald/linux2/probing/probe-smbios.c: New file; invoke dmidecode - and extract useful properties - - * hald/linux2/probing/Makefile.am: Add build rules for new prober - hald-probe-smbios - - * hald/linux2/osspec.c (computer_probing_helper_done): New function - (computer_probing_pcbios_helper_done): New function - (osspec_probe): Do the hald-probe-smbios if system supports ACPI or - APM; add note to do something similar for PowerMac's etc. - -2005-03-11 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-volume.c (main): Patch from Kay - Sievers <kay.sievers@vrfy.org> I need the following to make linux - raid volumes working again. I have a test disk here, that does not - work with the new HAL. - -2005-03-11 Kay Sievers <kay.sievers@vrfy.org> - - Add all the ATA raid signatures which are supported in the dmraid - library. volume_id will just recognize the raid signatures and set - the usage to raid, to prevent raid members to show up as mountable - volumes. Any detailed informatiuon about the raid set must be - queried with the original lib. - - * volume_id/Makefile.am: - - * volume_id/highpoint.c: (volume_id_probe_highpoint_37x_raid), - (volume_id_probe_highpoint_45x_raid): - - * volume_id/highpoint.h: - - * volume_id/isw_raid.c: (volume_id_probe_intel_software_raid): - - * volume_id/isw_raid.h: - - * volume_id/linux_raid.c: (volume_id_probe_linux_raid): - - * volume_id/logging.h: - - * volume_id/lsi_raid.c: (volume_id_probe_lsi_mega_raid): - - * volume_id/lsi_raid.h: - - * volume_id/ntfs.c: (volume_id_probe_ntfs): - - * volume_id/nvidia_raid.c: (volume_id_probe_nvidia_raid): - - * volume_id/nvidia_raid.h: - - * volume_id/promise_raid.c: - (volume_id_probe_promise_fasttrack_raid): - - * volume_id/promise_raid.h: - - * volume_id/silicon_raid.c: (volume_id_probe_silicon_medley_raid): - - * volume_id/silicon_raid.h: - - * volume_id/via_raid.c: (volume_id_probe_via_raid): - - * volume_id/via_raid.h: - - * volume_id/volume_id.c: (volume_id_probe_all): - - * volume_id/volume_id.h: Version 42. - -2005-03-11 Kay Sievers <kay.sievers@vrfy.org> - - * volume_id/Makefile.am: add minix probing code - - * volume_id/luks.c: - - * volume_id/minix.c: New file. - - * volume_id/minix.h: New file. - - * volume_id/util.c: (volume_id_set_unicode16), - (volume_id_set_label_unicode16): Export unicode converter. - - * volume_id/util.h: Export unicode converter. - - * volume_id/volume_id.c: (volume_id_probe_all): Add minix. - - * volume_id/volume_id.h: Version 41. - -2005-03-10 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (battery_refresh_poll): Also set property - battery.charge_level.rate - (acpi_poll): Make the update atomic - - * doc/spec/hal-spec.xml.in: Update for battery.charge_level.rate - -2005-03-10 David Zeuthen <davidz@redhat.com> - - Bah, so it turns out that crappy BIOS'es and what-have-you gets really - upset of hald, every five seconds, accessing the state file three - times and the info file one time (in /proc/acpi/battery/BAT%d) - - https://www.redhat.com/archives/fedora-devel-list/2005-March/msg00704.html - - So, off to read the battstat applet source - fix this up so we - only access a single file every 30 seconds; just like battstat applet. - - I really hate hardware. - - * hald/linux2/acpi.c (ACPI_POLL_INTERVAL): Only poll every 30 seconds - (battery_refresh_poll): New function - (battery_refresh): Call battery_refresh_poll - (acpi_poll): Call battery_refresh_poll instead of acpi_rescan_device - - * hald/util.c (hal_util_grep_file): Fix this so the last read buffer - is cached for reuse - -2005-03-09 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-acpi.c (main): Handle /proc/acpi/event - as a file, not a socket. Now we can run without acpid :-). Reported - by Bill Nottingham. - -2005-03-07 David Zeuthen <davidz@redhat.com> - - Release 0.5.0 - - * NEWS: Update for release - -2005-03-07 David Zeuthen <davidz@redhat.com> - - * hald/hald_test.c (main): Back out libhal testing code for now. - (check_properties): We've changed the semantics of hal_device_ - property_strlist_add so change test suite accordingly - - * doc/TODO: Add note about extending test suite coverage - -2005-03-07 David Zeuthen <davidz@redhat.com> - - * doc/TODO: Forgot one important TODO about finishing the - volume_id library (pretty please Kay :-) - -2005-03-07 David Zeuthen <davidz@redhat.com> - - * doc/TODO: Updated this to reflect reality - - * hald/linux2/pmu.c (battery_refresh): Pass reuse=FALSE - (ac_adapter_refresh): Pass reuse=FALSE - - * hald/linux2/classdev.c (sound_add): pass reuse=FALSE - - * hald/linux2/acpi.c: Poll every five secs instead of every two secs - as this actually is a very expensive operation - someone needs to - optimize hald/util.c:hal_util_grep_file before we can change this - - see the TODO in that function - (battery_refresh): Use the hal_util_grep_discard_existing_data() since - we are passing reuse=TRUE. Minimize amount of reads. - (fan_refresh): Don't set processor.number here (!) - - * hald/util.c (hal_util_grep_discard_existing_data): New function to - purge "reused" data - (hal_util_grep_file): Take the reuse parameter - (hal_util_grep_string_elem_from_file): Take and pass reuse param - (hal_util_grep_int_elem_from_file): Take and pass reuse param - (hal_util_set_string_elem_from_file): Take and pass reuse param - (hal_util_set_int_elem_from_file): Take and pass reuse param - (hal_util_set_bool_elem_from_file): Take and pass reuse param - - * hald/util.h: Fixup prototypes for functions above and add prototype - for hal_util_grep_discard_existing_data - -2005-03-04 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (ACPI_POLL_INTERVAL): Change this to every - two secs instead of every ten secs - -2005-03-04 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c (blockdev_get_luks_uuid): Only sleep - the 0.5s if we are not initialising - (hotplug_event_begin_add_blockdev): Don't leak the HalDevice object - -2005-03-02 W. Michael Petullo <mike@flyn.org> - - * hald/linux2/blockdev.c: Add ability to identify volumes in - /dev/mapper as the counterpart to a LUKS+encrypted device. - -2005-03-04 Kay Sievers <kay.sievers@vrfy.org> - - * volume_id/luks.c: (volume_id_probe_luks): Remove unneeded stuff. - - * volume_id/volume_id.h: Version v37. - -2005-03-02 W. Michael Petullo <mike@flyn.org> - - * volume_id/luks.c: (volume_id_probe_luks) Use new - UUID_DCE_UNPARSED format for volume_id_set_uuid call. - - * volume_id/util.c: (volume_id_set_uuid) Add UUID_DCE_UNPARSED - format. - - * volume_id/util.h: Add UUID_DCE_UNPARSED format. - - * volume_id/volume_id.c: Only #include "luks.h" once. - -2005-03-03 David Zeuthen <david@fubar.dk> - - * hald/linux2/classdev.c (serial_add): New function (note the TODO :-) - (serial_compute_udi): New function - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (battery_refresh): Remove .last_full, not .maximum - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Change this to remove the property - battery.charge_level.maximum and introduce battery.charge_level.design - and battery.charge_level.last_full instead - - * hald/linux2/addons/addon-hid-ups.c (ups_get_static): Update code - to use new the new properties - - * hald/linux2/pmu.c (battery_refresh): Update code to use new the - new properties - - * hald/linux2/apm.c (battery_refresh): Update code to use new the - new properties - - * hald/linux2/acpi.c (battery_refresh): Update code to use new the - new properties - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (acpi_poll): New function - (acpi_synthesize_hotplug_events): Setup timeout every ten seconds to - poll batteries (since some ACPI implementations don't report back when - the battery charge level changes) - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/addons/addon-acpi.c (main): Do call Rescan() when we - get a battery event - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/acpi.c (processor_refresh): s/system.processor/processor/ - -2005-03-02 Richard Hughes <richard@hughsie.com> - - * hald/linux2/acpi.c (processor_refresh, fan_refresh): New - functions to handle additional ACPI devices. - - * hald/linux2/acpi.c (acpi_synthesize_hotplug_events): Added - processor and fan handlers. - -2005-03-02 David Zeuthen <david@fubar.dk> - - * hald/linux2/classdev.c (sound_add): Rename alsa.id to alsa.card_id; - add alsa.device_id; fixup info.product to be more useful - - * doc/spec/hal-spec.xml.in: Update for alsa.* properties - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c (filter_func): Remove foo[012] messages - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/DeviceManager.py: - (DeviceManager.remove_device_signal_recv): Do add PropertyModified - though - -2005-03-02 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec.xml.in: Removed all the 'system.' - prefixes to the ACPI and PMU objects, they serve no purpose - other to confuse people. - - * hald/linux2/acpi.c (ac_adapter_refresh, button_refresh): - Removed 'system.' prefix. - - * hald/linux2/pmu.c (ac_adapter_refresh): Removed - 'system.' prefix. - - * hald/util.c: Updated comment regarding 'system.' - -2005-03-02 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/DeviceManager.py: Move some things around - only to discover that D-BUS python bindings need fixing to actually - push signals we subscribe to without giving the path... - - * tools/lshal.c (device_condition): Fix this function so it works - after the DeviceCondition format changes earlier - - * libhal/libhal.h: Export prototype for libhal_device_emit_condition - - * libhal/libhal.c (libhal_device_emit_condition): New function - - * hald/linux2/addons/addon-storage.c (main): Fix that we should - be verbose - - * hald/linux2/addons/addon-acpi.c (read_line): Rewrite this - to not malloc all over the place - (main): Try two places for ACPI events. Rework parsing of events - and send out DeviceConditions where appropriate - - * hald/hald_dbus.c (device_emit_condition): New function - (hald_dbus_filter_function): Handle EmitCondition - -2005-03-01 Richard Hughes <richard@hughsie.com> - - * hald/linux2/addons/addon-acpi.c (main): Call - libhal_device_rescan for each ACPI event. - -2005-02-28 Richard Hughes <richard@hughsie.com> - - * doc/spec/hal-spec.xml.in: Added ALSA namespace - - * hald/linux2/classdev.c (sound_add, sound_compute_udi): New - functions to handle ALSA devices. - - * ChangeLog: Updated my email address in this file. - -2005-03-01 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (foreach_device_by_capability): Fixup this - function to work with the new D-BUS API - (device_lock): Be consistent with new D-BUS naming, e.g. use - info.locked.dbus_name instead of info.lock.dbus_service - (device_unlock): -do- - (service_deleted): Use NameOwnerChanged instead of NameLost as - the latter only goes to the service who's lost the name - (hald_dbus_filter_function): -do- - (hald_dbus_init): Subscribe to NameOwnerChanged rather than - NameLost - - * examples/locking.py: Fixup to use get_unique_name() instead of - get_base_service() - -2005-02-28 David Zeuthen <davidz@redhat.com> - - * hald/linux2/ids.c: Added TOS6200, TOS6202, TOS6207 entries from - Richard Hughes <richard@hughsie.com> - he got them from - http://homel.vsb.cz/~pop036/files/acpi_toshiba.c - -2005-02-28 David Zeuthen <davidz@redhat.com> - - * tools/linux/hal_hotplug.c (main): Use "hal.hotplug" instead of - "hal.hotplug2" for syslog. Don't write a message for every entry. - - * hald/linux2/probing/probe-volume.c (main): Only probe for fs on - optical disc if there is indeed data on the disc - - * hald/linux2/probing/probe-storage.c (main): Fix up debug outputs; - don't read fs on cdrom's, only check if there is a disc. Don't use - O_NONBLOCK on non-cdrom's. - - * hald/linux2/classdev.c (add_classdev_probing_helper_done): Handle - that HalDevice object is already unreffed - - * hald/linux2/blockdev.c (add_blockdev_probing_helper_done): Handle - that HalDevice object is already unreffed - (block_rescan_storage_done): -do- - - * hald/util.h (struct HalHelperData_s): Add already_issued_kill field - - * hald/util.c (hal_util_terminate_helper): Don't kill helpers twice - and don't callback more than once - (helper_child_timeout): Don't callback more than once - (helper_device_object_finalized): Finalized; being called when - a HalDevice object is finalized; use this as hint to terminate - the helper - (helper_child_exited): Remove the weak reference to the HalDevice - object - (hal_util_helper_invoke): Create a weak reference to the HalDevice - object so we get a callback when it's finalized - - * hald/hald.c (main): Bah, put LIBEXECDIR at the end so we get - the local helpers when running via run-hald.sh - -2005-02-27 David Zeuthen <davidz@redhat.com> - - More fun with valgrind :-) - - * hald/linux2/classdev.c: Fix a bunch of leaks by calling - g_object_unref for HalDevice objects that goes away - - * hald/linux2/physdev.c: Fix a bunch of leaks by calling - g_object_unref for HalDevice objects that goes away - - * hald/linux2/hotplug.c (hotplug_event_begin_sysfs): Don't - leak parent_path - - * hald/linux2/coldplug.c (free_hash_sys_to_class_in_dev): New - function; to free values of the sysfs_to_class_in_devices_map - hashtable - (coldplug_synthesize_events): Fix memory leaks - - * hald/linux2/blockdev.c: Fix a bunch of leaks by calling - g_object_unref for HalDevice objects that goes away - - * hald/property.c (hal_property_set_string): Don't leak old value - - * hald/hald_dbus.c (sender_has_privileges): Fixup error handling - (device_property_atomic_update_end): Fix memory leak - - * hald/hald.h: Add HALD_MEMLEAK_DBG but uncomment it by default - - * hald/hald.c (my_shutdown): New function, defined only if - HALD_MEMLEAK_DBG is set; should prolly be invoked by handler - registered with atexit(3); some day in the future - (osspec_probe_done): Add appropriate timeout if HALD_MEMLEAK_DBG - is et - - * hald/device.c (hal_device_finalize, hal_device_new): Recognize - the HALD_MEMLEAK_DBG define and maintain dbg_hal_device_object_delta - accordingly. - (hal_device_set_udi): Don't leak old udi - - * hald/valgrind-hald.sh: New file - useful for finding memory - leaks - -2005-02-27 David Zeuthen <davidz@redhat.com> - - Played around with Valgrind on this slow Sunday :-). Before this - patch options 'valgrind --show-reachable=yes --leak-check=yes - --tool=memcheck ./hald --daemon=no --retain-privileges' - remember - to set up environment variables as in run-hald.sh. Some of the - output: - - 497664 bytes in 486 blocks are still reachable in loss record 33 of 35 - at 0x1B908984: malloc (vg_replace_malloc.c:131) - by 0x4DE983: (within /usr/lib/libexpat.so.0.5.0) - by 0x4E1729: XML_ParserCreate_MM (in /usr/lib/libexpat.so.0.5.0) - by 0x4E17C1: XML_ParserCreate (in /usr/lib/libexpat.so.0.5.0) - - 1003104 bytes in 972 blocks are still reachable in loss record 34 of 35 - at 0x1B908984: malloc (vg_replace_malloc.c:131) - by 0x4DD4A2: (within /usr/lib/libexpat.so.0.5.0) - by 0x4DD5F1: (within /usr/lib/libexpat.so.0.5.0) - by 0x4E0596: (within /usr/lib/libexpat.so.0.5.0) - - 2115584 bytes in 486 blocks are still reachable in loss record 35 of 35 - at 0x1B908984: malloc (vg_replace_malloc.c:131) - by 0x4DC64E: XML_GetBuffer (in /usr/lib/libexpat.so.0.5.0) - by 0x4DC91E: XML_Parse (in /usr/lib/libexpat.so.0.5.0) - by 0x805093E: scan_fdi_files (device_info.c:1282) - - LEAK SUMMARY: - definitely lost: 20034 bytes in 769 blocks. - possibly lost: 1057 bytes in 21 blocks. - still reachable: 5289701 bytes in 19813 blocks. - suppressed: 0 bytes in 0 blocks. - - plus some illegal memory access errors. After this patch - - 130613 bytes in 1 blocks are still reachable in loss record 23 of 24 - at 0x1B908984: malloc (vg_replace_malloc.c:131) - by 0x80610E2: ids_init (ids.c:514) - by 0x8056A15: osspec_init (osspec.c:337) - by 0x8051DF8: main (hald.c:591) - - 322003 bytes in 1 blocks are still reachable in loss record 24 of 24 - at 0x1B908984: malloc (vg_replace_malloc.c:131) - by 0x806101D: ids_init (ids.c:292) - by 0x8056A15: osspec_init (osspec.c:337) - by 0x8051DF8: main (hald.c:591) - - LEAK SUMMARY: - definitely lost: 20884 bytes in 774 blocks. - possibly lost: 800 bytes in 20 blocks. - still reachable: 643659 bytes in 4499 blocks. - - which gives us a net saving of approx 4.5MB. Sweet. (yes, this - ChangeLog is somewhat a weblog for me these days) - - * hald/device_info.c (process_fdi_file): Fix up error handling; - remember to free the XML_Parser context which fixes a 4.5MB memory - leak on my system. - - * hald/linux2/coldplug.c (coldplug_synthesize_events): Free strings - to seal a leak - - * hald/util.h: Export hal_util_hexdump prototype - - * hald/util.c (hal_util_grep_string_elem_from_file): Yikes, make - this a static buffer since we're returning a pointer to this - variable. - (hal_util_hexdump): New convenience function - - * hald/hald_dbus.c (device_add_capability): Fixup this function to - actually work now that info.capabilities is a strlist - - * hald/hald.c (parent_wait_for_child): Fix unneeded char buf[1]. - -2005-02-26 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/10-storage-policy.fdi: Fix syntax error - -2005-02-26 David Zeuthen <davidz@redhat.com> - - * fdi/policy/10osvendor/10-storage-policy.fdi: Use mount point - 'ipod' for iPod's (works better with gtkpod :-). Apply patch from - Daniel Serpell <daniel.serpell@aplik.cl> that I got via Sjoerd - Simons <sjoerd@luon.net> : The FDI rule that detects USB ZIP drive - and names the mountpoint is incorrectly write, so partitioned - ZIP's are named generically. The attached patch fixes the - test (lookup in the parent of the partition). - - * fdi/information/10freedesktop/10-usb-music-players.fdi: Rename - portable_audio_player.database_type to p_a_p.type - -2005-02-26 David Zeuthen <davidz@redhat.com> - - * fdi/information/10freedesktop/Makefile.am (dist_fdi_DATA): Remember - to dist new files - -2005-02-26 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.h: Add new LibHalDriveType entries - for ZIP, JAZ and FLASH_KEY - the latter represents a USB memory stick. - - * libhal-storage/libhal-storage.c (my_strvdup): New function - (libhal_drive_from_udi): Fixup new detection of cameras and - musicplayers. Also handle storage.drive_type zip, jaz and flash_key - and convert to LibHalDriveType as appropriate - - * libhal/libhal.h: Fixup type for LibHalDeviceCondition - - * libhal/libhal.c (filter_func): Fix up condition handling now that - it's a name and details string rather than a whole DBusMessage trailing - off. Fix up a bunch of free's due to new memory ownership semantics - in the new D-BUS - (libhal_device_query_capability): Handle this now that capabilities - is a strlist - - * hald/device.c (hal_device_merge): info.capabilities is now a strlist - (hal_device_add_capability): -do- - (hal_device_has_capability): -do- - (hal_device_property_strlist_add): Return whether element was actually - added - - * fdi/information/10freedesktop/10-usb-zip-drives.fdi: New file - - * fdi/information/10freedesktop/10-usb-music-players.fdi: New file - - * fdi/information/10freedesktop/10-usb-card-readers.fdi: New file - -2005-02-25 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-pc-floppy.c: New file; test for floppy - drive - - * hald/linux2/probing/Makefile.am: Add build rules for hald-probe- - pc-floppy - - * hald/linux2/blockdev.c (blockdev_callouts_preprobing_storage_done): - Do a special probe to see if the PC Floppy Drive is actually there - - since many IDE laptops got the controller chip but not the drive. - (hotplug_event_begin_add_blockdev): Learn how to spell; floppy not - floopy :-/ - -2005-02-25 David Zeuthen <davidz@redhat.com> - - Get IDE Zip drives and PC Style floppy drives to work. - - * hald/linux2/blockdev.c (add_blockdev_probing_helper_done): Add a - note that helper_data may be NULL - (blockdev_callouts_preprobing_storage_done): Don't probe non- - partitioned media where we cannot check for media - (hotplug_event_begin_add_blockdev): Fix up for PC floppy drives. Fix - stoopid bug where == 0 was missing for strcmp (media, "floppy). Doh - - * fdi/policy/10osvendor/10-storage-policy.fdi: Remove selinux - mount options here because it is handled elsewhere now - -2005-02-25 Kay Sievers <kay.sievers@vrfy.org> - - * volume_id/logging.h: Move HAL specific logging to this file. - - * volume_id/luks.c: (volume_id_probe_luks): Remove unused stuff. - - * volume_id/luks.h: Fix typo and copyright. - - * volume_id/reiserfs.c: (volume_id_probe_reiserfs): Support reiser4. - - * volume_id/volume_id.c: Include luks.h. - - * volume_id/volume_id.h: Version 36. Remove HAL specific logging. - -2005-02-25 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (hald_dbus_filter_function): Patch from Ray Strode - <rstrode@redhat.com> to catch up with D-BUS changes - -2005-02-24 David Zeuthen <davidz@redhat.com> - - * configure.in: Add back selinux detection; default to auto - - * tools/linux/add_selinux.c: New file, add selinux attributes the - Right Way(tm) instead of hardcoding the context (RH bug 135765) - - * tools/linux/Makefile.am: If HAVE_SELINUX is set, add build rules - for hald-add-selinux-mount-option - - * fdi/policy/10osvendor/20-storage-add-selinux.fdi: New file, invoke - hald-add-selinux-mount-option (only used if HAVE_SELINUX is 1) - - * tools/linux/hal_hotplug_map.c: Removed (forgot to remove it earlier) - -2005-02-24 David Zeuthen <davidz@redhat.com> - - * hald/hald.c (parent_wait_for_child): Fixup accidental message being - printed - -2005-02-24 David Zeuthen <davidz@redhat.com> - - Finally got around to implementing the bit that made the parent wait - for device probing when daemonizing. Hope that it's right this time - cause the last time it resulted in breaking peoples pkg updates :-): - - https://www.redhat.com/archives/fedora-test-list/2004-August/msg00785.html - - * hald/linux2/osspec.c (hotplug_queue_now_empty): New function; call - osspec_probe_done if we're initialising and don't do anything else - - * hald/linux2/hotplug.h: Export prototype for hotplug_queue_now_empty - - * hald/linux2/hotplug.c (hotplug_event_process_queue): Call the - function hotplug_queue_now_empty when we are out of hotplug (or - coldplug :-) events to process. - - * hald/hald.c (handle_sigchld): New function - (parent_wait_for_child): New function - (main): Wait for child to finish device probing when daemonizing - -2005-02-24 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c (osspec_shutdown): Remove this function - - * hald/dummy/osspec.c (computer_callouts_add_done): New function - (osspec_probe): Fixup to use new di_search_and_merge stuff - - * hald/util.h: Export prototype for hal_util_kill_all_helpers - - * hald/util.c (helper_child_exited): Remove from running_helpers list - (hal_util_helper_invoke): Add to running_helpers list - (hal_util_kill_all_helpers): New function (uses running_helpers list) - - * hald/osspec.h: Don't export osspec_shutdown and osspec_shutdown_done - - * hald/haldaemon.in: No need to add @LIBEXECDIR@ to PATH now that - hald does that itself - - * hald/hald.c (main): Add PACKAGE_LIBEXEC_DIR to out path. Fix a fd - leak also (pointed out by Kay Sievers). - (sigterm_iochn_data): Kill all pending helpers and exit - - * hald/device_info.c (di_search_and_merge): Fixup some stupid typos - - * hald/Makefile.am (INCLUDES): Include PACKAGE_LIBEXEC_DIR - -2005-02-24 David Zeuthen <davidz@redhat.com> - - * fdi/README: Change so this fits better with current packaging - policies; see this message and thread at - http://lists.freedesktop.org/archives/hal/2005-February/002217.html - - * fdi/preprobe/*/Makefile.am, fdi/information/*/Makefile.am, - fdi/policy/*/Makefile.am: Fix up Makefile.am to install to the - correct location. Also add 10-ide-drives.fdi to - - * fdi/preprobe/10osvendor/Makefile.am (dist_fdi_DATA): Add - 10-ide-drives.fdi - - * hald/device_info.c (di_search_and_merge): Use new search - logic as outlined in fdi/README - -2005-02-24 David Zeuthen <davidz@redhat.com> - - * tools/Makefile.am: Don't install the 50-fstab-sync.hal symlink - as we do callouts in a different way now! - - * hald/haldaemon.in: Until privilege separation is complete, run - with --retain-privileges. Also export LIBEXECDIR as our addons - and probers will be installed there - -2005-02-24 David Zeuthen <davidz@redhat.com> - - Fix a few things to get 'make distcheck' to succeed. - -2005-02-24 David Zeuthen <davidz@redhat.com> - - * tools/linux/hal_hotplug_map.c: Removed - - * tools/linux/Makefile.am: Remove build rules for hal-hotplug-map - - * hald/linux2/physdev.c: Callouts now take two userdata pointers - (physdev_callouts_preprobing_done): New function - (hotplug_event_begin_add_physdev): Run preprobing callouts - just before real probing (flow continues in the above function) - - * hald/linux2/osspec.c: Callouts now take two userdata pointers - - * hald/linux2/classdev.c: Callouts now take two userdata pointers - (classdev_callouts_preprobing_done): New function - (hotplug_event_begin_add_classdev): Run preprobing callouts - just before real probing (flow continues in the above function) - - * hald/linux2/blockdev.c: Callouts now take two userdata pointers - (blockdev_callouts_preprobing_storage_done): New function - (blockdev_callouts_preprobing_volume_done): New function - (hotplug_event_begin_add_blockdev): Run preprobing callouts just - before real probing (flow continues in the two above - functions) - - * hald/linux2/apm.c: Callouts now take two userdata pointers - - * hald/linux2/acpi.c: Callouts now take two userdata pointers - - * hald/util.h: Fix up prototypes for callouts to take two userdata - pointers. Add hal_util_callout_device_preprobe prototype. - - * hald/util.c: Change callouts to take two userdata pointers - (hal_util_callout_device_preprobe): New function - - * hald/hald.c (main): Don't call hald_read_conf_file() as this - is now gone. - - * hald/device_info.h (di_search_and_merge): Tweak prototype for - di_search_and_merge to take a DeviceInfoType parameter - - * hald/device_info.c (di_search_and_merge): Lookup new environment - variables - - * hald/run-hald.sh: Use new environment variables for specifying - fdi file location - - * hald/debug-hald.sh: Use new environment variables for specifying - fdi file location - - * hald/Makefile.am: Don't link with libselinux and don't install - callout directories - (hald_test_SOURCES): Remove hald_conf.[ch] - (hald_SOURCES): Remove hald_conf.[ch]. - - * configure.in: Add notes about how to tweak the hal tarball for a - particular distribution or OS. Rework the details a bit. Remove the - hotplug_map rules. Remove selinux bits (for now). Rework what fdi - file directory Makefile's to generate. - - * hald/hald.conf: Removed - - * hald/hald_conf.[ch]: Removed - - * fdi/Makefile.am (SUBDIRS): Specificy new subdirs - - * fdi/preprobe: New - - * fdi/preprobe/Makefile.am: New - - * fdi/preprobe/10osvendor: New - - * fdi/preprobe/10osvendor/10-ide-drives.fdi: New - - * fdi/preprobe/10osvendor/Makefile.am: New - - * fdi/preprobe/20thirdparty: New - - * fdi/preprobe/20thirdparty/Makefile.am: New - - * fdi/preprobe/30user: New - - * fdi/preprobe/30user/Makefile.am: New - - * fdi/information: New - - * fdi/information/Makefile.am: New - - * fdi/information/10freedesktop: New - - * fdi/information/10freedesktop/Makefile.am: New - - * fdi/information/20thirdparty: New - - * fdi/information/20thirdparty/Makefile.am: New - - * fdi/information/30user: New - - * fdi/information/30user/Makefile.am: New - - * fdi/policy: New - - * fdi/policy/Makefile.am: New - - * fdi/policy/10osvendor: New - - * fdi/policy/10osvendor/10-storage-policy.fdi: New - - * fdi/policy/10osvendor/10-power-mgmt-policy.fdi: New - - * fdi/policy/10osvendor/90-fstab-sync.fdi: New - - * fdi/policy/10osvendor/Makefile.am: New - - * fdi/policy/20thirdparty: New - - * fdi/policy/20thirdparty/Makefile.am: New - - * fdi/policy/30user: New - - * fdi/policy/30user/Makefile.am: New - - * fdi/README: New file to describe the new directory structure - -2005-02-23 David Zeuthen <davidz@redhat.com> - - * hald/linux2/blockdev.c (force_unmount): Change to use new prototype - for device_send_signal_condition - - * hald/hald_dbus.h: Adjust prototype for device_send_signal_condition - - * hald/hald_dbus.c (device_send_signal_condition): Change a Condition - to not take an arbitrary message byt just a (name, details) tupple - - * hald/debug-hald.sh: Add some helpful instructions - -2005-02-23 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c (libhal_ctx_init): Add a small fix here wrt. - error handling - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * fdi/README: New file describing the various uses of device - information files. - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c: Use kernel events layer instead of D_NOTIFY - on /etc/mtab. Yay! - - * hald/linux2/blockdev.c (update_mount_point): Use /proc/mounts as - we're now using the kernel events layer to get mount/umount signals - rather than waiting for /etc/mtab to be changed. Otherwise we've - would have a race with mount(1). Add some usable debug information. - (blockdev_mount_status_changed): Renamed from blockdev_mtab_changed. - - * hald/hald_dbus.c (device_send_signal_property_modified): Yikes, - append to the right iterator; fixes segfault - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c: Patch from John (J5) Palmieri - <johnp@redhat.com>. Most libhal methods now require an additional - DBusError pointer to be passed into the method. Sometimes errors - are expected in a world where device can be added or removed at - any moment. These errors can be handled based on the return value - of the method and do not need the extra verbosity that the dbus - errors provide. Attached is a patch which allows a NULL value to - be passed to all methods which read HAL keys indicating that a - dbus error is not needed thereby freeing the programmer from - having to initialize and free dbus error objects when they are not - needed. - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/classdev.c (usbclass_add): Also set - printer.physical_device - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-printer.c: New file - - * hald/linux2/probing/Makefile.am: Add build rules for - hald-probe-printer - - * hald/linux2/classdev.c (usbclass_add, usbclass_get_prober) - (usbclass_compute_udi): Add support for USB printers - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/DeviceManager.py: - (DeviceManager.device_changed): Make this work again after the D-BUS - updates - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (device_property_atomic_update_end): Send changes - as an array to ensure that PropertyModified signal always has two - parameters - (device_send_signal_property_modified): -do- - - * libhal/libhal.c (filter_func): Fix up to receive PropertyModified - in the new format - -2005-02-22 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c (osspec_init): Small fix for the kobject_uevent - stuff - - * hald/hald_dbus.c (manager_find_device_by_capability): Patch from - John (J5) Palmieri <johnp@redhat.com> Attached is a simple patch - to fix the signature of the array container we are opening. - -2005-02-16 Kay Sievers <kay.sievers@vrfy.org> - - Update volume_id to version 34. Add support for hpfs, cramfs and romfs. - some trivial cleanups. - - * volume_id/Makefile.am: - - * volume_id/cramfs.c: (volume_id_probe_cramfs): - - * volume_id/cramfs.h: - - * volume_id/dasd.c: (volume_id_probe_dasd): - - * volume_id/dasd.h: - - * volume_id/ext.c: (volume_id_probe_ext): - - * volume_id/fat.c: (volume_id_probe_vfat): - - * volume_id/hfs.c: (volume_id_probe_hfs_hfsplus): - - * volume_id/highpoint.c: (volume_id_probe_highpoint_ataraid): - - * volume_id/hpfs.c: (volume_id_probe_hpfs): - - * volume_id/hpfs.h: - - * volume_id/iso9660.c: (volume_id_probe_iso9660): - - * volume_id/jfs.c: (volume_id_probe_jfs): - - * volume_id/linux_raid.c: (volume_id_probe_linux_raid): - - * volume_id/linux_swap.c: (volume_id_probe_linux_swap): - - * volume_id/lvm.c: (volume_id_probe_lvm1), (volume_id_probe_lvm2): - - * volume_id/mac.c: (volume_id_probe_mac_partition_map): - - * volume_id/msdos.c: (volume_id_probe_msdos_part_table): - - * volume_id/ntfs.c: (volume_id_probe_ntfs): - - * volume_id/reiserfs.c: (volume_id_probe_reiserfs): - - * volume_id/romfs.c: (volume_id_probe_romfs): - - * volume_id/romfs.h: - - * volume_id/sysv.c: (volume_id_probe_sysv): - - * volume_id/sysv.h: - - * volume_id/udf.c: (volume_id_probe_udf): - - * volume_id/ufs.c: (volume_id_probe_ufs): - - * volume_id/util.h: - - * volume_id/volume_id.c: (volume_id_probe_all): - - * volume_id/volume_id.h: - - * volume_id/xfs.c: (volume_id_probe_xfs): - - -2005-02-16 David Zeuthen <davidz@redhat.com> - - * volume_id/luks.[ch]: New files (forgot to commit before) - - * hald/linux2/probing/shared.h: Redefine logging a bit - - * hald/linux2/probing/probe-volume.c: Use new shared.h logging; - implement volume_id_log and drive_id_log functions - - * hald/linux2/probing/probe-storage.c: Use new shared.h logging; - implement volume_id_log and drive_id_log functions - - * hald/linux2/addons/addon-storage.c: Use new shared.h logging - - * drive_id/logging.h: Use drive_id_log function - - * drive_id/drive_id.h (drive_id_log): Add drive_id_log prototype - -2005-02-16 David Zeuthen <davidz@redhat.com> - - Fix up more sloppy errors incuded from patches that I should - have reviewed more carefully :-/ - - * libhal-storage/libhal-storage.c: Match against - LIBHAL_PROPERTY_TYPE_*, not DBUS_TYPE_* - (libhal_drive_policy_default_use_managed_keyword): - (libhal_drive_policy_default_get_mount_root): - (libhal_drive_policy_default_use_managed_keyword): - (libhal_drive_policy_default_get_managed_keyword_primary): - (libhal_drive_policy_default_get_managed_keyword_secondary): - (libhal_drive_policy_get_mount_options): - (libhal_volume_policy_get_mount_options): Yikes, Yikes, rename - "/org/freedesktop/LibHal" back to "/org/freedesktop/Hal" - - * libhal/libhal.c (libhal_property_fill_value_from_variant): p->type - wasn't being assigned :-/. Also, DBUS_TYPE_BOOLEAN wasn't handled. - - * hald/hald_test_libhal.c (check_libhal): Fix this test - -2005-02-16 David Zeuthen <davidz@redhat.com> - - Patch from W. Michael Petullo <mike@flyn.org>. Attached you should - find a patch that begins to add LUKS support to hald. This should - eventually provide an easy means to mount encrypted filesystems. - Currently, hald only detects that a disk contains a LUKS header - and sets some relevant parameters. - - * volume_id/volume_id.h: Add VOLUME_ID_CRYPTO to volume_id_usage enum - - * volume_id/util.c (usage_to_string): Add LUKS string - - * volume_id/volume_id.c (volume_id_probe_all): Also test for LUKS magic - - * volume_id/Makefile.am (libvolume_id_la_SOURCES): Include luks.[ch] - - * hald/linux2/probing/probe-volume.c (set_volume_id_values): Supprt - the VOLUME_ID_CRYPTO type - -2005-02-16 David Zeuthen <davidz@redhat.com> - - Patch from John (J5) Palmieri <johnp@redhat.com>. - - * libhal-storage/libhal-storage.[ch]: Rename all functions, symbols - and defines from hal_storage to libhal_storage. - - * tools/fstab-sync.c: Update for changes in libhal-storage - -2005-02-16 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/DeviceManager.py: - (DeviceManager.update_tab_advanced): Make this work for string lists - - * tools/lshal.c (main): Various cleanups - - * libhal/libhal.c (libhal_property_fill_value_from_variant): Make - this one static. Make sure to recurse into string array otherwise - it won't work at all - (libhal_get_string_array_from_iter): Make this static. Take - num_elems pointer - (libhal_property_set_get_num_elems): New function - (libhal_get_all_devices): Pass num_devices to - libhal_get_string_array_from_iter - (libhal_ctx_shutdown): Remove match and filter function - (libhal_ctx_free): Implement this one; free our context - - * libhal/libhal.h: Add prototype for libhal_property_set_get_num_elems - - * hald/hald_test_libhal.c (check_libhal): Add tests for the property - set functions as they were failing (see changes above) - - * hald/Makefile.am (hald_test_SOURCES): Remove callout.[ch] as they - are now gone - -2005-02-14 David Zeuthen <davidz@redhat.com> - - * configure.in: Require dbus >= 0.30 - -2005-02-11 John (J5) Palmieri <johnp@redhat.com> - - * hald/device.c, hald/device_info.c, hald/property.c, hald/property.h, - tools/hal_set_property.c, tools/hal_get_property.c: - s/HAL_PROPERTY_TYPE_NIL/HAL_PROPERTY_TYPE_INVALID - - * hald/hald_dbus.c: ported to new dbus-0.30 API - (foreach_property_append): implemented real string lists - and got rid of the \tval\tval\tval\t hack - - * libhal/libhal.c: ported to new dbus-0.30 API - s/HAL_PROPERTY_TYPE_NIL/HAL_PROPERTY_TYPE_INVALID - (libhal_get_string_array_from_iter): new helper function to create - string arrays from dbus arrays - (libhal_property_fill_value_from_variant): new helper function - that fills in properties from variants. Used when getting - a hash of properties from hald - - * libhal/libhal.h: s/HAL_PROPERTY_TYPE_NIL/HAL_PROPERTY_TYPE_INVALID - HAL_PROPERTY_TYPE_INVALID = DBUS_TYPE_INVALID - - * hald/hald_test_libhal.c: ported to new dbus-0.30 API - Added success messages and more detailed failed messages - - * hald/util.c (hal_util_compute_udi): Change all illegal characters - to underscores '_' - - * tools/device-manager/DeviceManager.py - (DeviceManager::__init__, add_device_signal_recv): - change add_signal_receiver calls to add expand_args=False parameter. - (DeviceManager::device_changed, gdl_changed): changed handlers - to conform with the new way we call signal handlers - -2005-02-11 David Zeuthen <davidz@redhat.com> - - * Makefile.am (SUBDIRS): Rearrange order so volume_id and drive_id - is built before anything else. - -2005-02-11 David Zeuthen <davidz@redhat.com> - - With this path, all storage devices should be working just as - well as on the 0.4.x branch. - - In fact, since we're doing things in separate processes hald now - nicely handles my very troublesome USB 6in1 card reader. There's - other improvements too; we handle media with non-partitioned file - systems _a lot nicer_, especially those on PCMCIA card - readers (driven by ide-cs) since we now have logic to discard - hotplug rem/add for those partitions. - - Rock on. - - * libhal/libhal.h: Add prototypes for libhal_device_rescan() - and libhal_device_reprobe() - - * libhal/libhal.c (libhal_device_rescan): New function - (libhal_device_reprobe): New function - - * hald/linux2/probing/probe-volume.c (main): Be able to probe for - volumes on main block devices. Retrieve optical disc properties - if applicable. - - * hald/linux2/probing/probe-storage.c (is_mounted): New function - (main): Add a new option --only-check-for-media which is used on - Rescan() of a storage device. Check for fs on main block device or - a disc in the optical drive. Return code 2 if that is the case. - - * hald/linux2/addons/addon-storage.c (force_unmount): New function - (unmount_childs): New function - (is_mounted): New function - (main): Do lazy unmount, if necessary, when media goes away. Handle - polling on optical drives. - - * hald/linux2/hotplug.h: Add prototype for hotplug_event_reposted() - and hotplug_event_enqueue_at_front(). - - * hald/linux2/hotplug.c (hotplug_event_reposted): New function; - like event_end but without deleting the hotplug event (useful - for reordering events) - (hotplug_event_enqueue_at_front): New function; to insert events - at the front of the queue - - * hald/linux2/blockdev.c: - (generate_fakevolume_hotplug_event_add_for_storage_device): New - function (and what a nice long name :-/) - (add_blockdev_probing_helper_done): Check result from hald-probe- - storage and add a new fakevolume add event if one was detected. - (hotplug_event_begin_add_blockdev): Handle fakevolume add events. - Add some more debug spewage when things fail. - (force_unmount): New function - (hotplug_event_begin_remove_blockdev): Handle fakevolume remove - events; reorder queue to process non-handled volume before - the storage device. Nice. - (block_rescan_storage_done): New function - (blockdev_rescan_device): Actually do something here; a Rescan() - method call on a storage device will induce searching a filesystem - on the main block device - - * hald/hald.c (main): Add new master_slave code but comment it out - for now - - * fdi/20freedesktop/lexar-media-cf-reader.fdi: Fix up - - * fdi/20freedesktop/6in1-card-reader.fdi: Fix up to use new way - of figuring vendor_id/product_id etc. - -2005-02-10 David Zeuthen <davidz@redhat.com> - - * configure.in: From Richard Hughes <richard@hughsie.com> I've - also attached a patch that adds libexec to configure.in - -2005-02-10 David Zeuthen <davidz@redhat.com> - - * volume_id/fat.c (volume_id_probe_vfat): Must have been a typo by Kay, - changed from VOLUME_ID_DISKLABEL to VOLUME_ID_FILESYSTEM. - - * tools/fstab-sync.c (remove_udi): Remember to init the DBusError since - some operations may fail. - (main): Look at $HALD_ACTION for add, remove instead of first - positional parameter $1. - - * hald/linux2/probing/probe-volume.c: New file - - * hald/linux2/probing/probe-storage.c: New file - - * hald/linux2/probing/linux_dvd_rw_utils.[ch]: New files (imported - from hal-0.4.x) - - * hald/linux2/probing/Makefile.am: Add rules for hald-probe-storage - and hald-probe-volume - - * hald/linux2/addons/addon-storage.c: New file - - * hald/linux2/addons/Makefile.am: Add rules for hald-addon-storage - - * hald/linux2/osspec.c (sigio_handler): New function - (sigio_iochn_data): New function - (osspec_init): Set up signal handler for SIGIO and the neccesary - pipes to handle it safely. Set up directory watcher for /etc and - invoke blockdev_mtab_changed whenever that happens - - * hald/linux2/hotplug.c (hotplug_rescan_device): Call blockdev_* - if appropriate - - * hald/linux2/blockdev.h: Add some new prototype for interacting - with hotplug.c (much like what physdev.h and classdev.h) - exported. Also add the prototype for a new function - blockdev_mtab_changed. - - * hald/linux2/blockdev.c: Actually put some code here (the previous - code was just boiler plate). - - * hald/util.h (struct HalHelperData_s): Add boolean already_issued_ - callback - - * hald/util.c (hal_util_get_string_from_file): Truncate whitespace - from string read - (hal_util_terminate_helper): Don't remove the child watcher source, - but set a flag that we already did the callback and helper_child_exited - will reap the child (including removing sources). This helps reap the - zombies I've been seeing. - (helper_child_timeout): -do- - (helper_child_exited): Only do callback if we haven't already done - so. - - * hald/debug-hald.sh: Another nice script for running gdb on hald; - just run this script and invoke the run command from the gdb console. - - * hald/run-hald.sh: Also export ../tools so we can get fstab-sync - going. Set HAL_FDI_SOURCE - - * hald/device_info.c (di_search_and_merge): Respect the env - var HAL_FDI_SOURCE which is useful for development as hald will - read you local .fdi files - - * fdi/90defaultpolicy/storage-policy.fdi: Temporarily add - fstab-sync add/rem callouts (mental note: move to other file - soon); also add the media detection addon - - * fdi/90defaultpolicy/power-mgmt-policy.fdi: New file - - * fdi/90defaultpolicy/Makefile.am (fdi90defaultpolicydir): Add - power-mgmt-policy.fdi - -2005-02-08 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c (get_hal_proc_path): Return hal_proc_path, - not hal_sysfs_path. - -2005-02-08 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c: - (hal_util_get_udevinfo_path): - (hal_util_get_device_file): - (hal_util_set_driver): - (hal_util_find_closest_ancestor): Moved to here from ../util.c - (get_hal_sysfs_path): New function - (get_hal_proc_path): New function - - * hald/linux2/osspec_linux.h: New file; export the functions - mentioned above - -2005-02-08 David Zeuthen <davidz@redhat.com> - - Patch from Sjoerd Simons <sjoerd@luon.net>. - - Since i seem to be in an extreme mood anyway, attached it is a - patch that will make hal always drop permissions to non-root. Also - it removes keeping the net admin capability as it's not being used - anymore. - - I think it's the right way to do things. There should be no reason - to run hald as root ever and forcing it from the start of the - development cycle is a good way of ensuring that :) - - It would also be nice to have the addons that need to start out as - root (like the ups one) drop permission as soon as possible (one - can never be too sure)... Probably a utility function would be - nice for that, but i don't know where to place it (as the addons - and probers live in different dirs) - - Slightly mangled by myself to remove libcap dep and introduce - the --retain-privileges option. - - * configure.in: Don't require libcap - - * hald/Makefile.am (hald_LDADD): Don't link with libcap - - * hald/run-hald.sh: Use new --retain-privileges option since this - is the development runscript - - * hald/hald.c (usage): Remove option --drop-privileges and introduce - new option --retain-privileges - (drop_privileges): Just drop to uid/gid of specified haldaemon user - and group. Don't use libcap anymore. - (main): Enforce new --retain-privileges option since it's useful for - development - -2005-02-08 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c: Do not care about link detection, NM and other - tools are going to do this on their own now. - (link_detection_handle_message): Remove - (netlink_socket_data): Remove - (osspec_init): Don't listen to the netlink socket - - * hald/linux2/classdev.c (net_add): Do not care about link detection - -2005-02-08 David Zeuthen <davidz@redhat.com> - - * hald/linux2/physdev.c (physdev_remove): Don't remove device yet. - (physdev_callouts_add_done): New function - (physdev_callouts_remove_done): New function - (hotplug_event_begin_add_physdev): Do add callouts - (hotplug_event_begin_remove_physdev): Do remove callouts - - * hald/linux2/classdev.c (classdev_remove): Don't remove device yet. - (classdev_callouts_add_done): New function - (classdev_callouts_remove_done): New function - (add_classdev_after_probing): Do add callouts - (hotplug_event_begin_remove_classdev): Do remove callouts - - * hald/linux2/acpi.c (acpi_callouts_remove_done): Yikes, don't remove - from TDL since it's not there. - -2005-02-08 David Zeuthen <davidz@redhat.com> - - * hald/run-hald.sh: Update to include a few more paths - - * hald/linux2/addons/Makefile.am: Add build rules for hald-addon-acpi - - * hald/linux2/addons/addon-acpi.c: New file - - * hald/linux2/pmu.c (pmu_synthesize_hotplug_events): Also look for - computer in the TDL - - * hald/linux2/osspec.c (computer_callouts_add_done): New function - (osspec_probe): Run callouts for computer - - * hald/linux2/classdev.c (add_classdev_probing_helper_done): Fix up - for the new helper - - * hald/linux2/apm.c (apm_synthesize_hotplug_events): Also look for - computer in the TDL - - * hald/linux2/acpi.c (acpi_synthesize_hotplug_events): Also look for - computer in the TDL - (acpi_generic_remove): Don't remove the device - (acpi_callouts_add_done): New function - (acpi_callouts_remove_done): New function - (hotplug_event_begin_add_acpi): Run add callouts - (hotplug_event_begin_remove_acpi): Run remove callouts - - * hald/property.c (hal_property_to_string): Add code for string lists - - * hald/hald.c (addon_terminated): New function - (gdl_store_changed): Run addons - (gdl_property_changed): Don't run property.d callouts - (gdl_capability_added): Don't run capability.d callouts - - * hald/util.h: Move from hald/linux2 since this is generic. - Export the HalHelperData structure when doing - hal_util_helper invoke. Add prototypes for hal_util_terminate_ - helper, hal_util_dup_strv_from_g_slist, - hal_util_callout_device_add, hal_util_callout_device_remove. - - * hald/util.c: Move from hald/linux2 since this is generic. - (hal_util_terminate_helper): New function - (hal_util_helper_invoke): Renamed from helper_invoke. Accept - command line parameters (through g_shell_parse_argv). Accept a - strv of extra environement to set. Introduce that timeout==0 means - no timeout. Return the HalHelperData structure - (hal_util_dup_strv_from_g_slist): New convenience function; create - a new NULL-terminated string vector from a GSList of strings. - (callout_terminated): New function - (callout_do_next): New function - (hal_callout_device): New function - (hal_util_callout_device_add): New function - (hal_util_callout_device_remove): New function - - * hald/linux2/util.[ch]: Remove - - * hald/callout.[ch]: Remove since this functionality is now in util.[ch] - - * hald/Makefile.am: Add util.[ch] - - * hald/linux2/Makefile.am: Remove util.[ch] - -2005-02-07 David Zeuthen <davidz@redhat.com> - - * drive_id/*: Add new drive_id library from Kay - - * volume_id/*: Add new volume_id library from Kay - - * Makefile.am: Add drive_id and volume_id to SUBDIRS - - * configure.in: Add drive_id and volume_id to AC_OUTPUT - -2005-02-04 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Added docs for battery.remaining_time - - * hald/linux2/classdev.c (input_get_prober): New function - (usbclass_add): New function - (usbclass_get_prober): New function - (usbclass_compute_udi): New function - (add_classdev_probing_helper_done): Check if post_probing is NULL - (hotplug_event_begin_add_classdev): Use function to get prober since - e.g. class usb covers multiple devices, e.g. hiddev, printers etc. - - * hald/linux2/probing/probe-hiddev.c: New file; probe for application - pages a HIDDEV supports and add to hiddev.application_pages strlist - - * hald/linux2/addons/addon-hid-ups.c: Detect UPS's on USB HID - interfaces and create plus maintain battery.* properties. - - * hald/linux2/addons/Makefile.am: New file - - * hald/linux2/Makefile.am (SUBDIRS): Add addons directory - - * configure.in: Add hald2/linux2/addons/Makefile.am to AC_OUTPUT - -2005-02-03 David Zeuthen <davidz@redhat.com> - - * hald/device_info.c (handle_match): Handle contains and - contains_ncase for strlist properties. Also allow <merge key="foo" - type="strlist> blah</merge> to create a new strlist; possibly - destroy an existing strlist with the single elem 'blah'. - (handle_append_prepend): Renamed from handle_append since it also - covers prepend now and supports strlist's. - (handle_remove): New function to cover <remove key="foobar" - type="strlist">blah</remove> (removes element 'blah' from strlist - 'foobar') and <remove key="foobar"/> to completely remove a - property. - (start): Support <prepend> on both strings and strlists. Support - <remove> - (end): Support the new directives. - - Here is an example of the new directives; I'm pasting it here - so it's handy when the spec needs to be updated. Oh, and for - when I get around to adding test cases for this :-) - - <append key="bat0" type="string">foo0</append> - <merge key="baz0" type="strlist">foz0</merge> - <append key="bar0" type="strlist">foo0</append> - <append key="bar0" type="strlist">foo1</append> - <append key="bar0" type="strlist">foo2</append> - <append key="bar0" type="strlist">foo3</append> - - <prepend key="dat0" type="string">foo0</prepend> - <merge key="daz0" type="strlist">foz0</merge> - <prepend key="dar0" type="strlist">foo0</prepend> - <prepend key="dar0" type="strlist">foo1</prepend> - <prepend key="dar0" type="strlist">foo2</prepend> - <prepend key="dar0" type="strlist">foo3</prepend> - - <remove key="t1" type="strlist">val1</remove> - <remove key="t2"/> - <remove key="t3"/> - -2005-02-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/pmu.[ch]: New files - - * hald/linux2/util.h: Add prototypes for - hal_util_grep_string_elem_from_file and - hal_util_grep_int_elem_from_file. - - * hald/linux2/util.c (hal_util_grep_file): Allow file to be NULL - or empty and handle it correctly - (hal_util_grep_string_elem_from_file): New function - (hal_util_grep_int_elem_from_file): New function - (hal_util_set_string_elem_from_file): Simplify by using - hal_util_grep_string_elem_from_file - (hal_util_set_int_elem_from_file): Simplify by using - hal_util_grep_string_elem_from_file - - * hald/linux2/osspec.c (osspec_probe): Refine algorithm for selecting - power management system since PMU based systems may simultaneously - support APM as well. - - * hald/linux2/hotplug.h: Add PMU hotplug event - - * hald/linux2/hotplug.c (hotplug_event_begin_pmu): New function - (hotplug_event_begin): Handle PMU - (hotplug_rescan_device): Handle PMU - (hotplug_reprobe_generate_remove_events): Handle PMU - (hotplug_reprobe_generate_add_events): Handle PMU - - * hald/linux2/classdev.c (hotplug_event_begin_add_classdev): Only - set linux.device_file if there really is a device file - - * hald/linux2/acpi.c (battery_refresh): Use maximum instead of - maximum_specified - - * hald/linux2/Makefile.am: Add pmu.[ch] - -2005-02-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/apm.[ch]: New files - - * hald/linux2/util.c (helper_invoke): Remember to initialize the - error object to NULL - - * hald/linux2/osspec.c (osspec_probe): Only try APM if ACPI fails - - * hald/linux2/hotplug.c (hotplug_event_begin_apm): New function - (hotplug_event_begin): Handle APM - (hotplug_rescan_device): Handle APM - (hotplug_reprobe_generate_remove_events): Handle APM - (hotplug_reprobe_generate_add_events): Handle APM - - * hald/linux2/acpi.c (acpi_synthesize): Remember to set error to - NULL and don't leak the error object - (acpi_generate_remove_hotplug_event): Make this function return - a boolean to say whether ACPI capabilities were detected - - * doc/spec/hal-spec.xml.in: Update the spec a bit more on battery.* - -2005-02-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-input.c (main): Fix up error handling - here so Reprobe() on the root, /org/freedesktop/Hal/devices/computer, - actually works; here's some python to do that - - #!/usr/bin/python - - import dbus - - bus = dbus.Bus (dbus.Bus.TYPE_SYSTEM) - hal_service = bus.get_service ('org.freedesktop.Hal') - d = hal_service.get_object ('/org/freedesktop/Hal/devices/computer', - 'org.freedesktop.Hal.Device') - d.Reprobe() - -2005-02-02 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c: Adjust for changes in hotplug.h. - (osspec_device_rescan): New function - (osspec_device_reprobe): New function - - * hald/linux2/hotplug.h: Extend HotplugEvent struct to also be used - for coldplugging/fake hotplugging (via Reprobe()) of ACPI devices. - Add prototypes for hotplug_reprobe_tree() and hotplug_rescan_device(). - - * hald/linux2/hotplug.c: Adjust to changes in hotplug.h - (hotplug_event_begin_sysfs): New function; what used to be the - function hotplug_event_begin(). - (hotplug_event_begin_acpi): New function - (hotplug_event_begin): Now a simple dispatcher according to hotplug - type; e.g. sysfs or acpi - (hotplug_rescan_device): New function - (hotplug_reprobe_generate_remove_events): New function - (hotplug_reprobe_generate_add_events): New function - (hotplug_reprobe_tree): New function - - * hald/linux2/coldplug.c: Adjust to changes in hotplug.h - - * hald/linux2/classdev.h: Add prototypes for classdev_generate_ - [add|remove]_hotplug_event() and classdev_rescan_device(). - - * hald/linux2/classdev.c (hotplug_event_begin_add_classdev): Add - some properties so we can reconstruct the hotplug event - (classdev_rescan_device): New function - (classdev_generate_add_hotplug_event): New function - (classdev_generate_remove_hotplug_event): New function - - * hald/linux2/acpi.[ch]: Yikes, rewrite must of this to conform to - the hotplug model so we can do Rescan() and Reprobe() - - * hald/osspec.h: Add prototypes for osspec_device_[rescan|reprobe] - - * hald/hald_test_libhal.c (send_tests_done): New function - (check_libhal): Add some more tests and report back - - * hald/hald_test.c (check_properties): Fixup wrong failure reports - (server_message_handler): Add new methods on the org.freedesktop.Hal. - Tests interfaces to signal that a test is done - (wait_for_external_test): New function; pretty ugly but it works - for now. As noted: Patches are Welcome(tm) - (main): Enable libhal tests - - * hald/hald_dbus.c (device_rescan): New function - (device_reprobe): New function - (hald_dbus_filter_function): Add checks for Rescan() and Reprobe() - methods on the org.freedesktop.Hal.Device interface - -2005-02-01 David Zeuthen <davidz@redhat.com> - - * hald/linux2/probing/probe-input.c (main): Fix a bug here where - we checked for the wrong return value of libhal_ctx_init. - -2005-02-01 David Zeuthen <davidz@redhat.com> - - Patch from Pierre Ossman <drzeus-list@drzeus.cx>. Basic MMC bus - support. Reads out all the information currently available. I also - need to add a mapping between vendor id:s an names, but I don't - currently have a list to base it upon. - - * hald/linux2/physdev.c (mmc_add): New function - (mmc_compute_udi): New function - -2005-02-01 David Zeuthen <davidz@redhat.com> - - Patch from Pierre Ossman <drzeus-list@drzeus.cx>. - - * hald/linux2/util.c (hal_util_get_string_from_file): New function - (hal_util_set_string_from_file): Use the new function mentioned above - -2005-02-01 David Zeuthen <davidz@redhat.com> - - This is largely based on this patch - - http://lists.freedesktop.org/archives/hal/2005-January/002002.html - - from Richard Hughes <richard@hughsie.com> but much mangled by - myself - - * hald/linux2/util.c (hal_util_get_parent_path): Renamed from - hal_util_get_parent_sysfs_path. - (hal_util_grep_file): New function - (hal_util_set_string_elem_from_file): New function - (hal_util_set_int_elem_from_file): New function - (hal_util_set_bool_elem_from_file): New function - - * hald/linux2/util.h: Add new prototypes - - * hald/linux2/osspec.c (osspec_probe): Call acpi_probe. - - * hald/linux2/acpi.[ch]: New files - - * hald/linux2/Makefile.am (libhald_linux2_la_SOURCES): Add acpi.[ch] - -2005-01-31 David Zeuthen <davidz@redhat.com> - - * configure.in: Prebump to 0.5.0 - but we're not doing a release yet! - Add libtool versioning since libhal and libhal-storage are going - to break API and ABI backwards compatibility. - - * hald/hald_test.c: Add the beginnings of a test suite - - * hald/hald_test_libhal.c: -do- - - * hald/Makefile.am: Add build rules for test suite - - * tools/linux/hal_hotplug_map.c: Update to use new libhal API. - - * tools/lshal.c: Update to use new libhal API. - - * tools/hal_set_property.c: Update to use new libhal API. - - * tools/hal_get_property.c: Update to use new libhal API. - - * tools/fstab-sync.c: Update to use new libhal API. - - * libhal-storage/libhal-storage.c: Update to use new libhal API. - This library will also go through a renaming/cleanup before 0.5.0. - - * libhal-storage/Makefile.am: Use library versioning - - * libhal/libhal.[ch]: Prefix all function names and other identifiers - with libhal instead of hal. Add code for string lists. Change the - way libhal is initialized to be a multistep process. Use HAL_PROPERTY_ - TYPE_* instead of DBUS_TYPE_*. Make all functions using IPC take - a DBusError argument for better error handling. Notable changes - (libhal_device_get_all_properties): Teach this function about - string lists - (libhal_psi_get_strlist): New function - (hal_initialize): Removed - (hal_shutdown): Removed - (libhal_device_get_property_strlist): New function - (libhal_device_property_strlist_append): New function - (libhal_device_property_strlist_prepend): New function - (libhal_device_property_strlist_remove_index): New function - (libhal_device_property_strlist_remove): New function - (libhal_ctx_new): New function - (libhal_ctx_set_cache): New function - (libhal_ctx_set_dbus_connection): New function - (libhal_ctx_init): New function - (libhal_ctx_shutdown): New function - (libhal_ctx_free): New function - (libhal_ctx_set_device_added): New function - (libhal_ctx_set_device_removed): New function - (libhal_ctx_set_device_new_capability): New function - (libhal_ctx_set_device_lost_capability): New function - (libhal_ctx_set_device_property_modified): New function - (libhal_ctx_set_device_condition): New function - - * libhal/Makefile.am: Use library versioning - - * hald/linux2/probing/probe-input.c: Port to new libhal API - - * hald/property.h: Rename property types to HAL_PROPERTY_TYPE_*. - Add prototypes for new string list properties. - - * hald/property.c: Rename property types to HAL_PROPERTY_TYPE_*. - (hal_property_free): Teach this function about string lists. - (hal_property_new_strlist): New function - (hal_property_get_strlist): New function - (hal_property_strlist_append): New function - (hal_property_strlist_prepend): New function - (hal_property_strlist_remove_elem): New function - (hal_property_strlist_add): New function - (hal_property_strlist_remove): New function - - * hald/hald_dbus.c: Rename property types to HAL_PROPERTY_TYPE_*. - Add new ugly code to handle string lists with the current D-BUS. - (device_string_list_append_prepend): New function - (hald_dbus_filter_function): Rename from filter_function. Add - handlers for new D-BUS methods. Export this function - - * hald/hald.[ch]: Rip out persistent property code. - - * hald/device_info.c: Rename property types to HAL_PROPERTY_TYPE_*. - - * hald/device.c: Rename to property to HAL_PROPERTY_TYPE_*. Rip out - persistent property code. - (hal_device_property_get_as_string): Add code for strlist type - (hal_device_property_get_strlist): New function - (hal_device_property_strlist_append): New function - (hal_device_property_strlist_prepend): New function - (hal_device_property_strlist_remove_elem): New function - (hal_device_property_strlist_add): New function - (hal_device_property_strlist_remove): New function - - * hald/device.h: Add new strlist prototypes - - * pstore.[ch]: Remove for now as persistent properties needs to be - reworked - -2005-01-26 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c (link_detection_handle_message): New function. - (netlink_socket_data): New function - (osspec_init): Listen to netlink socket - - * hald/linux2/hotplug.c (fixup_net_device_for_renaming): New function. - For coping with net interfaces being renamed before hald can handle - them (For testing, put in the line g_spawn_command_line_sync - ("/path/to/ifrename", NULL, NULL, NULL, NULL); in the top of hotplug_ - event_begin(). - (hotplug_event_begin): Call fixup_net_device_for_renaming() - - * hald/linux2/classdev.c (net_add): Be a bit more defensive - about errors; export the net.80203.can_detect_link property - -2005-01-25 David Zeuthen <davidz@redhat.com> - - * hald/linux2/osspec.c (osspec_probe): Add HAL_INFO's around - coldplug event synthesization so we can see how long it takes. - - * hald/linux2/coldplug.c: Undefine HAL_COLDPLUG_VERBOSE by default - to reduce log spamming. - -2005-01-25 David Zeuthen <davidz@redhat.com> - - Merge the changes applied to the hal-0_4-stable-branch yesterday - - 2005-01-24 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c (mopts_collect): Remove debugging - fprintf's - - 2005-01-24 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c (mopts_collect): Also remove - mount options if something is set to FALSE (based on patch from - Sebastian Dransfeld <sebastid@stud.ntnu.no>; also fix a pretty bad - bug where the computation of is_imply_opt were totally wrong. - (hal_volume_policy_get_mount_options), - (hal_drive_policy_get_mount_options): Collect imply options in the - correct order now that mopts_collect is fixed : -do- - -2005-01-23 David Zeuthen <davidz@redhat.com> - - * hald/linux2/util.h: Add prototypes for hal_util_set_driver () and - hal_util_path_ascend (). - - * hald/linux2/util.c (hal_util_set_driver): New function - (hal_util_path_ascend): New function - - * hald/linux2/physdev.c: Set both linux.sysfs_path and - linux.sysfs_path_device. The former is the real sysfs path for both - class and bus devices while the latter always is a location in - /sys/devices; incidently the latter may not always exists. The former - is used for remove events while the latter is used for determing - child/parent relationships. - (scsi_add): New function - (scsi_compute_udi): New function - - * hald/linux2/ids.c (ids_find_pnp): Use strcasecmp instead of strcmp - - * hald/linux2/hotplug.c (hotplug_event_begin): Cope with the fact - that there may be holes in /sys/devices; e.g. look at the - target0:0:0:0 stuff. So, for a class device ascend all the way up - until we find a hal device object that can be our parent. - - * hald/linux2/coldplug.c: Euwh, too much simplification here; we - need to insert class devs between bus devs in the coldplug queue - as e.g. scsi_host is a class dev but sits between bus devs. - - * hald/linux2/classdev.h: Make hotplug_event_begin_add_classdev take - the sysfs path of the corresponding device in /sys/devices (which - may not be a physical device, e.g. class scsi_host) - - * hald/linux2/classdev.c (net_add): New function - (net_compute_udi): New function - (scsi_host_add): New function - (scsi_host_compute_udi): New function - -2005-01-22 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/Const.py.in: Add pnp and serio to BUS_NAMES - - * hald/linux2/physdev.c: Refactor this file a bit and add support - for the following bus devices: ide, pnp, serio, pcmcia - - * hald/linux2/ids.h (ids_find_pnp): Add prototype - - * hald/linux2/ids.c (ids_find_pnp): New function; just use - a hardcoded array and do a slow O(n) search (might want to - optimize this later) - - * hald/linux2/classdev.c (add_classdev_after_probing): Compute - UDI may fail; remember to clean up - - * hald/linux2/Makefile.am: Add pcmcia_utils.[ch] as we'll need - them until sysfs got the right properties - - * hald/linux2/pcmcia_utils.[ch]: New files; imported from old - backend - - * hald/linux2/pcmcia_cs.h: Ditto - -2005-01-19 David Zeuthen <davidz@redhat.com> - - Some more refactoring... You want to redo 'make install' to - get h-d-m working after this... - - * hald/linux2/classdev.c: - (input_add): Don't set info.bus as it doesn't really make sense - since it is a class device - (input_post_probing): New function - (input_compute_udi): New function - (bluetooth_add): New function - (bluetooth_compute_udi): New function - (add_classdev_after_probing): New function - (add_classdev_probing_helper_done): New function - (hotplug_event_begin_add_classdev): Create and use a framework - where we don't have to think about asynchronous issues per - logical device class. - (hotplug_event_begin_remove_classdev): -do- - (input_helper_done): Deleted due to new framework - - * tools/device-manager/DeviceManager.py: Do not assume that - info.bus is available - - * tools/device-manager/Representation.py: Do not assume that - info.bus is available - -2005-01-18 David Zeuthen <davidz@redhat.com> - - * hald/run-hald.sh: New file; used to run hald from the development - directory. Sets up the appropriate path for external probing - programs. - -2005-01-18 David Zeuthen <davidz@redhat.com> - - * configure.in (AC_OUTPUT): Don't generate hald/linux/Makefile as - Makefile.am is now gone - -2005-01-18 David Zeuthen <davidz@redhat.com> - - * tools/linux/Makefile.am: Remove hal.dev build rules - - * tools/linux/hal_dev.c: Remove - - * configure.in: Set linux2 as the default backend - - * hald/linux: Remove all files here as they will get reimplemented - in hald/linux2 - - * hald/linux2: Add a bunch of new files - - * hald/linux2/probing: Add some new files - -2005-01-18 David Zeuthen <davidz@redhat.com> - - Merge some more changes from the stable branch (except those - in hald/linux and doc/spec) - - 2005-01-12 David Zeuthen <davidz@redhat.com> - - * hald/callout.c (callout_timeout_handler): Be tough and kill - the misbehaving child the hard way - suggestion from Joe Shaw. - - 2005-01-12 David Zeuthen <davidz@redhat.com> - - * hald/linux/osspec.c (HOTPLUG_TIMEOUT): Increase to 25 seconds - to better cope with callouts timeout of 10 seconds - - * hald/callout.c (iochn_data): Cope with callouts terminating - and free timeout handler - (callout_timeout_handler): New function; kill callouts if they - time out - (process_next_callout): Setup timeout for callouts - set to - ten seconds - - 2005-01-11 David Zeuthen <davidz@redhat.com> - - * hald/callout.c: Simplify a lot more by demanding that callouts - are run sequentially - which they are anyway since everything is - serialized. Make a mental note to review and stress test this in - the morning. - - 2005-01-11 David Zeuthen <davidz@redhat.com> - - * hald/callout.c: Fix some craziness adding an idle handler for - detecting when callouts complete - fixes bug on my new AMD64 - system with device add/remove prior to completion of callouts - - one visible effect was that fstab-sync was crashing since it - couldn't retrieve the block.device device as the device was - removed prior to the completion of the callout - - 2005-01-07 David Zeuthen <davidz@redhat.com> - - * fdi/20freedesktop/ide-drives.fdi: Also check IDE floppies for whether - they are Zip drives - - 2005-01-07 Joe Shaw <joeshaw@novell.com> - - * configure.in: Check for popt when building fstab-sync and error - out if it's not found. - - * tools/Makefile.am: Build fstab-sync conditionally based on - whether --enable-fstab-sync is passed in. - - 2005-01-06 David Zeuthen <davidz@redhat.com> - - * libhal/libhal.c (hal_device_query_capability): Patch from Tim - Müller <t.i.m@zen.co.uk>. The attached patch fixes a small memory - leak in libhal's hal_device_query_capability(). - - 2005-01-03 David Zeuthen <davidz@redhat.com> - - * configure.in: Added it to ALL_LINGUAS - - * po/it.po: Italien translation from Pier Luigi Fiorini - <pierluigi.fiorini@mockup.org> - - 2004-12-15 David Zeuthen <davidz@redhat.com> - - * fdi/20freedesktop/usb-zip-drives.fdi: Only match on actual - harddisks to avoid wrong detection of e.g. "Iomega ZipCD 650 USB CDRW" - drives (Red Hat bug #143834) - - * fdi/20freedesktop/ide-drives.fdi: ditto - -2005-01-17 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Patch from Richard Hughes - <richard@hughsie.com>. Move properties into right section; - add some linux.* properties. - -2005-01-17 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Patch from Richard Hughes - <richard@hughsie.com>. This is a patch for HAL CVS HEAD that - provides all the system.* namespaces. I have not included the - PMU/ACPI specific parts yet as we are still debating about how to - include pmu.* and acpi.* in the most efficient way. - -2005-01-07 Joe Shaw <joeshaw@novell.com> - - * configure.in: Check for popt when building fstab-sync and error - out if it's not found. - - * tools/Makefile.am: Build fstab-sync conditionally based on - whether --enable-fstab-sync is passed in. - -2004-12-16 David Zeuthen <davidz@redhat.com> - - * fdi/20freedesktop/Makefile.am: Add the two new .fdi files to _DATA - -2004-12-16 David Zeuthen <davidz@redhat.com> - - * fdi/20freedesktop/usb-pda-serial.fdi: New file - - * fdi/20freedesktop/usb-pda-devices.fdi: New file - -2004-12-16 David Zeuthen <davidz@redhat.com> - - * hald/linux/volume_id/volume_id.c (sesame_parse): Support really long - lines - (probe_crypto_sesame): Read 1024 bytes instead of only 0x100 - -2004-12-16 David Zeuthen <davidz@redhat.com> - - * hald/linux/volume_id/volume_id.c (sesame_skip_to_next_nonempty_line): - New function - (sesame_parse): New function - (sesame_got_kv_pair): New function - (probe_crypto_sesame): New function - (volume_id_probe): Probe for sesame crypto metadata - (volume_id_close): Free key/value pairs - - * hald/linux/volume_id/volume_id.h: Add the VOLUME_ID_CRYPTO usage type - and VOLUME_ID_CRYPTO_SESAME filesystem type. Add the volume_id_kv_pair - structure - - * hald/linux/osspec.c (compute_coldplug_list): Also process other block - devices - - * hald/linux/block_class_device.c (set_volume_id_values): Allow crypto - and get properties from volume_id - (block_class_visit): Add some code to figure out if /dev/dm-0 is really - the cleartext device from a device backed by us. - -2004-12-15 David Zeuthen <davidz@redhat.com> - - * hald/dummy/Makefile.am: New file - - * hald/dummy/osspec.c: New file - - * hald/linux/Makefile.am: New file - - * hald/Makefile.am: Use new $(HALD_BACKEND) variable - - * configure.in: Add --with-backend; default to linux - -2004-12-13 David Zeuthen <davidz@redhat.com> - - Merged all changes from the stable branch so HEAD is on par. - -2004-12-10 David Zeuthen <davidz@redhat.com> - - * hald/linux/net_class_device.c (mii_get_link): Close the fd for link - detection before getting the rate - -2004-12-08 David Zeuthen <davidz@redhat.com> - - * tools/fstab-sync.c (fs_table_line_is_mounted): Patch from Sjoerd - Simons <sjoerd@luon.net>. Running fclose on some random memory - will crash the program. Fixed in attached patch. - -2004-12-08 David Zeuthen <davidz@redhat.com> - - * hald/linux/block_class_device.c (detect_media): Patch from - Martin Pitt <martin@piware.de>. - Media change detection for CD-ROMs does not work on some broken - CD-ROM devices. There are some devices where the - CDROM_DRIVE_STATUS ioctl returns CDS_DISK_OK even when the tray is - open. This has the consequence that the event of inserting a CD is - not recognized by hal. - If the CD-ROM reports CDS_DISK_OK, then CDROM_MEDIA_CHANGED should - be checked twice. If it returns two different values, then there - really was a media change and got_media can be set to true. OTOH, - if both CDROM_MEDIA_CHANGED events return the same value, then the - tray is still open and we must not assume that there is already a - CD in the drive. - Second, for deciding the value of storage.cdrom.support_media_changed - hald should not use the CDROM_MEDIA_CHANGED ioctl() (which returns - the current state), but the CDC_MEDIA_CHANGED capability. - -2004-12-08 David Zeuthen <davidz@redhat.com> - - * hald/linux/block_class_device.c (block_class_pre_process): Only - poll IDE if they are CD-ROM drives and use a better criteria for - finding out whether this is the case - -2004-12-08 David Zeuthen <davidz@redhat.com> - - * hald/hald_dbus.c (device_query_capability): Fix crasher; reported by - leon breedt <bitserf@gmail.com>. - -2004-12-06 David Zeuthen <davidz@redhat.com> - - * fdi/20freedesktop/ide-drives.fdi: Fix <device> to be </device> so - we don't get errors evaluating the file. From Martin Pitt - <martin@piware.de> and also RH bug #141771. - -2004-12-01 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump to 0.4.2 - -2004-11-30 David Zeuthen <davidz@redhat.com> - - * fdi/20freedesktop/ide-drives.fdi: Add blacklist for certain slave - IDE drives on Dell Laptops - stopgap solution for now (RH Bug #138148) - - * fdi/20freedesktop/usb-zip-drives.fdi: Fix a syntax error - - * hald/linux/osspec.c (compute_coldplug_visit_device): Don't spew - too much debug now that we ascent into the tree down to the leafs - - * libhal-storage/libhal-storage.c (hal_drive_from_udi): Comment out - types for ZIP and JAZ drives since that will require ABI changes - - * libhal-storage/libhal-storage.h: -do- - -2004-11-30 David Zeuthen <davidz@redhat.com> - - * hald/linux/osspec.c (compute_coldplug_visit_device): Descent down - the to leafs of the /sys/devices tree but dont follow symlinks - done - such that we can process sysfs trees with holes in them (cf. SCSI - midlayer changes for kernel 2.6.10) - - * hald/linux/common.h: Remove prototypes for get_parent_sysfs_path() - and add find_closest_ancestor(), find_computer() - - * hald/linux/common.c (find_closest_ancestor): New function - such - that we can process sysfs trees with holes in them (cf. SCSI - midlayer changes for kernel 2.6.10) - (get_parent_sysfs_path): Make this static - (find_computer): New function - - * hald/linux/class_device.c (class_device_visit): Use new function - find_closest_ancestor() instead of get_parent_sysfs_path - - * hald/linux/bus_device.c (bus_device_visit): Use new function - find_closest_ancestor() instead of get_parent_sysfs_path - - * hald/linux/block_class_device.c (block_class_visit): Use new - function find_closest_ancestor() instead of get_parent_sysfs_path - -2004-11-22 David Zeuthen <davidz@redhat.com> - - * hald/linux/volume_id/volume_id.c (volume_id_probe): Add some - logging of what size we call volume_id_probe with - - * hald/linux/block_class_device.c (force_unmount): Only attempt to - 'umount -l' if some hal policy piece are performing policy on the - device - -2004-11-22 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c (hal_drive_from_udi): Detect Zip - and Jaz drives - (hal_drive_policy_compute_display_name): Fix an ugly bug where - CD-ROM drives were being named "CD-R" instead of "CD-ROM" - - * libhal-storage/libhal-storage.h: Add enums for Zip and Jaz drives - - * hald/linux/platform_bus_device.c (platform_device_in_gdl): New - function. Actually check the /etc/mtab for whether the floppy is - mounted - - * hald/linux/common.h: Add prototype for - etc_mtab_process_all_block_devices - - * hald/linux/block_class_device.c (block_class_visit): Never add - child real childs (e.g. /dev/hdd4) if storage.no_partitions_hint is - set (for IDE Zip Drives) - (detect_media): Actually set child to what we find in the TDL - (mtab_handle_storage): Match on device file before attempting to - match on major/minor - (mtab_handle_volume): -do- - - * hald/device_info.c (handle_match): Add the contains and - contains_ncase matching operators. - - * fdi/90defaultpolicy/storage-policy.fdi: Add some policy pieces for - IDE Zip, Jaz and USB Zip drives - - * fdi/20freedesktop/usb-zip-drives.fdi: New file to identify USB - Zip Drives - - * fdi/20freedesktop/ide-drives.fdi: New file to identify strange IDE - drives such as Zip and Jaz drives; note that rewriting the device - file from e.g. /dev/hdd to /dev/hdd4 is actually sane enough to - do given the abstraction that hal exports :-) - -2004-11-16 David Zeuthen <davidz@redhat.com> - - * fdi/90defaultpolicy/storage-policy.fdi: Remove the "ro" option for - optical drives as it prevents mounting rw DVD-RAM media (RH bug #139600) - - * hald/linux/volume_id/volume_id.h (VOLUME_ID_PARTITIONS_MAX): Increase - to 256 (RH bug #139227) - - * hald/linux/volume_id/volume_id.c (probe_msdos_part_table): Fix a - typo ("to many partitions" -> "too many partitions" - (volume_id_probe): Do not probe for msdos_part_table since that doesn't - make sense (../block_class_device.c does that instead) - -2004-11-08 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/hal-device-manager.glade: Patch from Sjoerd - Simons <sjoerd@luon.net>. Attached patch improves h-d-m's glade - file a little. Note the difference in the ``Device type'' label - between the following two screenshots: - http://luon.net/~sjoerd/hal/hdm-before.png - http://luon.net/~sjoerd/hal/hdm-after.png - -2004-11-08 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/DeviceManager.py: - Patch from Bryan Clark <bclark@redhat.com>: I've noticed that the - category and capabilities labels on the Device tab of - hal-device-manager never changes beyond "Unknown". - -2004-11-01 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump to 0.4.1 - - * doc/spec/Makefile.am: Take FIGURE_FILES and EXTRA_DIST outside the - conditional DOCBOOK_DOCS_ENABLED so 'make distcheck' passes - -2004-11-01 David Zeuthen <davidz@redhat.com> - - * tools/device-manager/hal-device-manager.in: New file; append - path to where we install so we don't need a symlink to /usr/share. - Fixes issue with SELinux strict policy (RH Bug #134845) - - * tools/device-manager/hal-device-manager: Delete this one as it is - now generated by configure - -2004-10-29 David Zeuthen <davidz@redhat.com> - - * fdi/90defaultpolicy/storage-policy.fdi: Allow SCSI optical drives - and correct typo in 'sync' (was 'async'). - -2004-10-29 David Zeuthen <davidz@redhat.com> - - * hald/linux/pcmcia_utils.c (pcmcia_socket_open): Refine socket - location order to work better with SELinux. From Dan Walsh - <dwalsh@redhat.com> - -2004-10-27 David Zeuthen <davidz@redhat.com> - - Patch from Tim Müller <t.i.m@zen.co.uk> - - * configure.in: Require libcap development packages by checking for - sys/capability.h - -2004-10-26 David Zeuthen <davidz@redhat.com> - - * fdi/90defaultpolicy/storage-policy.fdi: Change default policy - such that non-hotpluggable fixed disks are not added to the - /etc/fstab file because a) ATARAID detection in hal is - incomplete (e.g. RAID members from ATARAID controllers might be - added to /etc/fstab); and b) default install wont corrupt - multiboot systems on fixed drives (RH bug 137072) - -2004-10-26 David Zeuthen <davidz@redhat.com> - - Patch from Dan Williams <dcbw@redhat.com> to add support for - integration with cardmgr. - - * configure.in: Add --enable-pcmcia-support and --with-stab-file - options - - * hald/Makefile.am: Conditionally include linux/pcmcia_utils.c - linux/pcmcia_utils.h linux/pcmcia_cs.h - - * hald/linux/net_class_device.c - (net_class_pre_process): Check driver link and set net.linux.driver - properties (me); add appropriate PCMCIA properties if applicable - (net_class_accept): Only accept network devices with device links as - well as PCMCIA devices - (net_class_compute_udi): Fix a typo (me) - - * hald/linux/osspec.c - (compute_coldplug_list): Accept network devices without device link - - * hald/linux/pcmcia_cs.h: New file - - * hald/linux/pcmcia_utils.c: New file - - * hald/linux/pcmcia_utils.h: New file - -2004-10-25 David Zeuthen <davidz@redhat.com> - - * fdi/90defaultpolicy/storage-policy.fdi: Allow fstype 'auto' for - optical drives instead of 'iso9660,udf' - -2004-10-25 David Zeuthen <davidz@redhat.com> - - * hald/linux/volume_id/volume_id.c (volume_id_probe): Move probe_ntfs - to the bottom as some ext3 partition was wrongly identified as a NTFS - partition - -2004-10-25 David Zeuthen <davidz@redhat.com> - - * hald/linux/osspec.c (hotplug_timeout_handler): Fixup timeout handling - to rebasing to lowest seqnum in queue instead of just taking the - next one - -2004-10-25 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_highpoint_ataraid), - (volume_id_probe), (volume_id_open_node): Add recognition for - highpoint ataraid volumes. - -2004-10-21 David Zeuthen <davidz@redhat.com> - - * hald/linux/net_class_device.c (net_class_pre_process): Just see if - there is a 'wireless' directory in sysfs; don't let the libsysfs copy - try to open files cause that might fail on orinoco+hermes (RH bug - 136591). Reported by Dan Williams <dcbw@redhat.com> - -2004-10-19 David Zeuthen <davidz@redhat.com> - - * configure.in: Added pt to ALL_LINGUAS - - * po/pt.po: Portuguese translations from Pedro Morais <morais@kde.org> - -2004-10-19 David Zeuthen <davidz@redhat.com> - - Make PCMCIA card readers work by ignoring hotplug add and remove - on IDE partitions. Need to remove this code once the kernel is sane - again. For background (and some kernel hacker attitude :-) please see - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130232 - - * hald/linux/block_class_device.c: - (block_class_accept): Ignore block devices we already have added - (volume_remove_from_gdl_sleep): New function - (volume_set_size): Do a first estimate by assuming block size is 512 - (block_class_pre_process): Set fstype to 'auto' and fsuage to - 'filesystem' - (block_class_removed): Don't remove if partition from IDE device. - Automatically remove volumes from a top-level block device if - they indeed are not removed (which is the case for IDE hotplug) - - * hald/linux/class_device.c: - (class_device_removed): Return whether it should be removed - - * hald/linux/class_device.h: Changed return type from void to bool - for class_device_removed method - - * hald/linux/osspec.c: - (rem_device): Respect the return value of class_device_removed function - -2004-10-18 David Zeuthen <davidz@redhat.com> - - * configure.in: Added ru and hu to ALL_LINGUAS - - * po/ru.po: Russian translations from Leonid Kanter (leon@bcl.bz) - - * po/hu.po: Hungarian translations Laszlo Dvornik <dvornik@gnome.hu> - -2004-10-18 David Zeuthen <davidz@redhat.com> - - * tools/fstab-sync.8.in: Fixup some typos and clarify how .fdi files - are processed - -2004-10-18 David Zeuthen <davidz@redhat.com> - - * tools/fstab-sync.c (main): Fix crasher when no options are given - -2004-10-18 David Zeuthen <davidz@redhat.com> - - * fdi/90defaultpolicy/storage-policy.fdi: Allows allow legacy floppy - drives to be mounted by matching storage.bus=platform - -2004-10-18 David Zeuthen <davidz@redhat.com> - - * libhal-storage/libhal-storage.c: - (mopts_collect): New convenience function - (hal_drive_policy_get_mount_options): Ensure that 'pamconsole', 'user', - 'users' and 'console' before any other option as an intricate detail - of the mount program require that e.g. exec is after each of these - as they imply e.g. noexec. - (hal_volume_policy_get_mount_options): -do- - -2004-10-18 David Zeuthen <davidz@redhat.com> - - * hald/hald.c (main): Do openlog() so we can log to the syslog - - * hald/linux/hald_helper.h: Add a timestamp field - - * hald/linux/osspec.c: - (osspec_timer_handler): Call hotplug_timeout_handler - (hotplug_timeout_handler): New function - (hald_helper_hotplug_process_queue): Set last timestamp and add - uncommented test code for dropping every 16th hotplug event - (hald_helper_first_hotplug_event): Update last timestamp - - * tools/linux/hal_dev.c (main): Set timestamp - - * tools/linux/hal_hotplug.c (main): Set timestamp - -2004-10-15 David Zeuthen <davidz@redhat.com> - - * tools/fstab-sync.c (add_udi): Use the name of the special device - file instead of 'foo' when writing to the syslog - -2004-10-15 David Zeuthen <davidz@redhat.com> - - * fdi/90defaultpolicy/storage-policy.fdi: Never use filesystem UUDI - for mount points in the default policy (/me badly flamed) - change - fallback to <bustype>disk. - -2004-10-15 David Zeuthen <davidz@redhat.com> - - * hald/linux/block_class_device.c (detect_media): Fixup reuse - of file descriptors since we want O_NONBLOCK for polling and we - don't want to reuse that for probing the media (see below( - - * hald/linux/volume_id/volume_id.c (volume_id_open_node): Never - use O_NONBLOCK since new kernel semantics can and will return - EAGAIN aka EWOULDBLOCK (see RH bug 135886). - -2004-10-14 David Zeuthen <davidz@redhat.com> - - * tools/fstab-sync.c (main): clean wasn't being called on hald startup - because of missing defines due to the removal of fstab-sync options. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - * configure.in: Bump to version 0.4.0 - Hurray - -2004-10-14 David Zeuthen <davidz@redhat.com> - - * fdi/90defaultpolicy/storage-policy.fdi: Use pamconsole option - instead of user. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - * configure.in: Remove a bunch of fstab-sync options (all but the - --enable-fstab-sync) that is now taken from the root computer device - object, e.g. defined in fdi/90defaultpolicy/storage-policy.fdi file. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - Patch from Martin Pitt <martin@piware.de>. - - * hald/linux/pci_bus_device.c (pci_device_pre_process): Fixup crash - on intel pro 2200 wireless because of unchecked pointer. Reported by - Mitch <Mitch@0Bits.COM>. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - Patch from Sjoerd Simons <sjoerd@luon.net>. - - * hald/Makefile.am: Add -lm to hald_LDADD so it actually compiles - on my debian system :) - -2004-10-14 David Zeuthen <davidz@redhat.com> - - Patch from Sjoerd Simons <sjoerd@luon.net>. - - * tools/lshal.c: include <dbus/dbus-glib-lowlevel.h> so the - compiler doesn't complain about dbus_connection_setup_with_g_main - not being declared. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - Patch from Sjoerd Simons <sjoerd@luon.net>. - - * hald/hald_dbus.c: When hal is running with dropped priv's the - callouts are currently too. So allow hal's euid. And fix a compile - warning too. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - Patch from Sjoerd Simons <sjoerd@luon.net>. - - * hald/linux/usb_bus_device.c (usb_ids_load): The usb id database - read functions never close the file descriptors. bad. Fixed in - attached patch. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - Patch from Steve Grubb (linux_4ever@yahoo.com). - - * hald/linux/net_class_device.c (link_detection_data_ready): The - hal daemon does not check the sender's PID for netlink packets. - Netlink packets can be sent by any user with local access to the - system. Kernel originating packets have a PID of 0, while user - space originating packets are > 0. Without checking this, users - may send messages to hald that cause daemons using dbus to take - inappropriate actions. - -2004-10-14 David Zeuthen <davidz@redhat.com> - - * configure.in: Add fstab-sync.8 to AC_OUTPUT - - * doc/conf/storage-non-fixed.fdi: New file, example - - * doc/conf/storage-skip-all.fdi: New file, example - - * doc/conf/Makefile.am: Dist and install two new .fdi files - - * fdi/90defaultpolicy/storage-policy.fdi: Fix a typo in a comment - - * hald/device_info.c: - (my_alphasort): New function - (scan_fdi_files): Use my_alphasort to sort in the right order. Process - all .fdi files instead of bailing out on the first match. - - * hald/linux/osspec.c: - (get_selinux_removable_context): New function, copied over from - tools/fstab-sync.c (not currently used) - (osspec_probe): Use get_selinux_removable_context (not currently used) - - * libhal-storage/libhal-storage.c: - (hal_drive_policy_get_mount_options): Check if mount_option property - is actually FALSE. - (hal_volume_policy_get_mount_options): Same - - * libhal/libhal.c: - (hal_free_property_set): Check if object to free is NULL and just - return. Allows hal_free_property_set (NULL). - - * tools/Makefile.am: Add rules for building fstab-sync.8 man page - - * tools/fstab-sync.8.in: New file - - * tools/fstab-sync.c: Much rewritten to use libhal-storage and the new - policy properties. See diff for details. - -2004-10-13 David Zeuthen <davidz@redhat.com> - - * doc/spec/hal-spec.xml.in: Add docs for is_ascii attribute on the - match directive. - - * fdi/90defaultpolicy/storage-policy.fdi: Don't add volume policy - if the drive has the no_partitions_hint set to TRUE. Require label - to be ASCII if using the label as a mount point. Use whitelist of - msdos partition types if volume stems from a drive with a msdos - partition table. - - * hald/device_info.c (handle_match): Add the is_ascii match check. - - * libhal-storage/libhal-storage.c: - (hal_drive_free): Free newly added fields - (hal_volume_free): Free newly added fields - (hal_drive_from_udi): Add should_mount, mount_filesystem, - desired_mount_point properties - (hal_volume_from_udi): Add should_mount, mount_filesystem, - desired_mount_point properties - (hal_drive_policy_default_get_mount_root): New function - (hal_drive_policy_default_use_managed_keyword): New function - (hal_drive_policy_default_get_managed_keyword_primary): New function - (hal_drive_policy_default_get_managed_keyword_secondary): New function - (hal_drive_policy_is_mountable): New function - (hal_drive_policy_get_desired_mount_point): New function - (hal_drive_policy_get_mount_options): New function - (hal_drive_policy_get_mount_fs): New function - (hal_volume_policy_is_mountable): New function - (hal_volume_policy_get_desired_mount_point): New function - (hal_volume_policy_get_mount_options): New function - (hal_volume_policy_get_mount_fs): New function - (hal_drive_no_partitions_hint): New function - - * libhal-storage/libhal-storage.h: Add prototypes for new functions - -2004-10-13 David Zeuthen <davidz@redhat.com> - - * fdi/20freedesktop/sony_dsc.fdi: New file, to match krh's camera - that is USB Mass Storage based. - - * fdi/20freedesktop/canon-digital-ixus-v.fdi: Removed - - * fdi/20freedesktop/Makefile.am (dist_fdi20freedesktop_DATA): - add sony, remove canon. - - * doc/spec/hal-spec.xml.in: Add a bunch of documentation to match - the new .fdi parser and the policy stuff for storage devices - - * hald/device_info.c (handle_match): Remove debug output - - * hald/hald_dbus.c (device_remove_property): Require superuser - -2004-10-12 David Zeuthen <davidz@redhat.com> - - First part of big patch to use .fdi files for policy properties. - - * configure.in: Add a bunch of new configure.in variables - - * doc/Makefile.am: Add conf directory - - * doc/conf/Makefile.am: New file - - * doc/conf/storage-policy-examples.fdi: New file - - * fdi/30osvendor/Makefile.am: New file - - * fdi/40oem/Makefile.am: New file - - * fdi/50user/Makefile.am: New file - - * fdi/90defaultpolicy/Makefile.am: New File - - * fdi/90defaultpolicy/storage-policy.fdi: New file - - * fdi/95userpolicy/Makefile.am: New file - - * fdi/Makefile.am: Added new subdirs - - * hald/Makefile.am: Link with libselinux if selinux is enabled - - * hald/device.c: - (hal_device_property_get_as_string): New function - (hal_device_copy_property): New function - - * hald/device.h: Add prototypes for two new functions - - * hald/device_info.c: - (resolve_udiprop_path): New function - (match_compare_property): New function - (handle_match): Allow property names to contain UDI dirct and indirect - references. Add support for 'exists', 'empty', 'is_absolute_path', - 'compare_lt', 'compare_le', 'compare_gt', 'compare_ge' - (handle_merge): Add support for 'copy_property' - (handle_append): New function - (start): Support new 'append' operation (like merge) - (end): Also support MERGE_TYPE_COPY_PROPERTY. Fixup compare bug in - match_depth_first_fail that made several matches on the same level - impossible. - (process_fdi_file): Init match_depth_first_fail to -1 - - * hald/linux/osspec.c (osspec_probe): Add selinux support to - root computer device object. - -2004-10-08 David Zeuthen <david@fubar.dk> - - * hald/linux/platform_bus_device.c (platform_device_accept): Check that - the floppy drive actually exists. Code snippet from Bill Nottingham - <notting@redhat.com>, see Red Hat bug 133777. - -2004-10-08 David Zeuthen <david@fubar.dk> - - * hald/linux/pci_bus_device.c (pci_ids_load): The {pci, usb} id - database read functions never close the file descriptors. bad. - Fixed in attached patch. Patch from Sjoerd Simons <sjoerd@luon.net>. - -2004-10-08 David Zeuthen <david@fubar.dk> - - * configure.in: look for BLKGETSIZE64 to be provided. From - Jonathan Blandford <jrb@gnome.org> - -2004-10-08 David Zeuthen <david@fubar.dk> - - * libhal-storage/libhal-storage.h (LIBHAL_STORAGE_H): Only use one - underscore, not two. Reported by Jérôme Lodewyck - <lodewyck@clipper.ens.fr>. - -2004-10-07 David Zeuthen <david@fubar.dk> - - * hald/linux/osspec.c (hald_helper_hotplug_process_queue): Have a - list of hotplug events received during the sleep of the first hotplug - event and process that in order - (hotplug_sem_down): Typo in debug output - (hald_helper_first_hotplug_event): Determine last_hotplug_seqnum by - looking at list of hotplug events received during the sleep of the - first hotplug event - (hald_helper_msg_compare): New function - (hald_helper_data): Insert, into a sorted list, hotplug events received - when sleeping on the first hotplug event - (FIRST_HOTPLUG_SLEEP): New constant instead of hardcoding 2500 ms - -2004-10-06 David Zeuthen <david@fubar.dk> - - * hald/linux/osspec.c (hald_helper_data): New handling of hotplug - events with SEQNUM < LAST_SEQNUM. Idea from Sjoerd Simons - <sjoerd@luon.net>. - -2004-10-06 David Zeuthen <david@fubar.dk> - - Patch from Martin Pitt <martin.pitt@canonical.com>. - - * hald/linux/osspec.c (add_device): Check whether given_sysfs_path - is NULL and immediately return in this case; previously, this - parameter was copied and compared without checking, which caused a - segfault. - - * hald/hald.c (drop_privileges): Do not exit hald if capabilities - cannot be installed (which happens on kernels which do not support - capabilities), since only few features actually depend on - additional capabilities (currently only the "link" detection of - MII ethernet cards) - -2004-10-02 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c (hal_initialize): Don't set is_shutdown when we're - just initialized. - (hal_get_all_devices): Set num_devices to 0 even if we fail. Patch - from Colin Walters <walters@redhat.com> - -2004-09-29 David Zeuthen <david@fubar.dk> - - * hald/linux/volume_id/volume_id.c (volume_id_probe): Probe for msdos - partition table before any other fs'es with the signature in the first - block. Patch from Martin Pitt <martin@piware.de>. - -2004-09-29 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_disc): Do a CDROM_DRIVE_STATUS - before CDROM_DISC_STATUS - - * tools/fstab-sync.c (fs_table_line_is_generated): Use secondary - managed keyword if applicable - (fs_table_add_volume): Use access keyword only if applicable - (volume_new): Also set is_removable - (fs_table_add_volume): Only add removable selinux context for - hotpluggable drives and drives with removable media - - * configure.in: Add fstab-sync secondary keyword which is useful for - migration from e.g. kudzu to managed - fstab-sync will only delete - fstab lines with the secondary keyword but never write them. Needs - to be enabled with --enable-mnt-noop-sec. - Also add fstab-sync access keyword which defaults to 'user' but - can be replaced by 'console' - this is useful for specifying the - extra mount option for how to give access. Now the access keyword - needs to be enabled with --enable-mnt-access. - - For (my own) reference, this is the parameters used to bootstrap - when building for Red Hat distros - - ./autogen.sh --enable-mnt-noop --enable-fstab-sync --enable-hotplug-map - --with-mnt-noop=managed --enable-mnt-noop-sec --with-mnt-noop-sec=kudzu - --enable-mnt-access --with-mnt-access=console --with-init-scripts=redhat - --with-pid-file=/var/run/haldaemon.pid --enable-selinux - - note: the util-linux package must be patched with the patch in RH bug - 133941 in order for --with-mnt-access=console to work; should hit - Rawhide soon. - -2004-09-29 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_pre_process): Check for - USB floppy drive by looking at interface class instead - -2004-09-27 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c (hal_shutdown): Remember to init error var - - * tools/fstab-sync.c (add_udi): Add a whitelist so if a volume stems - from a msdos style partition table we require that type to be in the - whitelist; initially includes various FAT formats, NTFS and Linux. - (volume_new): Fix a bug in size computation - - * libhal-storage/libhal-storage.h: Add prototype for - hal_volume_get_msdos_part_table_type - - * libhal-storage/libhal-storage.c: - (hal_volume_get_msdos_part_table_type): New function - - * hald/linux/block_class_device.c (block_class_pre_process): - Rename x86_type to msdos_part_table_type - - * hald/haldaemon.in: Fixup URL - -2004-09-27 David Zeuthen <david@fubar.dk> - - * configure.in: Added nl to ALL_LINGUAS - - * po/nl.po: Dutch translations from Reinout van - Schouwen <reinout@cs.vu.nl> - -2004-09-27 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c (hal_shutdown): Make libhal compile since an - error variable was errornously deleted before committing it - -2004-09-27 David Zeuthen <david@fubar.dk> - - Patch from Sjoerd Simons <sjoerd@luon.net>. - - * tools/linux/hal_hotplug_map.c: - Since a few days debians libgphoto2 also ships the an usb - usermap. Attaches patch makes hal work with this :) - -2004-09-27 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c: - (struct LibHalContext_s): add is_shutdown field - (filter_func): if ctx->is_shutdown is TRUE don't process the message. - Return NOT_YET_HANDLED instead of HANDLED on all messages as several - libhal contexts may want to process them. - (hal_initialize): Set ctx->is_shutdown to FALSE - (hal_shutdown): Remove the matching rule on the Manager object and - set is_shutdown to TRUE. Don't fix the leak on the DBusConnection - because leaking it means that the application will terminate. Hence - introduce a leak of the LibHalContext since shutdown is async. Add - a few TODO comments about that this needs fixing (probably needs - dbus_bus_get_dedicated). - - * hald/hald_dbus.c (sender_has_superuser_privileges): New function - (device_set_property): Require superuser - (device_add_capability): Require superuser - - * hald/linux/block_class_device.c (block_class_pre_process): Add checks - for SATA disks - code snippet from Alan Cox <alan@redhat.com> - -2004-09-27 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_vfat): Fix - typo in FAT uuid conversion. - -2004-09-26 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_vfat): Fix - end of directory marker recognition. - -2004-09-25 David Zeuthen <david@fubar.dk> - - * configure.in: Added fr to ALL_LINGUAS - - * po/fr.op: Added french translations from Jérôme Lodewyck - <lodewyck@clipper.ens.fr> - - * libhal-storage/libhal-storage.h: Add prototypes for new functions - hal_drive_(requires_eject|get_dedication_icon_(drive|volume)). - - * libhal-storage/libhal-storage.c (hal_storage_policy_lookup_icon): - Remove printf debug statement. - (hal_drive_get_dedicated_icon_drive): New function - (hal_drive_get_dedicated_icon_volume): New function - (hal_drive_from_udi): Read storage.icon.* and storage.requires_eject - (hal_drive_requires_eject): New function - - * hald/linux/block_class_device.c (block_class_pre_process): Add - and set boolean property storage.requires_eject; right now we - only add it for optical drives. Interestingly enough, my iPod Mini - requires to be ejected as well (see RH bug #132195 for some - discussion). - - * doc/spec/hal-spec.xml.in: Add docs for storage.requires_eject, - storage.icon.drive and storage.icon.volume - -2004-09-24 David Zeuthen <david@fubar.dk> - - * libhal-storage/libhal-storage.c : - (hal_volume_policy_should_be_visible): s/moint/mount/ so the code - actually compiles :-/ - -2004-09-24 David Zeuthen <david@fubar.dk> - - * libhal-storage/libhal-storage.h: Add and hal_drive_find_all_volumes - and change hal_volume_policy_should_be_visible - - * libhal-storage/libhal-storage.c: Delete some uncommented code - (hal_volume_policy_should_be_visible): Accept a new parameter called - target_mount_point since we need to evaluate policy on unmounted - volumes and want to blacklist them in advance. Add documentation. - (hal_drive_find_all_volumes): New function to find all volumes - belonging to a drive - -2004-09-24 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_lvm2), - (volume_id_probe): probe for all raid types first, cause - probes for real filesystems may just be successful on raid - members - -2004-09-24 David Zeuthen <david@fubar.dk> - - * po/ChangeLog: New file - -2004-09-24 David Zeuthen <david@fubar.dk> - - * Makefile.am: Ensure that 'make distcheck' passes - (DISTCLEANFILES): Add intltool-(extract|merge|update) - (EXTRA_DIST): Add intltool-(extract|merge|update).in - -2004-09-23 David Zeuthen <david@fubar.dk> - - * po/POTFILES.in: New file - - * libhal-storage/libhal-storage.h: New file - - * libhal-storage/libhal-storage.c: New file - - * libhal/libhal.c: Add dgettext support - (hal_initialize): Bind to translation domain (but only once) - - * doc/api/Makefile.am (htmldocdir): Rename to api from libhal - - * Doxyfile.in: Add libhal-storage - - * configure.in: Add checks for i18n tools. Add hal-storage.pc, - libhal-storage/Makefile and po/Makefile.in to AC_OUTPUT - - * autogen.sh: Add checks for i18n tools - - * hal-storage.pc.in: New file - - * Makefile.am: Add libhal-storage and po to SUBDIRS. Add hal-storage.pc - -2004-09-23 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/block_class_device.c: (block_class_pre_process): fix - matching of volume_id partition index to block device partition index - -2004-09-21 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/block_class_device.c: (block_class_accept): - skip legacy floppies here, until we get proper sysfs links to the - platform device and switch over to merge floppies into that device. - Legacy floppies handled until that in platform_bus_device.c - - I'm working on fixing the kernel sysfs /device-links and with such - a link hald probes legacy floppies with block_class_device.c which - we don't want right now cause it can block the whole process. - -2004-09-21 David Zeuthen <david@fubar.dk> - - Patch from Martin Pitt <martin.pitt@canonical.com> - - * hald/linux/linux_dvd_rw_utils.c (get_read_write_speed): Several - Ubuntu users reported that hal does not start up properly. I - debugged this and found out that hald/linux/linux_dvd_rw_utils.c - contains an unchecked buffer access which causes a segfault. The - attached patch fixes that; it might not be the most correct - solution, but it works. The error is still present in 0.2.98; I - made the fix in 0.2.92, but the patch should still apply. - -2004-09-21 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_pre_process): Set - has_removable_media for USB floppies in case the removable file in - sysfs is gone - -2004-09-20 Kay Sievers <kay.sievers@vrfy.org> - - Add support for usb-serial devices: - - * hald/Makefile.am: add serial_class_device.c, - usb_serial_bus_device.c - - * hald/linux/osspec.c: (hald_helper_data): plug serial_class_handler, - usb_serial_bus_handler into the device processing - - * hald/linux/serial_class_device.c: (serial_class_device_accept), - (serial_class_pre_process): new file to support serial ports - - * hald/linux/usb_serial_bus_device.c: - (usb_serial_device_compute_udi), (usb_serial_device_pre_process): - support for bus devices from the usb-serial subsystem - - * tools/device-manager/Const.py.in: add the new busses - - * tools/device-manager/Makefile.am: add the new icon - - * tools/device-manager/Representation.py: support the new serial - port icon - - * tools/device-manager/hal-serial-port.png: picture of serial port - - -2004-09-20 Kay Sievers <kay.sievers@vrfy.org> - - * hald/Makefile.am: add new logging glue file for - drive_id/ - - * hald/linux/drive_id/drive_id.c: remove own dbg() - implementation and map to the HAL logger - - * hald/linux/drive_id/drive_id.h: next version number - - * hald/linux/drive_id/drive_id_logging.h: map to - the HAL logging function - - * hald/linux/volume_id/volume_id.h: next version number - -2004-09-20 David Zeuthen <david@fubar.dk> - - * configure.in: Bump version to 0.2.98 - -2004-09-20 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Add docs for volume.size - - * hald/linux/block_class_device.c (volume_set_size): Use the - BLKSIZEGET64 ioctl to get the size in bytes and populate volume.size - (block_class_pre_process): Use volume.size when doing volume_id - -2004-09-20 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_pre_process): - Catch up with changes made in volume_id described below - - * hald/linux/volume_id/volume_id.h: Remove partition_number - as it's redundant. Rename partition_msdosparttable_type to - partition_type_raw - - * hald/linux/volume_id/volume_id.c (probe_msdos_part_table): - Don't set partition_number as it's gone - -2004-09-20 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Add docs for volume.is_partition, - volume.partition.number and volume.partition.x86_type - - * hald/linux/block_class_device.c: - (set_volume_id_values): Add some more debug - (detect_media): Set volume.is_partition to FALSE - (block_class_pre_process): Set the new volume.is_partition, - volume.partition.number and volume.partition.x86_type properties - - * hald/linux/volume_id/volume_id.c (probe_msdos_part_table): Set - partition_number and partition_msdosparttable_type - - * hald/linux/volume_id/volume_id.h: Add partition_number and - partition_msdosparttable_type members - -2004-09-20 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_vfat): Trivial fix - for debug output, the last iteration of the loop should end - with 0 not -1 - -2004-09-19 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Add section about policy agents and - media insertion into drives that another application is holding - a lock on. - -2004-09-19 David Zeuthen <david@fubar.dk> - - * hald/hald_dbus.c (agent_device_matches): Removed - (agent_merge_properties): Removed - (agent_manager_remove): Removed - (agent_manager_commit_to_gdl): Removed - (agent_manager_new_device): Removed - (filter_function): Removed all the AgentManager methods - (raise_udi_in_use): Removed - - * doc/spec/hal-spec.xml.in: Add docs for info.locked. Remove section - about HAL agents as they are now gone. Fixed up renaming of scsi_device - to scsi. - - * doc/spec/hal-arch.dia: Remove HAL Agents - - * doc/spec/hal-linux26.dia: Update diagram since we now use a local - socket from hal.hotplug and hal.dev helpers. - - * examples/locking.py: New file; shows how to use locking - -2004-09-19 David Zeuthen <david@fubar.dk> - - Patch from Sjoerd Simons <sjoerd@luon.net>. - - * hald/linux/usb_bus_device.c (usb_proc_parse): usb_proc_parse() - parses /proc/bus/usb/devices but never closes the FILE struct, - which obviously leads to a fd leak. Fixed in attached patch. - -2004-09-19 David Zeuthen <david@fubar.dk> - - Patch from Alexander Larsson <alexl@redhat.com>. It seems that - some models of cd-rw drives doesn't seem to support the GET - CONFIGURATION command. At least mine returns sense 5h. However, to - automatically support cdrom blanking, nautilus-cd-burner needs to - correctly know if the medium is rewritable. Thus the attached - patch uses the READ DISC INFORMATION command to get that - information. - - * hald/linux/block_class_device.c (detect_disc): Use disc_is_rewriteable - - * hald/linux/linux_dvd_rw_utils.c (disc_is_rewritable): New function - - * hald/linux/linux_dvd_rw_utils.h: Add prototype for new function - -2004-09-19 David Zeuthen <david@fubar.dk> - - * hald/hald_dbus.c: Include dbus-glib-lowlevel.h instead of dbus-glib.h - (filter_function): Remove some debug output - - * configure.in: Check for selinux_removable_context_path in - libselinux - - * tools/fstab-sync.c: - (get_removable_context): - (fs_table_add_volume): - (add_udi): - (remove_udi): - (clean): - Patch from Dan Walsh <dwalsh@redhat.com> to add fscontext to - /etc/fstab for SELinux. Also removes patch that restored context - for /etc/fstab since this is not needed. - -2004-09-17 Joe Shaw <joeshaw@novell.com> - - * doc/TODO: Remove the device locking section, it's done now. Woo! - - * doc/spec/hal-spec.xml.in: Add the Lock and Unlock methods to the - spec. - - * hald/hald_dbus.c (raise_device_not_locked, - raise_device_already_locked): New errors for the locking methods. - (device_query_capability): Change the parsing to split up caps on - spaces rather than doing a substring match. - (device_lock): Implements the Lock dbus method, which grabs an - advisory lock on a device. - (device_unlock): Implements the Unlock dbus method. - (service_deleted): Callback which releases locks when the locking - service quits. - (filter_function): Add a ServiceDeleted handler, check for Lock - and Unlock methods. - (hald_dbus_init): Add a match for the ServiceDeleted signal so we - can see when things disconnect from the bus. - - * libhal/libhal.c (hal_device_lock): Added. Takes an advisory - lock for a device. - (hal_device_unlock): Releases the lock. - -2004-09-17 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_vfat): - Fix endless loop for FAT32 volumes where the root directory - cluster chain is not terminated. Follow a maximum of 100 clusters - now and stop searching if we find a directory-end entry. - -2004-09-17 David Zeuthen <david@fubar.dk> - - Patch from Steve Grubb <linux_4ever@yahoo.com>. - - * configure.in: Add HALD_PID_FILE to config.h - - * hald/hald.c: - (delete_pid): New function - (main): Write pidfile. Set atexit to delete_pid. - - * hald/haldaemon.in: Don't write pidfile - -2004-09-16 David Zeuthen <david@fubar.dk> - - Revisit networking. Basically a) split ethernet and wireless into - net.80203 and net.80211 properties; b) support renaming of - devices; c) use uint64 datatype; d) add property for whether an - interface is up and track this; and e) general cleanups when - properties are available and not - - * doc/spec/hal-spec.xml.in: Update spec with changes made. Also - add uint64 property type - - * hald/device_store.c (hal_device_store_match_key_value_int): New - function - - * hald/device_store.h: Add prototype for function - hal_device_store_match_key_value_int - - * hald/linux/hald_helper.h: Add net_ifindex member - - * hald/linux/net_class_device.c: - (mii_get_rate): Rename net.ethernet.rate to net.80203.rate and make - the type uint64 - (mii_get_link): Rename net.ethernet.link to net.80203.link - (set_device_link_status): Remove function - (link_detection_handle_message): Also listen for interface up/down - messages on the netlink socket; maintains net.interface_up. Also - handle renaming messages. Remove net.80203.* properties if the - interface is down. Remove net.80203.rate if net.80203.link is FALSE. - Only check rate for net.80203 devices (fixes crasher for my new - Atheros card; remember?) - (net_class_pre_process): Rename from net.ethernet to net.80203 and - also have separate net.80211 namespace. Add net.interface_up and - net.linux.ifindex properties. Set net.{80203,80211}.mac_address - as a uint64 rather than net.ethernet.{mac_addr,mac_addr_upper24, - mac_addr_lower24}. - (net_class_accept): Small reorg of code - (net_class_post_merge): Always start listening to netlink socket - - * hald/linux/osspec.c: - (process_coldplug_list): Use NULL for hotplug_msg when invoking - add_device - (recover_net_device): New function - (add_device): Use net_ifindex and recover net device to handle - renaming of networking devices by udev and/or initscripts. Now - optionally uses the hotplug msg which may be NULL. - (rem_device): Optionally use the hotplug msg which may be NULL. - (hald_helper_hotplug): Pass on hotplug msg - (hald_helper_device_name): Pass on hotplug msg - (hald_helper_hotplug_process_queue): Pass on hotplug msg - (hald_helper_data): Pass on hotplug msg - - * tools/linux/hal_hotplug.c: - (wait_for_sysfs_info): Wait for ifindex for net devices and - extract the value - (main): pass on net_ifindex value to hotplug msg - -2004-09-15 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_hfs_hfsplus): - Copy over extents array for later examination. Fixes the - label reading of a 40 GB hfsplus volume that I found on - my neighbours desk. - -2004-09-15 David Zeuthen <david@fubar.dk> - - * hald/hald_dbus.c (foreach_device_match_get_udi_tdl): New function - (manager_find_device_string_match): Also return devices in the TDL - that has a non-temporary UDI - -2004-09-14 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (set_uuid): Swicht from - length parameter to the type of uuid to be able to use the - same format for the uuid string, the native platform uses. - (probe_hfs_hfsplus): Switch the uper and lower part of the number to - match the number OS X prints with hfs.util. - (probe_linux_raid), (probe_ext), (probe_reiserfs), (probe_xfs), - (probe_jfs), (probe_vfat),(probe_hfs_hfsplus), (probe_ntfs): Set uuid - by type instead of length - - -2004-09-14 Kay Sievers <kay.sievers@vrfy.org> - - Patch from: Sjoerd Simons <sjoerd@luon.net> - - * hald/linux/multimedia_class_device.c: - Debian does have the v4l2 stuff in the kernel headers. So just - copying causes the compile to fail on my system. Luckily it - defines HAVE_V4L2, so we can check for that. - -2004-09-14 Kay Sievers <kay.sievers@vrfy.org> - - Change Hotplug handling to better match the kernel. The next kernel - version will have a u64 hotplug sequence number starting at 1. - We can't be sure, that an ACTION != "add" is everytime a "remove" event, - change that to pass the action string around instead of the flag. - - * hald/linux/hald_helper.h: - * hald/linux/osspec.c: - * tools/linux/hal_dev.c: - * tools/linux/hal_hotplug.c: - Change the hal_message structure to carry the u64 sequence number - and the ACTION as a string. Change message type to an enum. Rename - devnode to devname to match the udev name. - Use the u64 sequence number and change the logic not to rely on - negative numbers. The first sequence number will never be 0 in the - kernel, so we use it if we don't get one from udev. - -2004-09-14 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (cdrom_get_properties): Also set - storage.cdrom.dvdrw to FALSE. Add note about we should be giving - the SCSI ioctl stuff some love soon. - - * hald/linux/volume_id/volume_id.c (probe_vfat): Don't le16_to_cpu - for vs->sectors_per_cluster - it's a 8-bit quantity. Fixes bug with - one of my FAT32 volume labels - -2004-09-13 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/multimedia_class_device.c: - (multimedia_class_device_accept), (multimedia_class_pre_process): - New file for initial support of video4linux devices. It's just - a starting point and we need more input from users of v4l - devices. For a simple webcam it currently looks like this: - multimedia.device = '/udev/video0' (string) - info.category = 'multimedia' (string) - multimedia.video.can_capture = true (bool) - multimedia.audio.has_audio = false (bool) - multimedia.tuner.has_tuner = false (bool) - multimedia.linux.version = 'v4l' (string) - info.udi = '/org/freedesktop/Hal/devices/usb_device_5a9_a511_100_-1_noserial' (string) - - * hald/linux/osspec.c: Add the new multimedia_class_handler to - probe for video device properties on device discovery - - * tools/device-manager/Representation.py: Change "video" to - "multimedia" to have a nice icon for the screenshots :) - -2004-09-13 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_hfs_hfsplus): Add - support for hfsplus with the physical location of the root node - specified by a higher extent as the first one. This fixes - the label reading on David's big hfsplus volume - I always - expected that the volume was broken :) - Also add initial support for hfs anf hfsplus uuid's. - -2004-09-12 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_in_gdl): Force the - initial poll if we support media_check_enabled; should fix some - issues with the IBM USB Memory Stick that shockingly report - /sys/block/<drive>/removable set to 0. - -2004-09-12 David Zeuthen <david@fubar.dk> - - * hal.conf.in: Fixup this file as it was broken. Reported by - Kay Sievers <kay.sievers@vrfy.org>. - -2004-09-12 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_vfat): Patch from - Sjoerd Simons <sjoerd@luon.net> to fix vfat label reading - on big endian systems - -2004-09-07 David Zeuthen <david@fubar.dk> - - * hald/linux/osspec.c (hald_helper_hotplug_process_queue): Check - for duplicate events and ignore them - -2004-09-07 David Zeuthen <david@fubar.dk> - - Patch from Sjoerd Simons <sjoerd@luon.net> - - * configure.in: - * hald/Makefile.am: - All binaries generated by hal currently have -lexpat in their - LDFLAGS. Which by itself is not a problem, except that libtool - puts it as a library dependency in libhal.la. Which is ofcourse - unnecessary. Attached patch fixes this by using the expat link - option only for the hald binary. No screenshot for this one - though :) - -2004-09-03 David Zeuthen <david@fubar.dk> - - Patch from Martin Pitt <martin@piware.de>. - - * hal.conf.in: Drop AgentManager interface. Allow both HAL_USER - and root to own the org.freedesktop.Hal service. - - * hald/Makefile.am: Link with libcap - - * hald/hald.c: (usage), (drop_privileges), (main): - add option --drop-privileges which causes hald not to run as root, - but as @HAL_USER@ in @HAL_GROUP@ and all additional groups set in - /etc/group, and keeping the necessary capabilities to do its - job. This does _not_ change the default behaviour, if the option - is not specified, hald runs as root, as before. - -2004-09-03 David Zeuthen <david@fubar.dk> - - Patch from Martin Pitt <martin@piware.de>. - - * hald/linux/block_class_device.c: (cdrom_get_properties), - (detect_media): - * hald/linux/input_class_device.c: (input_class_pre_process): - * hald/linux/printer_class_device.c: (printer_class_pre_process): - Intercept unchecked ioctl calls and log failures. - -2004-09-02 Joe Shaw <joeshaw@novell.com> - - * hald/device.c (hal_device_property_get_bool): Aiee! If the - property is not found, we want to return FALSE instead of -1. - - * hald/property.c (hal_property_get_bool): Return FALSE if the - type isn't boolean in the assertion, not -1. - - * hald/linux/common.c (rename_and_merge): Fix some broken logic - which only worked because it was depending on -1 being returned - from boolean functions. If I understand its original intent - correctly, it should still work. (Of course, info.not_available - is never set to TRUE programmatically, so unless it's set in FDI - files it never actually comes up) - - * doc/TODO: Update the "Computer" HalDevice item, remove a - duplicate item. - -2004-09-01 David Zeuthen <david@fubar.dk> - - Patch from Jon Lech Johansen <jon@nanocrew.net>. Add support for - properties of 64-bit unsigned integers. Right now this is not used - as the D-BUS python bindings needs a patch. - - * hald/device.c: (hal_device_merge_with_rewrite), - (hal_device_merge), (hal_device_matches), - (hal_device_property_get_uint64), (hal_device_property_set_uint64), - (hal_device_print): - * hald/device.h: - * hald/device_info.c: (handle_match), (handle_merge), (end): - * hald/hald_dbus.c: (foreach_property_append), - (device_get_property), (device_set_property): - * hald/linux/common.c: (parse_hex_uint64): - * hald/linux/common.h: - * hald/linux/ieee1394_node_class_device.c: - (ieee1394_node_class_pre_process): - * hald/linux/net_class_device.c: (net_class_pre_process): - * hald/property.c: (hal_property_new_uint64), - (hal_property_get_uint64), (hal_property_to_string), - (hal_property_set_uint64): - * hald/property.h: - * hald/pstore.c: (hal_pstore_save_property), - (hal_pstore_load_property): - * libhal/libhal.c: (hal_device_get_all_properties), - (hal_psi_get_uint64), (hal_device_get_property_uint64), - (hal_device_set_property_helper), (hal_device_set_property_string), - (hal_device_set_property_int), (hal_device_set_property_uint64), - (hal_device_set_property_double), (hal_device_set_property_bool), - (hal_device_remove_property), (hal_device_print): - * libhal/libhal.h: - * tools/device-manager/DeviceManager.py: - * tools/hal_get_property.c: (main): - * tools/hal_set_property.c: (usage), (main): - * tools/lshal.c: (dump_devices), (print_property): - -2004-09-01 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c (fs_table_line_is_mounted): New function - (fs_table_remove_generated_entries): Don't remove generated entries - that are in use (e.g device mounted at path). Fixes problem with - restarting the hal daemon with devices mounted (e.g. on package - upgrade etc.) - - * hald/callout.c (process_callouts): Print full path of callout - -2004-09-01 David Zeuthen <david@fubar.dk> - - This was a fun debugging session that led to this fix :-) - Basically when building optimized binaries (like for the Fedora - RPMS) an interesting sideeffect showed up: gobject signal handlers - are run in arbritrary order. This means that we were processing - hotplug events for sda%d before sda was added; which resulted in - the unavailability of the kids because they couldn't find their - parent. Now we look at the device store to infer when to process - the next event. Which is more correct and actually makes hal - work. This *never* once showed up when not building without - --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu - --target=i386-redhat-linux-gnu. Oh well. - - * hald/linux/osspec.c (process_coldplug_list_on_gdl_store_add): - Renamed from _callouts_done_for_device - (process_coldplug_list): Wait for device to be added to GDL instead - of relying on callouts to complete (device obj may not have been added - to GDL just because the callouts complete) - (reenable_hotplug_on_gdl_store_add): Renamed from reeanble_hotplug_proc - (reenable_hotplug_on_gdl_store_remove): New function - (hald_helper_hotplug): Rather look at the GDL for additions and - removals than looking at whether callouts complete - -2004-08-31 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_hotplug.c: Don't wait for 'removable' file - it just - isn't available for non-top-level block devices (duh) - -2004-08-31 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c: - (detect_media): Don't poll on drives with storage.removable set to FALSE - (block_class_pre_process): Use the /sys/block/<drive>/removable file - - * tools/device-manager/DeviceManager.py: Don't print out Conditions; - should give us more headroom until D-BUS is fixed wrt. rules maximum - and subscription of signals in the python bindings - - * tools/linux/hal_hotplug.c: Wait for 'removable' file for 'block' - system events - -2004-08-31 Kay Sievers <kay.sievers@vrfy.org> - - * tools/linux/hal_hotplug.c: (wait_for_sysfs_info): Fix timout - calculation and don't wait for usb-files if we are called for a - usb class, just wait for a dev file - -2004-08-31 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c (clean): Call restore_selinux_context if we - have selinux - -2004-08-31 David Zeuthen <david@fubar.dk> - - * hald/Makefile.am (hald_SOURCES): Also add volume_id_logging.h so - distribution tarballs work - -2004-08-30 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_linux_raid): Skip very - very small volumes, caus our end of volume calculation is wrong in - that case. - - * hald/linux/volume_id/volume_id_logging.h: Add a new file - to wrap the HAL logging facility into volume_id - -2004-08-30 David Zeuthen <david@fubar.dk> - - * tools/linux/Makefile.am (uninstall-local): Get the uninstall rules - right for 10-hal.dev and 20-hal.hotplug - -2004-08-30 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c: (open_temp_fstab_file), (add_udi), - (remove_udi), (clean): Go back to creating the temporary - file in /etc. Add note about using /tmp (giving up atomicity) - if /etc is in general readonly - -2004-08-30 David Zeuthen <david@fubar.dk> - - * configure.in: Add SELinux checks - - * tools/Makefile.am: Build fstab-sync with selinux support if applicable - - * tools/fstab-sync.c: - (restore_selinux_context): New functions - (add_udi): Use restore_selinux_context - (remove_udi): Use restore_selinux_context - - * tools/linux/Makefile.am: Install hal.hotplug and hal.dev symlinks - prefixed with 20- respectively 10-. - -2004-08-29 David Zeuthen <david@fubar.dk> - - * tools/linux/Makefile.am (install-data-local): Use 20-hal.hotplug for - hotplug helper and 10-hal.dev for dev.d helper. Suggested by Kay - Sievers <kay.sievers@vrfy.org>. - -2004-08-29 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_media): Set volume.fsusage - to empty string by default - (block_class_pre_process): Also set volume.fsusage to empty string by - default. Set storage.drive_type to disk by default (should now work - the the ub kernel driver instead of usb-storage) - - * hald/hald.c (main): Print out version - - * tools/linux/hal_dev.c (main): Put in option for more debug - -2004-08-28 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_hotplug.c: Add some more files to wait for - (wait_for_sysfs_info): Only wait 10 secs (should be enough; we're - waiting for the kernel) - -2004-08-28 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c: - (block_class_visit): Fail if parent isn't already there (this and - other things should close RH Bug #131154) - - * hald/linux/bus_device.c: - (bus_device_visit): Fail if parent isn't already there - - * hald/linux/class_device.c: - (class_device_visit): Fail if parent isn't already there; return - NULL if we merge onto parent. Leave TODO about how to deal with - this (other devices will be processed while we merge; probably - not a big deal since we don't yet have callouts) - (class_device_final): Add a TODO about running callouts when merge - is complete - - * hald/linux/osspec.c: - (process_coldplug_list_callouts_done_for_device): Also discon. cancelled - (process_coldplug_list_device_cancelled): Also discon. done_for_device - (process_coldplug_list): Pass coldplug_list as param to cancelled - (reenable_hotplug_proc_on_device_cancel): Also disconnect _proc - (reenable_hotplug_proc): Also disconnect _cancel - -2004-08-28 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/block_class_device.c: - (get_first_valid_partition), (detect_media): Fix leftover from - volume_id name change, which broke no_partitions media. - Clarify comments only a few lines apart, to not claim the direct - opposite - -2004-08-27 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: - (probe_lvm1), (probe_lvm2): Add detection of LVM physical drives - (probe_linux_raid): add version number of raid - - * hald/linux/volume_id/volume_id.h: We are at version 021 now. - It started as a replacement of the FAT label reading code in HAL. - I _never_ expected that we seek over the whole disk now to search - for raid signatures and support nearly every filesystem I've ever - had a formatting tool for :) - -2004-08-27 David Zeuthen <david@fubar.dk> - - * AUTHORS: Add Kay Sievers <kay.sievers@vrfy.org> cause he rocks. - Sort the list in alphabetical order of surname (I'm just soo - political correct :-) - - * fdi/20freedesktop/canon-digital-ixus-v.fdi: Merge onto usb_device - since we really don't know what interface to target - - * hald/linux/hald_helper.h: Change comment about seqnum - - * hald/linux/libsysfs/sysfs_dir.c (sysfs_open_link): Patch from - Steve Grubb <linux4_ever@yahoo.com> to fix leak on error condition. - - * hald/linux/osspec.c: - (add_computer_callouts_done): Move from TDL to GDL - (osspec_probe): Add to TDL; callouts may need it (seen by Kristof - Vansant <de_lupus@pandora.be> - (hald_helper_device_node): Print out seqnum - (hald_helper_data): Pass seqnum - - * hald/logger.h: Ignore ENABLE_VERBOSE_MODE; always compile all - logging statements in (should take the heat of some bugreports) - - * tools/linux/hal_dev.c (main): Pass seqnum if available; otherwise - pass -1. - -2004-08-26 Joe Shaw <joeshaw@novell.com> - - * configure.in: Don't check for a C++ compiler... we don't have - any C++ code. - - * doc/spec/hal-spec.xml.in: Add a section about kernel properties. - - * hald/linux/osspec.c (osspec_probe): Get kernel info from uname() - and add the properties to the Computer device. - -2004-08-26 Kay Sievers <kay.sievers@vrfy.org> - - * doc/spec/hal-spec.xml.in: Add description of "volume.fsusage" - - * hald/linux/block_class_device.c: - (set_volume_id_values): Use "volume.fsusage" instead of "is_filesystem" - and "is_part_of_raid" - (detect_media), (block_class_pre_process): Set missing defaults and - remove "is_filesystem" - - * hald/linux/volume_id/volume_id.c: (probe_linux_raid), - (probe_msdos_part_table), (probe_ext), (probe_reiserfs), - (probe_xfs), (probe_jfs), (probe_vfat), (probe_udf), - (probe_iso9660), (probe_ufs), (probe_mac_partition_map), - (probe_hfs_hfsplus), (probe_ntfs), (probe_swap): Switch naming - form "format" and "type" to "type" and "usage" to match the - names we use in HAL now. - - * tools/fstab-sync.c: (udi_is_volume_or_nonpartition_drive): - Switch from "is_filesystem" to "volume.fsusage" to determine - if the volume is mountable - -2004-08-25 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_hotplug_map.c (main): Match usb_device rather - than usb since we don't want to merge onto interfaces. - -2004-08-25 David Zeuthen <david@fubar.dk> - - * configure.in: Add option for new callout hal-hotplug-map - - * hald/device.[ch]: Add the "cancelled" signal and hal_device_cancel - method - - * hald/hald.c (main): Avoid daemonization for now; will make hald - hang if anything fails up-until device probing (RH bug 130849) - - * hald/linux/class_device.c (class_device_got_device_file): - Cancel the device if don't get the device file - - * hald/linux/common.h: Increase timeout to 60 secs. Make note - about we really need the SEQNUM support in udev - - * hald/linux/osspec.c: - (process_coldplug_list_device_cancelled): New function - (process_coldplug_list): Add support for cancelling - (reenable_hotplug_proc_on_device_cancel): New function - (hald_helper_hotplug): Add support for cancelling - (hotplug_sem_up): Add some helpful debug - (hotplug_sem_down): Add some helpful debug - (hald_helper_data): Add some helpful debug - - * tools/Makefile.am: Also remove callout on uninstall - - * tools/fstab-sync.c: - (fs_table_remove_volume): Only require device_file not complete Volume - object - (remove_udi): Don't require storage device to be present (fixes some - problems when unplugging unpartitioned media as we don't get hotplug - event and things are thus not serialised) - - * tools/linux/Makefile.am: Build and, optionally, install - hal-hotplug-map callout - - * tools/linux/hal_hotplug_map.c: New program; a tad Red Hat specific - wrt. file locations; patches are welcome. The single purpose of - this callout is to detect gphoto2 supported cameras and libsane - supported scanners using usermap files in /etc/hotplug. - -2004-08-25 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/block_class_device.c: - (set_volume_id_values), (get_first_valid_partition), - (volume_set_size), (detect_media), (block_class_pre_process): Add - "volume.is_part_of_raid" and pass the size of the volume down to - volume_id to be able to look for a raid superblock at the end of - the device. - * hald/linux/volume_id/volume_id.c: - (probe_linux_raid) : Add linux_raid detection with reading of the - raid set uuid - (probe_msdos_part_table): follow extended partiton while probing - (vfat_search_label_in_dir), (probe_vfat): Support reding of labels - stored in the directory of FAT32 and read the whole root directory - instead of only the first cluster - (probe_mac_partition_map): return UNUSED and PARTITIONTABLE types - for know Apple partitions - (volume_id_probe): Add raid detection, if volume_id is called with - the size of the volume. - -2004-08-23 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_media): - (block_class_pre_process): Set volume.is_filesystem to FALSE by default - -2004-08-23 David Zeuthen <david@fubar.dk> - - * hald/linux/osspec.c (osspec_probe): Add info.udi to computer - (process_shutdown_list_callouts_done_for_device): New function - (process_shutdown_list): New function - (shutdown_add_recursively_to_list): New function - (osspec_shutdown): Completely rewrite the shutdown code - - * hald/haldaemon.in: Add 'sleep 3' when restarting the hal daemon - to get a chance for the shutdown callouts to run - -2004-08-23 David Zeuthen <david@fubar.dk> - - * tools/Makefile.am (install-data-local): Install the fstab-sync - if applicable. - - * configure.in: Add the --enable-fstab-sync option to automatically - install a 50-fstab-sync.hal symlink to fstab-sync. - -2004-08-23 David Zeuthen <david@fubar.dk> - - * hald/hald.c (main): Setup a pipe and make parent wait until client - writes to it. - (osspec_probe_done): Write to the parent to make it exit - -2004-08-23 David Zeuthen <david@fubar.dk> - - * hald/hald.c (main): Move daemonazation back to beginning (fixes - fdo bug #1165) for now - -2004-08-23 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (force_unmount): Don't clear the - volume.* properties - - * hald/linux/osspec.c (rem_device): Call the removed method on the - ClassDeviceHandler - - * tools/fstab-sync.c: - (fs_table_add_volume): Only use fstype auto for optical and floppy - drives; ignore the rest if fstype cannot be probled (fixes *some* - issues with RAID partitions getting added to fstab) - (volume_determine_mount_point): Complete rewrite; this was broken - for ieee1394 drives. Also check if the directory is available - in /media or whatever the root is - (fs_table_remove_generated_entries): Also remove directory in - /media. Fixed a bug where only every other line was removed. - -2004-08-23 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c (fs_table_has_volume): Properly resolve symlinks - that aren't fully qualified - -2004-08-23 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: - (probe_msdos_part_table), - (volume_id_probe): Patch from Sjoerd Simons <sjoerd@luon.net> - to move msdos partition table probing to the end of the list. - He found a ext3 with msdos signature on the first block. - Also add a check if all partitions are empty, so we do not - recognize it as a msdos partition table. - -2004-08-22 David Zeuthen <david@fubar.dk> - - * hald/callout.c: Only invoke callouts if they have the .hal extension. - Export HALD_VERBOSE if the hald instance is started with verbose. - Add HALD_STARTUP resp. HALD_SHUTDOWN only if the callout is in response - to hald starting up/shutting down. - - * hald/hald.c: Add an verbose option. Use the HALD_VERBOSE environment - variable. Postpone daemonization until we are done probing. - - * hald/hald.h: Move hald_is_[verbose|initialising|is_shutting_down] here - - * hald/linux/bus_device.c: - (bus_device_visit): We can now always assume we got a parent - - * hald/linux/class_device.c: - (class_device_visit): We can now always assume we got a parent - - * hald/linux/common.h: - - * hald/linux/drive_id/drive_id.c: - - * hald/linux/osspec.c: Complete rewrite of probing code; now we - construct a list of ''coldplug events'' and feed them to the - two new functions add_device() and rem_device(); this unifies - a few codepaths and it's much faster, cleaner and just yummier. - Also ensure that callouts are run sequentially. - - * hald/logger.c: - (logger_enable), - (logger_disable): New functions - (logger_emit): Print time and don't print function name - - * hald/logger.h: Add logger_[enable|disable]. - - * tools/fstab-sync.c: - (open_temp_fstab_file): Use /tmp for the temporary file - (fs_table_has_volume): Remove debug spew - (add_udi): Log a message to the syslog on success - (remove_udi): Log a message to the syslog on success - (clean): Log a message to the syslog on success - (main): Use HALD_VERBOSE. When invoked for the ''computer'' device - object on hald startup, automatically clean the fstab (but only if - using a managed keyword). Don't remove entries on hald - shutdown. In line with the osspec.c changes (sequential callouts) - we now get a fully sanitized /etc/fstab at hald startup, Yay! - - * tools/linux/hal_dev.c: (main): Less syslog spamming - - * tools/linux/hal_hotplug.c: - (wait_for_sysfs_info): Less syslog spamming - (main): Less syslog spamming - -2004-08-20 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c: (probe_reiserfs), - (probe_swap): Export format_version for reiser and swap - -2004-08-19 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c: Lot's of changes: remove old locking code; - fix security issue (remove dev,suid) with the given mount options - (RH bug #130290); Use a, pretty lame perhaps, heuristic to add - noatime,sync for hotpluggable volumes smaller than 1GB. Check device - mentioned in /etc/fstab for symlink and if found, update the - block.device property in HAL if applicable; Use macros for mount - root and noop keyword (see configure.in changes). - - * hald/linux/block_class_device.c (volume_set_size): New function - (detect_media): Call volume_set_size - (block_class_pre_process): Call volume_set_size - - * doc/spec/hal-spec.xml.in: Add documentation for volume.block_size - and volume.num_blocks. - - * configure.in: Add gobject>=2.2.2 to PKG_CHECK_MODULES. Patch from - Steve Grubb <linux_4ever@yahoo.com>. Added some configuration options - for fstab-sync. - -2004-08-19 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/block_class_device.c: Add volume.fsversion to the - volume if avalable. Currently FAT12, FAT16, FAT32, and the - NTFS version unmber is supported. - - * hald/linux/volume_id/volume_id.[ch]: bump to version 013 - o remove msdos probe type (handled by vfat now) - o introduce format_version to return the filesystem version - if available. We can provide vfat(FAT32) or NTFS(3.1) now. - o no longer trust the version string in the fat superblock, - it's not correct to do this. The type of FAT is _only_ de- - termined by the count of clusters. - o vfat's "NO NAME" is a empty label now - o support for FAT labels stored in the directory instead of the - superblock (XP does this). volume_id ignores the label in the - superblock if you have a label in the directory. - -2004-08-17 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c (volume_new): Use vfat instead of msdos - - * hald/linux/volume_id/volume_id.c (probe_msdos): Revert ugly hack - -2004-08-17 David Zeuthen <david@fubar.dk> - - * configure.in: Patch from Tim Gerla <tim@gerla.net>. It looks - like the configure script for hal doesn't properly handle - --with-pid-file as an argument, because of the glitch illustrated - by the patch I've attached. - - * hald/linux/volume_id/volume_id.c (probe_msdos): Introduce a - hack where this is set to vfat instead. - - * hald/linux/hald_helper.h (HALD_HELPER_SOCKET_PATH): Don't use - the local prefix, always use /var, cause otherwise it's difficult - when developing on hal and using a local prefix (we want to use - the installed hal.dev, hal.hotplug from a package) - - * hald/linux/volume_id/volume_id.[ch]: Patch from Kay Sievers - <kay.sievers@vrfy.org>. Long weekend with a few rain showers, so - here is a update to volume_id :). We finally get the same uuid for - a ntfs volume on Windows and with HAL. Also msdos extended - partitons are handled now. - -2004-08-16 David Zeuthen <david@fubar.dk> - - * configure.in: Bump to 0.2.97 - -2004-08-16 David Zeuthen <david@fubar.dk> - - * configure.in: Add the --enable-fstab-op to specify whether we - want to use a keyword (currently kudzu) when adding entries - to the fstab. Default is off - - * hald/linux/block_class_device.c: - (block_class_visit): Only return the HalDevice if the parent exists - (detect_media): Print out debug statement when we forcibly probe - for media - (block_class_pre_process): Detect the ide-cs driver by looking at - the sysfs path (!) and set the media_check_enable to FALSE. Only - do volume_id and drive_id probing if storage.media_check_enabled - is TRUE. Sets the volume.fstype to 'vfat,msdos,auto' in this case. - Fixes issues with the ide-cs driver - (block_class_in_gdl): Add a comment about how we could defer - the check for non-partitioned media via a timeout - (deferred_check_for_non_partition_media): The function to check - for media; not currently used - (mtab_handle_storage): Use detect_media() to add the new child - when a non-partition volume we didn't know about was mounted - (mtab_handle_volume): Remove non partitioned media on drives - that can't be polled when it's unmounted. - - * hald/linux/bus_device.c: - (bus_device_visit): Only return the HalDevice if the parent exists - - * hald/linux/class_device.c: - (class_device_visit): Only return the HalDevice if the parent exists - (class_device_got_parent_device): Print out the sysfs path instead - of the HAL UDI - - * hald/linux/ide_bus_device.c: - (ide_device_accept): New function; currently the same as the super - class but useful for testing - - * hald/linux/ide_host_bus_device.c: - (ide_host_device_accept): Don't pickup toplevel ide_host objects - cause they're not hotplugged anyway (thus no way to remove them) - - * tools/fstab-sync.c: - (volume_new): Also check if the volume.fstype is empty - -2004-08-15 David Zeuthen <david@fubar.dk> - - Sends messages from hotplug and device naming helpers via a local - socket. Reorder the hotplug events we receive in hald according to - SEQNUM and use a semaphor pattern to ensure that we don't process - a hotplug event before the device created in effect to the - previous event is completely processed (e.g. add/remove callouts - have run). - - * hald/Makefile.am: Remove scsi_host_class_device.c and add - scsi_bus_device.c, hald_helper.h. - - * hald/device_info.c: - (handle_match): Comment out debug - (scan_fdi_files): Comment out debug - - * hald/linux/block_class_device.c: - (block_class_visit): Return the HalDevice* object - (block_class_pre_process): Use 'scsi' instead of 'scsi_device' - (block_class_compute_udi): -do- - (mtab_handle_volume): Comment out debug - (etc_mtab_process_all_block_devices): Comment out debug - - * hald/linux/bus_device.c: - (bus_device_visit): Return the HalDevice* object - - * hald/linux/bus_device.h: Make the visit method return the HalDevice - object for tracking purposes - - * hald/linux/class_device.c: - (class_device_visit): Return the HalDevice* object - (class_device_got_sysdevice): Comment out debug - - * hald/linux/class_device.h: Make the visit method return the HalDevice - object for tracking purposes - - * hald/linux/common.c: - (rename_and_merge): Comment out debug - (class_device_get_device_file): Make debug statement more specific - - * hald/linux/net_class_device.c: - (net_class_compute_udi): Comment out debug - (net_class_udev_event): New function to ignore the udev event (duh) - - * hald/linux/osspec.c: Remove the ClassDeviceHandler scsi_device_ - class_device in favour of the BusDeviceHandler scsi_bus_device - (visit_class_device): Return the HalDevice* object - (visit_device): Return the HalDevice* object - (osspec_init): Listen for datagrams on a local socket from hal.dev - and hal.hotplug - (remove_device): Return the HalDevice* object - (remove_class_device): Return the HalDevice* object - (handle_hotplug): Removed - (handle_device_event): Removed - (osspec_filter_function): Is empty now. We got our information via - a local socket now - (reenable_hotplug_proc): New function - (hald_helper_hotplug): New function - (hald_helper_device_node): New function - (hald_helper_hotplug_process_queue): New function - (hotplug_sem_up): New function - (hotplug_sem_down): New function - (hald_helper_first_hotplug_event): New function - (hald_helper_data): New function - - * hald/linux/hald_helper.h: New file - - * hald/linux/scsi_bus_device.c: New file - - * hald/linux/scsi_device_class_device.c: Removed - - * hald/linux/scsi_generic_class_device.c: - (scsi_generic_get_device_file_target): New function. Merge the - device file information to scsi.generic_device instead - - * tools/device-manager/Const.py.in: s/scsi_device/scsi/ - - * tools/linux/Makefile.am: Don't link with D-BUS - - * tools/linux/hal_dev.c: - (get_sysfs_mnt_path): Removed - (main): Send the message via a local socket instead - - * tools/linux/hal_hotplug.c: - (main): Send the message via a local socket instead - -2004-08-13 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c: All debug statements now prints the pid - (volume_determine_device_type): Aiih. Due to hal not removing all - children devices before parent devices and the fact that we use - properties on a parent device when removing a volume we end up - with a problem. Thing is, we don't need this info when removing - fstab entries so simple fix is to call hal_device_exists() for the - UDI. - (volume_new): Typo, volume.fs_type should be volume.fstype - (add_udi): Print out debug when an entry was added - (remove_udi): Print out debug when an entry was removed - (clean): - (main): Use flock(2) to lock the /etc/fstab file. Also bail out - when there are no info.capabilities and we were invoked by hald. - Store PID in the global variable pid. - - * doc/TODO: Added TODO about removing childs before their parent - -2004-08-12 David Zeuthen <david@fubar.dk> - - * configure.in: Bump to 0.2.96 - - * doc/spec/hal-spec.xml.in: Include example-manager.py instead of - examply-manager.py. Sigh. - - * doc/spec/example-manager.py: New file - - * doc/spec/examply-manager.py: Removed - -2004-08-12 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Rewrite block.no_partitions spec. - Add storage.[serial|firmware_version] which was forgotton. - - * hald/linux/block_class_device.c (detect_media): Set to - value of storage.no_partitions_hint to honor the new spec when - creating a volume for media with no partition tables. - - * tools/fstab-sync.c: Remove DeviceType datatype; document entries - in Volume datatype. - (udi_is_volume_or_nonpartition_drive): Renamed from udi_is_volume - (compute_cdrom_name): New function - (volume_determine_device_type): Rewrite - (volume_new): Call udi_is_volume_or_nonpartition_drive. Always use - "auto" as target filesystem if not known - (fs_table_has_volume): Remove debug printfs - (fs_table_add_volume): Use hal properties to determine mount flags - (add_udi): Don't process volumes spawned from media w/o partitions - (remove_udi): Don't process volumes spawned from media w/o partitions - (main): Also handle capability 'storage' - -2004-08-12 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c (udi_is_volume): Simplify this a bit given - that cap volume always implies cap block - (main): Check the HAL_INFO_PROP_INFO_CAPABILITIES which is set - when invoked from hald to exit if it's not a volume - -2004-08-12 David Zeuthen <david@fubar.dk> - - * tools/fstab-sync.c: Set emacs mode to GNU, include mntent.h - (volume_new): Add label field - (volume_free): Destroy label field - (fs_table_has_volume): Renamed from fs_table_has_block_device, - handle LABEL= entries in fstab by looking at the volume and - looking up /etc/mtab - (fs_table_add_volume): Invoke fs_table_has_volume instead - of fs_table_has_block_device - -2004-08-11 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Add docs for block.have_scanned, - volume.is_filesystem, Device Conditions on volume device - objects (now with new names), 'unknown' value for - volume.disc.type, 'platform' value for storage.bus, rename - storage.automount_enabled to storage.automount_enabled_hint. Add - property storage.no_partitions_hint - - * hald/hald.conf: - * hald/hald_conf.[ch]: - Rename storage.automount_enabled to storage.automount_enabled_hint - and remove storage.cdrom_eject_check_enabled. - - * hald/linux/common.[ch]: - Remove find_and_set_virtual_device() - - * hald/linux/platform_bus_device.c: (platform_device_pre_process): - Set the correct properties for floppy drives - - * hald/property.c (hal_property_get_bool): Return FALSE instead of - -1 if property not found. - - * hald/linux/block_class_device.c: (set_volume_id_values), - (get_child_device_gdl), (get_child_device_tdl), - (block_class_visit), (cdrom_get_properties), (force_unmount), - (force_unmount_of_all_childs), (get_first_valid_partition), - (detect_disc), (detect_media), (block_class_pre_process), - (mtab_handle_storage), (mtab_handle_volume): - Unified codepaths for handling optical discs and other removable - storage. Handle media with no partition table much nicer - - * hald/linux/volume_id/volume_id.c: (set_label_string), - (set_label_unicode16), (set_uuid), (get_buffer), - (probe_msdos_part_table), (probe_ext), (probe_reiser), (probe_xfs), - (probe_jfs), (probe_vfat), (probe_msdos), (probe_udf), - (probe_iso9660), (probe_ufs), (probe_mac_partition_map), - (probe_hfs_hfsplus), (probe_ntfs), (probe_swap), (volume_id_probe), - (volume_id_close): - * hald/linux/volume_id/volume_id.h: - Add support for parsing partition tables from Kay Sievers - <kay.sievers@vrfy.org>. Change 'reiser' to 'reiserfs' because - the that's the name on Linux. - -2004-08-11 Ray Strode <rstrode@redhat.com> - - * tools/fstab-sync.c: don't require callout wrapper shell - script. - -2004-08-09 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Added some text about how storage_lun%d.* - and storage.* properties are merged from the physical device object - backing the block devices. Included .fdi example with 6in1 reader - to further clarify this. - - * doc/spec/hal/hal-devices1.png: - * doc/spec/hal/hal-fdi-example1.png: - Updated to show full device tree now that info.virtual is gone. - - * doc/spec/hal/hal-fdi-example2.png: New file - - * doc/spec/hal/hal-fdi-example3.png: New file - -2004-08-08 David Zeuthen <david@fubar.dk> - - * doc/TODO: Remove the TODO entry about support for multiple USB - interfaces since this is now done - - * hald/linux/usbif_bus_device.c (compute_name_from_if): New function - - * hald/linux/usb_bus_device.c: Rename all usb.* properties to - usb_device.* - - * hald/linux/usbif_bus_device.c: Rename all usbif.* properties to - usb.*. Merge usb_device.* properties from parent device. Essentially - an USB interface is now like an USB device was except that it - exports properties usb.interface.* to describe the USB interface - - * tools/device-manager/Const.py.in: - * tools/device-manager/Representation.py: - Handle the s/usb/usb_device/ and s/usbif/usb/ renamings - - * doc/spec/hal-spec.xml.in: Apply a patch from Kay with spelling/ - language/grammar improvements. Also update to reflect the USB - renaming. - - * hald/linux/usbif_bus_device.c (usbif_device_pre_process): - * hald/linux/scsi_host_class_device.c (scsi_host_class_pre_process): - * hald/linux/scsi_device_class_device.c - (scsi_device_class_pre_process): - * hald/linux/macio_bus_device.c (macio_device_pre_process): - * hald/linux/ieee1394_node_class_device.c - (ieee1394_node_class_pre_process): - * hald/linux/ieee1394_host_class_device.c - (ieee1394_host_class_pre_process): - * hald/linux/ide_host_bus_device.c (ide_host_device_pre_process): - * hald/linux/ide_bus_device.c (ide_device_pre_process): - * hald/linux/block_class_device.c (block_class_pre_process): - Don't set the info.virtual property - -2004-08-06 David Zeuthen <david@fubar.dk> - - * fdi/20freedesktop/canon-digital-ixus-v.fdi: Updated to match spec - - * fdi/20freedesktop/jetflash-mp3-player.fdi: Updated to match spec - - * doc/spec/hal-spec.xml.in: Work in progress - - * hald/linux/pcmcia_socket_class_device.c - (pcmcia_socket_class_pre_process): Add property pcmcia_socket.number - -2004-08-04 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Work in progress - -2004-08-04 David Zeuthen <david@fubar.dk> - - Patch from Dan Williams <dcbw@redhat.com> - - * libhal/libhal.c (filter_func): fix small memory leaks when - LibHalFunctions are missing - -2004-08-04 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Work in progress - -2004-08-03 David Zeuthen <david@fubar.dk> - - * doc/spec/hal-spec.xml.in: Work in progress - -2004-08-03 David Zeuthen <david@fubar.dk> - - * doc/spec/examply-manager.py: New file - - * doc/spec/hal-spec.xml.in: Work in progress - -2004-08-02 David Zeuthen <david@fubar.dk> - - * tools/device-manager/DeviceManager.py (DeviceManager.gdl_changed): - Upgrade to latest D-BUS python API - -2004-08-02 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c (filter_func): Only return RESULT_HANDLED if we - really handle the message. Otherwise return RESULT_NOT_YET_HANDLED. - Bug identified by Dan Williams <dcbw@redhat.com>. - -2004-08-02 David Zeuthen <david@fubar.dk> - - Patch from Dan Williams <dcbw@redhat.com> - - * hald/linux/ieee1394_class_device.c: - * hald/linux/ieee1394_host_class_device.c: - * hald/linux/ieee1394_node_class_device.c: - Gets rid of warnings and potential bugs due to default function return - type of 'int'. - -2004-08-02 David Zeuthen <david@fubar.dk> - - * doc/spec/Makefile.am (FIGURE_FILES): Add hal-linux26.png - - * doc/spec/hal-spec.xml.in: Work-in-progress commit - - * doc/spec/hal-linux26.dia: - * doc/spec/hal-linux26.png: New files - -2004-08-02 David Zeuthen <david@fubar.dk> - - * doc/spec/Makefile.am (FIGURE_FILES): Remove hal-devices-virtual1.png - - * doc/spec/hal-spec.xml.in: Work-in-progress commit - - * doc/spec/hal-arch.dia: - * doc/spec/hal-arch.png: - * doc/spec/hal-devices1.png: Updated - - * doc/spec/hal-devices-virtual1.png: Removed - -2004-08-02 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/block_class_device.c: (detect_fs), - (block_class_pre_process): - * hald/linux/drive_id/drive_id.c: (drive_id_probe): - * hald/linux/drive_id/drive_id.h: - * hald/linux/volume_id/volume_id.c: (probe_ext), (probe_reiser), - (probe_xfs), (probe_jfs), (probe_vfat), (probe_msdos), (probe_udf), - (probe_iso9660), (probe_ufs), (probe_hfs_hfsplus), (probe_ntfs), - (probe_swap), (volume_id_probe), (volume_id_open_node): - * hald/linux/volume_id/volume_id.h: - Attached is a trivial cleanup of the enum names, cause 'ALL' is - not a very good name in a global namespace. I've prepended the - libname to all names. - -2004-08-01 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_compute_udi): - If model and serial numbers are not available (for USB or IEEE1394 - devices), use the UDI for storage.physical_device and append the - SCSI LUN and prepend block_ to attain uniqueness. - - * hald/linux/scsi_device_class_device.c: - (scsi_device_class_pre_process): Add capability 'scsi_device' - - * hald/linux/scsi_host_class_device.c: - (scsi_host_class_pre_process): Add capability 'scsi_host' - -2004-08-01 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/Makefile.am: - * hald/linux/block_class_device.c: (block_class_pre_process), - (block_class_compute_udi): - * hald/linux/drive_id/drive_id.c: (dump), (set_str), (scsi_inq), - (probe_scsi), (probe_ata), (drive_id_probe), (drive_id_open_fd), - (drive_id_open_node), (drive_id_open_dev_t), (drive_id_close): - * hald/linux/drive_id/drive_id.h: - Here is the code, that reads the serial number of a drive, - directly connected to an ATA or SCSI bus. HAL probes for the - values and adds: storage.serial, storage.firmware_version, - storage.revision if available. - Note: This will only work on native interfaces. For devices behind - USB, it's not possible to get any of these values. There are some - bridges out there, which are capable to set the USB-values itself, - to the values from a ATA Inquiry, but unfortunally, most of the - bridges out there, don't do it. "USB storage compliance" mandates - a unique serial number, but most of the vendors seems not to care - about it. - I changed the compute_udi for block devices. If we get a serial - number or a uuid we use it to compute the udi. - -2004-07-30 Joe Shaw <joeshaw@novell.com> - - Patch from Dan Williams <dcbw@redhat.com> - - * hald/linux/net_class_device.c (link_detection_handle_message): - Fix a point arithmetic bug which caused link status changes to be - missed. Also fixes a compiler warning. - -2004-07-30 Joe Shaw <joeshaw@novell.com> - - * tools/device-manager/Representation.py (get_icon): Use get() - rather than indexing for "info.property" so that we can fall - back and not throw an exception if a device doesn't have it - set (as virtual devices often don't). - -2004-07-30 Joe Shaw <joeshaw@novell.com> - - * hald/hald.c (main): Update for the change to hald_dbus_init(): - don't get a DBusConnection from there, exit() if it fails. Also - update for the change to osspec_init(): don't pass in any - arguments. - - * hald/hald_dbus.c (hald_dbus_init): Don't exit() anywhere here; - instead return FALSE. Tell dbus not to exit if we're disconnected - from the bus. Return TRUE on success, not a DBusConnection. - (filter_function): Listen for the "Disconnected" signal on the - "Local" dbus interface and if so, unref the connection and try to - reconnect to the system bus every 3 seconds. - (reinit_dbus): Try to reconnect to the system bus. - - * hald/osspec.h: Change osspec_init() to not take any parameters; - the only backend (the Linux 2.6 one) wasn't using it. - - * hald/linux/osspec.c (osspec_init): Take void instead of a - DBusConnection. - -2004-07-30 Joe Shaw <joeshaw@novell.com> - - * hald/property.c (hal_property_new_string, - hal_property_set_string): Validate incoming strings as UTF-8 and - replace invalid sequences with '?' - -2004-07-29 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c (probe_hfs_hfsplus): - here we search for the first 'Apple_HFS' type partition. Please - have a look with your multi-multi-multi-partition DVD :) - -2004-07-29 David Zeuthen <david@fubar.dk> - - * hald/linux/volume_id/volume_id.c: Include <config.h> to take - advantage of AC_SYS_LARGEFILE - -2004-07-29 David Zeuthen <david@fubar.dk> - - * libhal/libhal.[ch]: s/namespace/property_namespace/ to not break - using libhal from C++. Pointed out by Simone Gotti - <simone.gotti@email.it> - -2004-07-29 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * configure.in: - * doc/spec/hal-spec.html: - * doc/spec/hal-spec.xml.in: - * hald/linux/block_class_device.c: - * hald/linux/volume_id/volume_id.c: (get_buffer), - (probe_hfs_hfsplus), (probe_ntfs), (volume_id_probe): - * hald/linux/volume_id/volume_id.h: - Here is support for recognition of hfs and hfsplus filesystems on - a main block device, like a CD. Only the first partition is - returned with the probe. - -2004-07-27 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_media): A mounted - disc wasn't detected; this is now 'fixed'. Spotted by Sjoerd Simons. - (is_mounted): New function to determine if a filesystem on a - device file is mounted - -2004-07-23 Joe Shaw <joeshaw@novell.com> - - * Makefile.am: Also dist HACKING. - -2004-07-22 David Zeuthen <david@fubar.dk> - - * packaging/fedora/hal.spec (Version): Bump to 0.2.95 - - * configure.in: Bump to 0.2.95 - -2004-07-22 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_hotplug.c (main): Apply the same hack we did to - hal_dev.c some time ago; improves hotplugging speed; suggestion by - Sjoerd Simons. - - * hald/linux/block_class_device.c (block_class_visit): Fixed a nasty - bug where .udev.sysfs_path were set before other key properties. This - resulted in lack of information in handle_udev_node_created_found_device - that was invoked as soon as .udev.sysfs_path were set. Obviously - this situation was only applicable when we got the DeviceEvent before - the HotplugEvent. udev is indeed fast. - - * hald/linux/class_device.c (class_device_visit): -do- - -2004-07-22 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * tools/device-manager/hal-computer.png: New file - - * tools/device-manager/Representation.py: Use hal-computer.png - - * tools/device-manager/Makefile.am (dist_devicemanager_DATA): Add - hal-computer.png - -2004-07-22 David Zeuthen <david@fubar.dk> - - * libhal/libhal.[ch]: Fixup documentation so doxygen no longer - complains - -2004-07-22 David Zeuthen <david@fubar.dk> - - Documentation love, part 1. Added the spec to the source tree because - we want closer sync between code and spec. Also generate doxygen - docs, but only for libhal. - - * Makefile.am: No longer reference Doxyfile - - * configure.in: Add a new option --enable-docbook-docs - - * doc/Makefile.am: Add spec to SUBDIRS - - * doc/api/Doxyfile.in: New file - - * doc/api/Makefile.am: New file - - * Doxyfile: Removed - - * Doxyfile.in: Removed - - * doc/spec/Makefile.am: New file - - * doc/spec/hal-arch.dia: New file - - * doc/spec/hal-arch.png: New file - - * doc/spec/hal-devices-virtual1.png: New file - - * doc/spec/hal-devices1.png: New file - - * doc/spec/hal-fdi-example1.png: New file - - * doc/spec/hal-sequence-diagram.dia: New file - - * doc/spec/hal-sequence-diagram.png: New file - - * doc/spec/hal-spec.html: New file - - * doc/spec/hal-spec.xml.in: New file - - * doc/spec/hal-volume-to-device.png: New file - -2004-07-21 Joe Shaw <joeshaw@novell.com> - - * hald/linux/bus_device.c (bus_device_move_from_tdl_to_gdl): If - the info.parent property is not set, then set it to the computer - device's UDI. - - * hald/linux/class_device.c (class_device_move_from_tdl_to_gdl): - Ditto. - - * hald/linux/common.c (device_move_from_tdl_to_gdl): Remove this, - it's dead code. - - * hald/linux/osspec.c (osspec_probe): Rename "fakeroot" to "root", - rename its product from "City of Lost Devices" to "Computer", - change its UDI to "computer" from "fakeroot", and make it - non-virtual. - - * hald/linux/platform_bus_device.c (platform_device_pre_process): - Change "fakeroot" to "computer". - -2004-07-21 Joe Shaw <joeshaw@novell.com> - - * tools/fstab-sync.c: #include "libhal/libhal.h" to fix the build - for me. - -2004-07-21 David Zeuthen <david@fubar.dk> - - Commit of first stab at callouts for shutdown; needs some more work. - Now to update the spec - - * hald/device_info.c: (scan_fdi_files): Remove some noisy debug - - * hald/hald.c: - (handle_sigterm): New function - (sigterm_iochn_data): New function - (main): Handle SIGTERM, setup GIOChannel for safe handling of POSIX - signal - - * hald/linux/block_class_device.c: - (detect_media): Comment out noisy EBUSY debug - - * hald/linux/osspec.c: - (visit_class_device): Removed unused dir variable - (shutdown_callouts_finished): New function - (do_shutdown_callouts): New function - (osspec_shutdown): New function - - * hald/osspec.h: Add prototype for osspec_shutdown() - -2004-07-21 David Zeuthen <david@fubar.dk> - - * doc/TODO: changed key="udi:<X>/<Y>" to 'udi="<X>" key="Y"' after - suggestion by David Malcolm - -2004-07-21 David Zeuthen <david@fubar.dk> - - * doc/TODO: Added the TODO 'Rescan() method on HalDevice'. - Added the TODO 'Privilege Management'. - Put some more info on 'Locking of devices' and 'Power Management', - namely that HAL export generic methods on HalDevice. - -2004-07-21 David Zeuthen <david@fubar.dk> - - * doc/TODO: Removed 'CD burning' TODO, since this is now fixed. - Added entry on .fdi files. Add entry on handling SIGTERM in a - nice way. - -2004-07-20 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c: - (detect_media): use O_EXCL for optical drive media detection, much - safer since O_EXCL is actually in mainline. Removes possible burning - problems (that is, if only cdrecord open(2)'s the device using O_EXCL; - bug filed against fedora-devel, hopefully it will bubble upstream) - -2004-07-20 David Zeuthen <david@fubar.dk> - - * hald/linux/class_device.c: (class_device_accept), - (class_device_visit): - * hald/linux/common.c: (drivers_collect): - * hald/linux/ieee1394_class_device.c: (ieee1394_class_pre_process): - * hald/linux/ieee1394_host_class_device.c: - (ieee1394_host_class_pre_process): - * hald/linux/ieee1394_node_class_device.c: - (ieee1394_node_class_pre_process): - * hald/linux/osspec.c: (visit_class_device): - * hald/linux/volume_id/volume_id.c: - More updates to libsysfs 1.1; from Joe Shaw's earlier patch - -2004-07-18 David Zeuthen <david@fubar.dk> - - * doc/TODO: Added a few items, 'UTF8 support' and 'Dependencies, - Robustness' - -2004-07-18 David Zeuthen <david@fubar.dk> - - * doc/TODO: updated; changed the - http://freedesktop.org/Software/HalTODO - page on fd.o Wiki to point to doc/TODO on HEAD. - -2004-07-18 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/libsysfs/*.[ch]: - (visit_device), (osspec_probe): Update to libsysfs 1.1 - - * hald/linux/bus_device.c: (bus_device_got_parent): - * hald/linux/class_device.c: (class_device_final): - * hald/linux/osspec.c: (visit_class_device), (visit_class), - Adjust to use libsysfs 1.1 - -2004-07-15 David Zeuthen <david@fubar.dk> - - * configure.in: Bump version to 0.2.94 - - * packaging/fedora/hal.spec (Version): Bump to 0.2.94 - -2004-07-15 David Zeuthen <david@fubar.dk> - - Patch from Sjoerd Simons <sjoerd@luon.net> - - * hald/linux/block_class_device.c (block_class_pre_process): It - seems there was some code missing for the detection of the - physical device for scsi devices. Attached patch fixes - this. Causing the new gnome-vfs patch to work properly on my - workstation :) - -2004-07-15 David Zeuthen <david@fubar.dk> - - Patch from Ray Strode <rstrode@redhat.com> - - * tools/Makefile.am: Add rules for building fstab-sync - - * tools/fstab-sync.c: New file - -2004-07-14 David Zeuthen <david@fubar.dk> - - Patch from Sjoerd Simons <sjoerd@luon.net> - - * tools/device-manager/DeviceManager.py: - * tools/device-manager/LibGladeApplication.py: - * tools/device-manager/hal-device-manager: - Attached patch makes hal-device-manager shows the error about hald - not running in a gtk messagedialog instead of on the - console. Which ensures that when running it from the menu you see - more then just a flash if hald isn't running :) Also it changes - some deprecated functions to use their non-deprecated counterparts - -2004-07-11 David Zeuthen <david@fubar.dk> - - * tools/hal_get_property.c, tools/hal_set_property.c: Make the - command line interface a bit nicer. Patch from Martin Waitz - <tali@admingilde.org> - -2004-07-10 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org>. - - * hald/linux/volume_id/volume_id.[ch]: Update to discover hfs - wrapped hfs+ partitions, mac_partition_maps and udf - -2004-07-08 David Zeuthen <david@fubar.dk> - - * hald/linux/platform_bus_device.c (platform_device_pre_process): - Introduce the x86 legacy floppy into THE CITY OF LOST DEVICES both - info.parent- and storage.device-wise - -2004-07-08 David Zeuthen <david@fubar.dk> - - Some more fixes caught by extensive testing - - * hald/linux/block_class_device.c (mtab_handle_storage): Consolidate - three if statements into one. Also search TDL for child. Don't remove - child if called second time. - (mtab_handle_volume): Don't check volumes added by mtab_handle_storage - e.g. volumes we detect on mount only - -2004-07-07 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_media, mtab_handle_storage): - Use class_device_move_from_tdl_to_gdl() instead of device_move_from_ - tdl_to_gdl() so we get the in_gdl callback when callouts complete - that will detect media and process the mtab to update mount status - - * hald/linux/class_device.h: Add class_device_move_from_tdl_to_gdl() - prototype - - * hald/linux/class_device.c (class_device_move_from_tdl_to_gdl): - Promote to project wide scope - -2004-07-06 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_media): Fix media detection - that was broken when introducing support for floppy drives twelwe - days ago :-/ - -2004-07-06 David Zeuthen <david@fubar.dk> - - * hald/linux/volume_id/volume_id.c: Remove #define DEBUG - -2004-07-06 David Zeuthen <david@fubar.dk> - - * hald/linux/bus_device.c (bus_device_move_from_tdl_to_gdl): Removed - the wrong handler so on remove this was called and the device was - added to the GDL again. Resulting in the device was never removed. - - * hald/linux/class_device.c (class_device_move_from_tdl_to_gdl): - Same as above - -2004-07-06 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_pre_process): Disable - media_check+automount and set block.no_partitions to TRUE for - floppy drives - Now my LS120 drive in my Dell laptop works fine - with HAL. - -2004-07-06 David Zeuthen <david@fubar.dk> - - * packaging/fedora/hal.spec (Version): Bump to 0.2.93 - - * configure.in: Bump to 0.2.93 - -2004-07-06 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org>. Better msdos - detection for floppy disks - -2004-07-05 David Zeuthen <david@fubar.dk> - - * hald/linux/volume_id/volume_id.c (volume_id_probe): Comment - out get_buffer, it's quite time consuming on floppies and Kay - says OK. Move probe_vfat() and probe_msdos() to the top. - -2004-07-05 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org>. Add hfs support - -2004-07-05 David Zeuthen <david@fubar.dk> - - * hald/linux/input_class_device.c (input_class_accept): Make this - static (remove warning) - - * hald/linux/osspec.c (osspec_init): Remove error variable (remove - warning) - (visit_bus): Comment out this function because it is not currently - used (remove warning) - - * hald/linux/block_class_device.c (block_class_in_gdl): New function - (block_class_pre_process): Move check for media and mtab to the new - block_class_in_gdl method - -2004-07-05 David Zeuthen <david@fubar.dk> - - * hald/linux/ieee1394_host_class_device.c: Add class_device_in_gdl - method - - * hald/linux/ieee1394_node_class_device.c: Add class_device_in_gdl - method - - * hald/linux/ieee1394_class_device.c: Add class_device_in_gdl method - - * hald/linux/pcmcia_socket_class_device.c: Add class_device_in_gdl - method - - * hald/linux/block_class_device.c: Add class_device_in_gdl method - - * hald/linux/scsi_device_class_device.c: Add class_device_in_gdl method - - * hald/linux/scsi_host_class_device.c: Add class_device_in_gdl method - - * hald/linux/scsi_generic_class_device.c: Add class_device_in_gdl - method - - * hald/linux/printer_class_device.c: Add class_device_in_gdl method - - * hald/linux/net_class_device.c: Add class_device_in_gdl method - - * hald/linux/input_class_device.c: Add class_device_in_gdl method - - * hald/linux/class_device.c (class_device_in_gdl): New function - (class_device_move_from_tdl_to_gdl): New function, specialised version - of device_move_from_tdl_to_gdl that calls in_gdl method - (class_device_final): Call class_device_move_from_tdl_to_gdl instead - and create a ClassAsyncData variable to carry data around - - * hald/linux/class_device.h: Add in_gdl method to ClassDeviceHandler - and prototype for default method class_device_in_gdl (). - - * hald/linux/pci_bus_device.c: Add bus_device_in_gdl method - - * hald/linux/usb_bus_device.c: Add bus_device_in_gdl method - - * hald/linux/usbif_bus_device.c: Add bus_device_in_gdl method - - * hald/linux/ide_host_bus_device.c: Add bus_device_in_gdl method - - * hald/linux/ide_bus_device.c: Add bus_device_in_gdl method - - * hald/linux/macio_bus_device.c: Add bus_device_in_gdl method - - * hald/linux/platform_bus_device.c: Add bus_device_in_gdl method - - * hald/linux/bus_device.c (bus_device_in_gdl): New function - (bus_device_move_from_tdl_to_gdl): New function, specialised version - of device_move_from_tdl_to_gdl that calls in_gdl method - (bus_device_got_parent): Call bus_device_move_from_tdl_to_gdl instead - and carry on the BusAsyncData bad variable; conditionally free it - on failure though. - - * hald/linux/bus_device.h: Add in_gdl method to BusDeviceHandler - and prototype for default method bus_device_in_gdl (). - -2004-07-05 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_dev.c (main): Disable logging. Also fork(2) a - new process and make parent exit to temporarily fix that udevstart - takes a few minutes to run - -2004-07-04 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_hotplug.c: 'product' file is also not guaranteed - to exist for USB devices - -2004-07-04 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_hotplug.c: Don't wait for 'manufacturer' file for - USB devices since it's not guaranteed to exist. - Observed by Eric Butler <eric@extremeboredom.net> - -2004-07-04 David Zeuthen <david@fubar.dk> - - * hald/device_info.c (scan_fdi_files): Use glib to determine - the file type since d_type in struct dirent can be DT_UNKNOWN - Observed by Eric Butler <eric@extremeboredom.net> - -2004-07-04 David Zeuthen <david@fubar.dk> - - * hald/linux/net_class_device.c (set_device_link_status): - (net_class_pre_process): Don't check for link on wireless devices - -2004-06-28 Joe Shaw <joeshaw@novell.com> - - * linux/volume_id/volume_id.c (set_label_unicode16): Change - condition to not wrap around on very short (or empty) labels. - -2004-06-26 David Zeuthen <david@fubar.dk> - - * fdi/20freedesktop/Makefile.am (dist_fdi20freedesktop_DATA): - Install jetflash-mp3-player.fdi - - * fdi/20freedesktop/jetflash-mp3-player.fdi: New file - -2004-06-24 David Zeuthen <david@fubar.dk> - - Add floppy support to HAL - tested with x86 legacy floppies and - an USB floppy drive. - - * tools/device-manager/Const.py.in (BUS_NAMES): Add platform bus - - * hald/linux/common.h: Add read_single_line_grep prototype - - * hald/linux/common.c (read_single_line_grep): New function - - * hald/linux/block_class_device.c (detect_media): Add the - force_poll parameter to poll on devices with media detection - explicitly disabled. Introduce support for non-optical drives - with block.no_partitions set to TRUE. Remember to clear linux.* - properties for discs and volumes from block.no_partitions as hot - unplugging such drives will cause the top-level block device to - stay as the child is found instead when searching on - linux.sysfs_path - (block_class_pre_process): Introduce a nasty hack to read - /proc/scsi/usb-storage/<scsi-hostnumber> to determine if we're - a floppy drive and thus should set block.no_partitions to TRUE - (foreach_block_device): Rename to mtab_foreach_device, split into - mtab_handle_volume and mtab_handle_storage - (mtab_handle_volume): New function, handle normal partition based - volumes in /etc/mtab - (mtab_handle_storage): New function, handle block.no_partitions - volumes in /etc/mtab - (block_class_removed): Make sure to remove the HAL-made child - if block.no_partitions is TRUE - - * hald/linux/block_class_device.c (disc_remove_from_gdl): Rename - to volume_remove_from_gdl - - * hald/linux/platform_bus_device.c: New file - - * hald/Makefile.am (hald_SOURCES): Add platform_bus_device.c - -2004-06-23 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * libhal/libhal.c (filter_func): Use DBUS_HANDLER_RESULT_HANDLED - instead of NOT_YET_HANDLED - - * hald/hald.dbus.c: Use DBUS_HANDLER_RESULT_HANDLED - instead of NOT_YET_HANDLED - - * hald/linux/osspec.c: Use DBUS_HANDLER_RESULT_HANDLED - instead of NOT_YET_HANDLED - -2004-06-23 Joe Shaw <joeshaw@novell.com> - - Patch from Sjoerd Simons <sjoerd@luon.net> - - * hald/pstore.c: #define HOST_NAME_MAX to 256 if it's undefined as - per the gethostname manpage. - -2004-06-20 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c (get_buffer): s/lseek/lseek64/ - -2004-06-20 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (foreach_block_device): Don't - clear volume.mount_point when learning that the device is - unmounted. Seen by Kay Sievers <kay.sievers@vrfy.org> - -2004-06-20 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.[ch] : Extract volume label from - NTFS disks - -2004-06-20 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/osspec.c (osspec_init): Remove support for listening - to udev as this is now handled by the HAL dev.d callout. - -2004-06-20 David Zeuthen <david@fubar.dk> - - * hald/Makefile.am (install-data-local): Create - $(LOCALSTATEDIR)/lib/hal - - * hald/linux/common.c (rename_and_merge): Check - persistent_device_list configuration value - - * hald/device.c (hal_device_property_set_attribute) - (hal_device_property_set_string, hal_device_property_set_bool) - (hal_device_property_set_double, hal_device_property_remove): - Check persistent_device_list configuration value - - * hald/hald.c (main): Check persistent_device_list configuration - value - - * hald/hald.conf: Add persistent_device_list tag, set to false - as default - - * hald/hald_conf.h: Add persistent_device_list member - - * hald/hald_conf.c (hald_conf): Add persistent_device_list member - (end): Check for persistent_device_list tag - - * hald/property.h: Rename property_attribute to PropertyAttribute - -2004-06-20 David Zeuthen <david@fubar.dk> - - Patch from Kay Sievers <kay.sievers@vrfy.org> - - * hald/pstore.[ch]: New files - - * hald/linux/common.c (rename_and_merge): Load a device from disk - - * hald/property.h: Add property_attribute enum and - hal_property_get_attribute(), hal_property_set_attribute() - - * hald/property.c: Add readonly, persistence, callout bools to - HalProperty - (hal_property_set_attribute): New function - (hal_property_get_attribute): New function - - * hald/hald_dbus.c (device_set_property): Set property to persistent - - * hald/hald.h: Add hald_get_pstore_sys - - * hald/hald.c (hald_get_pstore_sys): New function - (main): Load persistent store - - * hald/device.h: Add hal_device_property_set_attribute() - - * hald/device.c (hal_device_property_set_string): - (hal_device_property_set_int, hal_device_property_set_bool) - (hal_device_property_set_double): Save property to disk if the - PERSISTENCE attribute is set - (hal_device_property_remove): Delete property from disk if the - PERSISTENCE attribyte is set - (hal_device_property_set_attribute): New function - - * hald/Makefile.am (INCLUDES): Add PACKAGE_LOCALSTATEDIR - (hald_SOURCES): add pstore.[ch] - -2004-06-11 Joe Shaw <joeshaw@novell.com> - - Patch from Dan Williams (dcbw@redhat.com). - - * hald/linux/net_class_device.c (link_detection_init): Make - netlink_fd static and only set up a watch on it once, since we get - notifications for all interfaces through this one socket. - (link_detection_handle_message): Get the link status and - interface, and iterate over all the devices. - (set_device_link_status): New function. First checks for - "net.interface" and if it matches the interface passed in, set the - link status property. - -2004-06-09 Joe Shaw <joeshaw@novell.com> - - * hald/linux/block_class_device.c (detect_media): Set info.product - to volume.label if it's set. - (block_class_pre_process): Set info.product to volume.label if - it's set, otherwise try to append the fstype to "Volume". - -2004-06-09 Joe Shaw <joeshaw@novell.com> - - Fix some refcounting issues - - * hald/linux/block_class_device.c: Unref the device after we add - it to the TDL. - (disc_add_to_gdl): Removed; it's functionally equivalent to - device_move_from_tdl_to_gdl() in common.c. - (disc_remove_from_gdl): Disconnect the signal handlers before - removing from the TDL (and thus finalizing). - (detect_media): Unref the child after adding it to the TDL. - Replace signal handler for "callouts_finished". - - * hald/linux/bus_device.c (bus_device_visit): Unref device after - adding it to the TDL. - (bus_device_got_parent): Don't unref after removing from the TDL. - - * hald/linux/class_device.c (class_device_visit): Unref device - after adding it to TDL. - (class_device_got_parent_device, class_device_got_sysdevice, - class_device_got_device_file, class_device_final): Don't unref - after removing from the TDL. - - * hald/linux/osspec.c (osspec_probe): Unref the fakeroot device - after adding it to GDL. - -2004-06-07 Joe Shaw <joeshaw@novell.com> - - * doc/TODO: Add an item about capability matching in FDI files. - - * fdi/20freedesktop/Makefile.am: Add lucent-pcmcia-wireless.fdi - - * fdi/20freedesktop/lucent-pcmcia-wireless.fdi: Added. Matches - Lucent WaveLAN cards and sets info.bus to pcmcia and a sane vendor - and product. - - * tools/device-manager/Const.py.in: Add PCMCIA as a bus type. - -2004-06-07 Joe Shaw <joeshaw@novell.com> - - * configure.in: Remove the iwlib dependency. - - * hald/linux/net_class_device.c: Remove the wireless properties. - This stuff is better suited to a library like iwlib - (net_class_pre_process): But still check for the existence of the - "wireless" directory and set the net.ethernet.80211 capability if - it's there. - - * hald/hald_conf.c: Remove deprecated use of a label at the end of - a function and just return instead of goto'ing there. - -2004-06-07 David Zeuthen <david@fubar.dk> - - * configure.in: Bump to 0.2.92 - - * packaging/fedora/hal.spec: Install the symlink in - /etc/dev.d/default/hal.dev. Patch from Kristian Høgsberg - <krh@bitplanet.net>. Bump version to 0.2.92 - -2004-06-06 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_visit): Add the - block.no_partitions boolean property and set it to FALSE by - default. If this is TRUE it means that media for this toplevel - block device will appear as children but there can be at maximum - one child and the block.device will be the same. This applies to - floppy and cdrom media. This property have been introduced such - that a callout can update the fstab in advance of media insertion - on e.g. floppy drives and optical drives. - (block_class_pre_process): Set block.no_partitions to TRUE for - optical drives. - - * tools/callouts/fstab-update.sh: When block.no_partitions is TRUE - create entry only for top-level block device. - -2004-06-05 David Zeuthen <david@fubar.dk> - - * packaging/fedora/hal.spec: Add hald.conf to %files. Patch from - Kristian Høgsberg <krh@bitplanet.net> - - * ChangeLog: Fixup the danish character ø in Kristians last name - since we want to use ISO-8859-1 in ChangeLog :-) - -2004-06-04 Joe Shaw <joeshaw@novell.com> - - Patch from Kristian Høgsberg <krh@bitplanet.net> - - * hald/linux/input_class_device.c (input_class_accept): New - function. Accepts devices with no sysdevice but which begin with - "event". For built-in, non-sysfs input devices like PS/2 mice. - (input_class_pre_process): Set the major and minor numbers as - properties. If there is no sysdevice, do an ioctl() on the device - to try to get identifying info about it and set it in - info.product. - (input_class_compute_udi): Added. Computes the UDI for devices - that don't get merged onto parents. - (input_class_handler): Use input-specific functions for the accept - and compute_udi functions. - -2004-06-03 Joe Shaw <joeshaw@novell.com> - - * hald/linux/printer_class_device.c (printer_class_device_accept): - Reject class devices that have no sysdevice. - -2004-06-01 David Zeuthen <david@fubar.dk> - - * hald/hald.conf: New file, policy for hal daemon - - * hald/Makefile.am: Install hald.conf into $sysconfdir/hal - - * hald/hald_conf.c (hald_read_conf_file): New function - (cdata): New function - (end): New function - (start): New function - (parsing_abort): New function - - * hald/hald.c (main): Call hald_read_conf_file to read the - configuration file - - * hald/hald_conf.h (hald_read_conf_file): Added hald_read_conf_file - prototype - - * hald/linux/block_class_device.c (block_class_pre_process): add - storage.cdrom capability if device is a cdrom - -2004-06-01 David Zeuthen <david@fubar.dk> - - * hald/hald_conf.[ch]: New files, vendor and user specific - configuration of the HAL daemon - - * hald/Makefile.am (hald_SOURCES): Add hald_conf.[ch] - - * hald/linux/block_class_device.c (block_class_pre_process): Set - storage.media_check_enabled and storage.automount_enabled to - default value from HaldConf. Forgot to set volume.is_mounted to - FALSE when building the device. NOTE: when media_check_enabled is - set to FALSE use touch /dev/sda (or whatever) to force a poll for - media. So, now to write a /etc/hal/hald.conf configuration file - parser :-) - (cdrom_check): Set storage.cdrom.eject_check_enabled to default - value from HaldConf - (detect_media): Disable continous printing of error when no medium - is in storage device. Respect the storage.media_check_enabled and - storage.cdrom.eject_check_enabled properties - - * hald/hald.c (main): Remove opt_run_as - -2004-05-31 David Zeuthen <david@fubar.dk> - - * AUTHORS: Added Joe Shaw - - * hald/linux/block_class_device.c (detect_media): Add code for - checking whether the eject button is pressed on an optical drive. - If detected the condition 'EjectPressed' is emitted on the disc - HalDevice with a single string representing the device file. - Also remove BAR and FOO debug statements from earlier development - sessions. Yay. - -2004-05-28 Joe Shaw <joeshaw@novell.com> - - * hald/linux/net_class_device.c (rehash_wireless): Forgot to change - a couple of references of "net.ethernet.80211" to - "net.ethernet.is_80211", so properties wouldn't get updated. - -2004-05-27 David Zeuthen <david@fubar.dk> - - * hald/linux/volume_id/volume_id.c (volume_id_open_node): While - debugging the file descriptor leak that stops cdroms being - ejected, I noticed a theoretical file descriptor when the box runs - out of memory. Patch from Crispin Flowerday <gnome@flowerday.cx> - - * hald/linux/block_class_device.c (block_class_accept): Added this - since 2nd level block devices, e.g. sda1, doesn't have sysdevices - and the generic class_device_accept was changed to required this. - -2004-05-26 Joe Shaw <joeshaw@novell.com> - - * hald/linux/net_class_device.c (parse_scanning_token): We're - likely to get multiple SIOCGIWFREQ tokens. If it's lower than - 1000, then it's the channel and not the frequency. Ugh. - -2004-05-26 Joe Shaw <joeshaw@novell.com> - - * configure.in: Add --enable-iwlib, and check for it so we can - build the wireless functionality. - - * hald/linux/net_class_device.c: Add wireless network support. - Adds a bunch of properties for the current state of things, as - well as scanning for networks. - (open_wireless_sysfs_subdir): Open the sysfs "wireless" path and - read in a bunch of properties. - (get_wireless_properties): Use the iwlib API to extract a bunch of - additional properties, like the protocol, frequency, crypto key, - ESSID, mode (ad-hoc, managed, etc), access point mac address. - Also start scanning for other available access points. - (read_scanning_results, parse_scanning_token, aps_to_properties): - helper functions to read in the scanning data and expose as - properties the list of networks (not access points!) available. - (net_class_pre_process): Call get_wireless_properties(). - (net_class_tick): Added. Gets wireless properties every 5 ticks. - (net_class_handler): Call net_class_tick() instead of - class_device_tick(). - -2004-05-25 Joe Shaw <joeshaw@novell.com> - - * hald/Makefile.am: Add the ieee1394 class devices. - - * hald/linux/block_class_device.c: Replace use of locally defined - AsyncInfo with ClassAsyncData. - - * hald/linux/bus_device.c: Replace use of locally defined - AsyncInfo with BusAsyncData. - - * hald/linux/class_device.c: Replace use of locally defined - AsyncInfo with ClassAsyncData. - (class_device_accept): Check here if the class device has a - sysdevice and reject it if it doesn't. - (class_device_visit): Don't check for it here. If it is NULL, set - merge_or_add to FALSE so that we don't try to merge it onto a fake - device. If the sysdevice is NULL, set the parent sysfs path to - "(none)", which will match our fake parent device. - (class_device_final): Take a third argument for merge_or_add and - check it instead of the ClassDeviceHandler's default behavior. - - * hald/linux/ieee1394_class_device.c, - hald/linux/ieee1394_host_class_device.c, - hald/linux/ieee1394_node_class_device.c: New IEEE1394 class device - implementation. Seems to even work somewhat on some small subset - of the world's computers. - - * hald/linux/net_class_device.c (net_class_pre_process): If there - is an address, set the net.address property to it, regardless of - what type of net device it is. - (net_class_accept): Added. Allows us to have net class devices - without an associated sysdevice. Only allow it if it's an - ethernet device for now. - (net_class_compute_udi): Added. Needed in situations where the - class device has no sysdevice, we need to generate a UDI since we - aren't merging onto a parent device. - - * hald/linux/osspec.c: Reenable the ieee1394 class device - handlers. - (osspec_probe): Create a fake root device to be the parent for all - of our sysdevice-less devices. It's a virtual device, has the UDI - "/org/freedesktop/Hal/devices/fakeroot", and the sysfs path device - of "(none)". - - * tools/device-manager/Const.py.in (BUS_NAMES): Add "unknown" to - the list of known bus names. - -2004-05-25 David Zeuthen <david@fubar.dk> - - * configure.in: Bump to 0.2.91 - - * packaging/fedora/hal.spec: Bump to 0.2.91 - -2004-05-25 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (read_etc_mtab): hal doesn't - close the filedescriptor when it /etc/mtab wasn't changed of the - fstat failed. Also when closing a file stream opened with fdopen, - the original fd is also closed (the fdopen function doesn't dup - the fd). So the close after fclose is wrong. Patch from Sjoerd - Simons <sjoerd@luon.net>. - (detect_fs): When fs detection fails the volume_id struct wasn't - closed, causing a mem and fd leak. And as a side effect, causing - me to be unable to open my cd writer with the eject button when - there was a blank cd inside :). Patch from Sjoerd Simons - <sjoerd@luon.net>. - -2004-05-18 Joe Shaw <joeshaw@novell.com> - - * tools/callouts/fstab-update.sh: Use /media as long as it's there - and /mnt doesn't exist. Otherwise fallback to /mnt. Should - happily work on all distros. Patch from Sjoerd Simons - <sjoerd@luon.net>. - -2004-05-17 Joe Shaw <joeshaw@novell.com> - - * tools/callouts/fstab-update.sh: Guard against the script being - killed mid-execution by doing all the updates in a copy and then - moving it over later on add. Patch from Martin Waitz - <tali@admingilde.org>. - -2004-05-15 Owen Fraser-Green <owen@discobabe.net> - - * packaging/fedora/hal.spec: bump version to 0.2.90, D-BUS version - bump, PreReq change to include useradd and include hal.dev. Also - changed ${foo} variables to %{foo}. - -2004-05-13 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c - (detect_media): Move disc properties into volume.disc.* namespace and - only set them for optical discs. Use disc_is_appendable() to set - volume.disc.is_appendable. Specifically, the following properties - are now available for discs (e.g. iff volume.is_disc is TRUE) - - volume.disc.has_audio - TRUE iff the disc got audio tracks - volume.disc.has_data - TRUE iff the disc got data tracks - volume.disc.is_appendable - TRUE iff further data can be written - volume.disc.is_blank - TRUE iff the data is blank - volume.disc.is_rewriteable - TRUE iff the disc can be reformatted - volume.disc.type - type of disc, can assume "cd_rom", "cd_r", - "cd_rw", "dvd_rom", dvd_r", "dvd_rw", - "dvd_ram", "dvd_plus_r", "dvd_plus_rw" - - (block_class_pre_process): Don't set volume.disc_type, but set the - boolean property volume.is_disc. - - * hald/linux/linux_dvd_rw_utils.c (disc_is_appendable): new function - -2004-05-09 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_dvd_rw_utils.h: - s/get_dvd_media_type/get_disc_type/ - - * hald/linux/linux_dvd_rw_utils.c (get_dvd_media_type): - s/get_dvd_media_type/get_disc_type/ - -2004-05-13 Joe Shaw <joe@ximian.com> - - * hald/linux/block_class_device.c (detect_media): Connect to the - "callouts_finished" signal and call the callouts rather than - removing the volume from the GDL here. Patch from Sjoerd Simons - <sjoerd@luon.net> - - * hald/linux/net_class_device.c (mdio_read): Make the result an - out parameter and return 0 on success and -1 on failure. - (mii_get_rate): Check the result of mdio_read(). Put the check - for whether it's 10mbit in an else-if. - (mii_get_link): Check the result of mdio_read(). Based on a patch - from Sjoerd Simons <sjoerd@luon.net> - -2004-05-08 Joe Shaw <joe@ximian.com> - - * tools/callouts/fstab-update.sh: Improve the locking loop. - -2004-05-07 Joe Shaw <joe@ximian.com> - - * NEWS: Update the udev requirements. Patch rom Kay Sievers - <kay.sievers@vrfy.org> - - * doc/TODO: Add an item about clean daemon shutdown. - - * tools/callouts/fstab-update.sh: Add locking on the fstab so - things don't race for it. Timeout after 10 seconds. Also be - overly cautious about when we remove the block device from the - fstab and check to make sure that the resulting fstab exists and - is larger than 0 bytes in size. - -2004-05-05 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_dvd_rw_utils.c (get_dvd_media_type): new function - - * hald/linux/block_class_device.c: rename some properties and ensure - that all properties for a namespace is always available with default - values - it's easiest to look at the diff to see what's changed; one - highlight is the introduction of the volume.* namespace. - (detect_media): use new utility in linux_dvd_rw_utils.c to get the - disc type for DVD's. - - * tools/callouts/fstab-update.sh: property names changed - - * fdi/20freedesktop/lexar-media-cf-reader.fdi: propertys name changed - - * fdi/20freedesktop/6in1-card-reader.fdi: property names changed - -2004-05-05 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.c (probe_udf): fix for big-endian - -2004-05-04 David Zeuthen <david@fubar.dk> - - * hald/linux/volume_id/volume_id.c (probe_jfs): test for js == NULL - - * hald/linux/block_class_device.c (detect_media): call detect_fs - when adding a disc. Also route the child through the TDL and test - the TDL so we don't add more than one child now that we've got a - delay thanks to callouts. - (add_to_gdl): rename to disc_add_to_gdl, since we use it only for - optical discs - -2004-05-04 Kay Sievers <kay.sievers@vrfy.org> - - * hald/linux/volume_id/volume_id.[ch] : support reading of iso9660 - and udf labels - -2004-05-04 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c (hal_ctx_set_user_data): new function - (hal_ctx_get_user_data): new function - -2004-05-01 Owen Fraser-Green <owen@discobabe.net> - - * hald/hald_dbus.c (manager_find_device_string_match): Set - info.value - -2004-05-01 David Zeuthen <david@fubar.dk> - - * libhal/libhal.h: fix that the extern "C" linkage stuff was - accidently commented out - -2004-05-01 David Zeuthen <david@fubar.dk> - - * hald/callout.c (iochn_data): remember to remove element from - active_callouts list - - * hald/linux/class_device.c (class_device_detection_done): remove - -2004-05-01 David Zeuthen <david@fubar.dk> - - * hald/Makefile.am (install-data-local): create /etc/hal/property.d - - * tools/callouts/fstab-update.sh: s/msdos/vfat/ if applicable - - * hald/logger.h: include stdio.h, stdlib.h since DIE macro uses this - - * doc/TODO: removed a TODO-note :-) - - * hald/callout.c (wait_for_callout): removed - (handle_sigchld): new function - (iochn_data): new function - (process_callouts): install signal handler and setup GIOChannel - stuff; don't install timeout for waiting for child - - * hald/linux/class_device.c (class_device_detection_done): removed - - * hald/linux/bus_device.c (bus_device_detection_done): removed - -2004-04-30 Joe Shaw <joe@ximian.com> - - * hald/linux/block_class_device.c (block_class_pre_process): - Process the mtab here, so that our fstype and mount_point - properties are set. - - * hald/linux/bus_device.h, hald/linux/class_device.h: Remove the - detection_done function. It's not really useful with all the - asynchronicity. - - * hald/linux/*_bus_device.c, hald/linux/*_class_device.c: Remove - the detection_done functions. - - * hald/hald_dbus.c (foreach_device_by_capability): Make sure caps - is not NULL before comparing strings. - -2004-04-30 David Zeuthen <david@fubar.dk> - - * doc/TODO: update TODO note about fs detection - -2004-04-30 Kay Sievers <kay.sievers@vrfy.org> - - * hald/Makefile.am (hald_SOURCES): add volume_id/volume_id.[ch] - - * hald/linux/block_class_device.c (detect_fs): use utility in new - subdirectory volume_id - - * hald/linux/volume_id/volume_id.[ch]: new files - -2004-04-27 Joe Shaw <joe@ximian.com> - - * doc/TODO: Remove a now completed TODO item. - - * hald/hald.c (gdl_store_changed): Don't call hal_callout_device() - in the removed case. - - * hald/linux/osspec.c (remove_callouts_finished): Actually remove - the device from the GDL in this callback. - (remove_device, remove_class_device): Connect to the - callouts_finished signal and call device callouts instead of - removing it from the GDL here. - -2004-04-26 Joe Shaw <joe@ximian.com> - - * hald/callout.c (hal_callout_device): We still need to emit the - callouts_finished signal even if we have no callouts. Whoops. - - * hald/bus_device.c (bus_device_got_parent): We don't need to ref - the device being added, since it's no longer unconditionally being - unreffed immediately afterward. - - * hald/class_device.c (class_device_final): Ditto. - - * hald/common.c (device_move_from_tdl_to_gdl): Remove the ref note - in the comment, and call g_object_ref() at the top of the - function. - -2004-04-26 David Zeuthen <david@fubar.dk> - - * doc/TODO: Added note about waiting for callouts to complete before - removing a device and waiting for children to disappear before a - device is removed - -2004-04-26 David Zeuthen <david@fubar.dk> - - * hald/device.c (hal_device_print): Print out to stderr instead of - stdout. - - * hald/device_store.c (hal_device_store_print): Print out the - contents of a HalDeviceStore. - - * hald/linux/common.c (rename_and_merge): Check to see if the UDI - exists in the TDL and try again if it is. - -2004-04-26 Joe Shaw <joe@ximian.com> - - * hald/callout.c: Make pending callouts a hash table of lists, so - we can execute all the callouts for the devices in order. - (add_pending_callout, pop_pending_callout): New convenience - functions. - (wait_for_callout): If this is the last callout for a device, fire - off the callouts_finished signal on the device. - (hal_callout_device, hal_callout_capability, - hal_callout_property): Use the new convenience functions, call - process_callouts() in an idle function. - - * hald/device.c: Add a "callouts_finished" signal. - - * hald/hald.c (gdl_store_changed): Don't call hal_callout_device() - here anymore... we call it in the backend before we get added to - the GDL. - - * hald/hald_dbus.c (manager_device_exists, - device_get_all_properties, device_get_property, - device_get_property_type, device_set_property, - device_add_capability, device_remove_property, - device_property_exists, device_query_capability, - agent_merge_properties, agent_device_matches): Search the TDL for - the provided UDI if it's not found in the GDL. - - * hald/linux/block_class_device.c (detect_media): Instead of - adding the device to the GDL immediately, connect to the - callouts_finished signal and add the device then. Call - hal_callout_device() here, though. - - * hald/linux/bus_device.c (bus_device_got_parent): Ditto. - - * hald/linux/class_device.c (class_device_final): Ditto. - - * hald/linux/common.c (device_move_from_tdl_to_gdl): Remove the - device from the TDL and add it to the GDL. Remove the signal - handler and unref the device. Used as a callback from - bus_device.c and class_device.c. - -2004-04-26 David Zeuthen <david@fubar.dk> - - * hald/linux/macio_bus_device.c: new file because with the recent - change in how probing is handled, my CD-ROM wasn't added until 30 - seconds late into the process as the macio glue wasn't handled - - * hald/Makefile.am (hald_SOURCES): add linux/macio_bus_device.c - - * hald/linux/osspec.c: add macio_bus_handler to bus_device_handlers - - * tools/device-manager/Const.py.in (BUS_NAMES): Add macio mapping - -2004-04-25 David Zeuthen <david@fubar.dk> - - * doc/TODO: Add our notes about current issues with the Linux 2.6 - kernel - - * hald/linux/usbif_bus_device.c (usbif_device_accept): remove - is_probing - - * hald/linux/usb_bus_device.c (usb_device_accept): remove is_probing - - * hald/linux/printer_class_device.c (printer_class_device_accept): - remove is_probing - - * hald/linux/osspec.c (visit_class_device): optionally take and use - a ClassDeviceHandler object - (visit_class): -do- - (visit_device): optionally take and use a BusDeviceHandler object - (visit_bus): new function; not currently used - (osspec_probe): add a comment about migration to visit_bus once the - kernel is ready; slight changes - - * hald/linux/net_class_device.c (net_class_pre_process): set category - and capabilities - - * hald/linux/ide_host_bus_device.c (ide_host_device_accept): remove - is_probing - - * hald/linux/common.c (got_parent): new function - - * hald/linux/class_device.h: change prototypes by removing is_probing - parameter - - * hald/linux/class_device.c don't pass is_probing; use - hald_is_initialising global instead - - * hald/linux/bus_device.h: change prototypes by removing is_probing - parameter - - * hald/linux/bus_device.c: don't pass is_probing; use the global - hald_is_initialising instead. Don't try to find parent if the sysfs - path indicates that there is no parent. - - * hald/linux/block_class_device.c : don't pass is_probing; use - hald_is_initialising global - -2004-04-22 David Zeuthen <david@fubar.dk> - - * hald/linux/usb_bus_device.c (usb_add_caps_from_class): don't set - capabilities from device class since this is very misleading. - In fact, capabilities should only stem from kernel- or userspace- - drivers. We retain the right to set the usbhub capability as no - kernel driver is bound to this class of devices. Yet.. who knows? - In either case, a GUI device browsers can always inspect the info.bus - and consult the appropriate stuff, e.g. the usb.device_class, - _sub_class and _protocol deal for usb devices, to select an appropriate - icon. - - * hald/linux/pci_bus_device.c (pci_add_caps_from_class): removed for - same reasons as above - (pci_device_pre_process): don't call pci_add_caps_from_class - - * tools/device-manager/Representation.py: - s/bridge.cardbus/pcmcia_socket/ - - * hald/linux/osspec.c: add pcmcia_socket_class_handler - - * hald/linux/pcmcia_socket_class_device.c: new file; very simple just - tag a busdevice with the capability pcmcia_socket - - * hald/linux/class_device.c (class_device_final): log an informative - message when we merge onto a device - -2004-04-22 David Zeuthen <david@fubar.dk> - - * hald/linux/class_device.c (class_device_got_sysdevice): Instead - of refusing to merge onto a socalled virtual device (which is really - a HAL term, and thus quite crackful), just special-case the fact - that we don't want to merge onto a usb interface but we prefer to - merge onto the usb device. Which is sane and quite nice. - This makes the scsi_device receive the scsi_generic class stuff and - thus the scsi_generic.device_file=sg0 property. Which is also sane - and quite nice (think SCSI multi-lun devices). - - * hald/linux/osspec.c (remove_class_device): Make a more concise - statement in the log message about the fact that removal of class - devices is not yet implemented; add @todo tag so this is not - forgotten - - * doc/TODO: Add note about removal of class devices - -2004-04-21 Joe Shaw <joe@ximian.com> - - * doc/TODO: Add a couple of callout-related items. - - * hald/callout.c (process_callouts): Reallocate the envp here with - enough space for all of the properties, since properties were - probably added since we initially measured the space. - (hal_callout_device, hal_callout_capability, - hal_callout_property): Reenable these. Don't bother counting the - number of properties here, it doesn't matter. Instead allocate - just enough space for our special env vars and let - process_callouts() deal with the rest. - -2004-04-21 David Zeuthen <david@fubar.dk> - - * hald/callout.c - (hal_callout_property): callouts seem to be a bit broken right - now (segfaults my box etc.), so disable them. Hopefully this is - fixed soon! - (hal_callout_capability): -do- - (hal_callout_device): -do - - * hald/linux/usbif_bus_device.c (usbif_device_compute_udi): Don't - print details about the device - - * hald/linux/usb_bus_device.c (usb_proc_parse): Comment out noisy - print statements - - * hald/linux/osspec.c - (handle_udev_node_created_found_device): - (visit_class_device): clean up logging statements - (visit_device): -do- - (remove_device): comment out noisy logging statements - (remove_class_device): -do- - (handle_hotplug): -do- - - - * hald/linux/class_device.c - (class_device_got_device_file): comment out noisy logging statement - (class_device_accept): -do- - - * hald/linux/common.c - (rename_and_merge): comment out noisy logging statements - (class_device_get_device_file): -do- - - * hald/hald.c (gdl_store_changed): don't print device, just print - the UDI - -2004-04-21 Robert Love <rml@ximian.com> - - * hald/callout.c: add property modified callout; - change the action parameter to a tri-state and add appropriate enum - * hald/callout.h: add prototype for hal_property_callout - * hald/hald.c: invoke hal_property_callout on property modification - -2004-04-20 David Zeuthen <david@fubar.dk> - - * doc/TODO (CVSID): Updated - -2004-04-20 Robert Love <rml@ximian.com> - - * hald/callout.c: hal_property_get_as_string is now to_string, fix - leak. - * hald/device.c: add hal_device_property_to_string - * hald/device.h: add prototype for hal_device_property_to_string - * hald/property.c: rename hal_property_get_as_string to to_string - * hald/property.h: ditto for the prototype - -2004-04-20 Joe Shaw <joe@ximian.com> - - * hald/callout.c (Callout): Add the HalDevice to the structure, we - need it for getting the properties. Add the starting index for - the envp. - (add_property_to_env): Deal with Callout structs instead of - ForeachPropInfo. - (process_callouts): Add the properties to the environment here, at - callout time, instead of up front, since callouts may have changed - properties, and we want later callouts to have the most up-to-date - info. - (process_callouts): Change the idle to a timeout. This is a - copout. - -2004-04-20 Joe Shaw <joe@ximian.com> - - * hald/callout.c: Rework this some to make the callouts - asynchronous and tied in with the main loop, so that callouts can - either link against libhal or use hal-{get|set}-property without - deadlocking. - -2004-04-19 Robert Love <rml@ximian.com> - - * hald/callout.c (hal_callout_capability): add properties to - environment and set working directory correctly - -2004-04-15 Joe Shaw <joe@ximian.com> - - * hald/device.c (hal_device_async_wait_property): Ref the device - when we create the AsyncInfo. This should fix the glib warnings - about signals. - (destroy_async_match_info): Unref it when we're finished. - -2004-04-14 Joe Shaw <joe@ximian.com> - - * hald/Makefile.am: Build the new scsi_generic class handler. - - * hald/linux/osspec.c: Add scsi_generic_class_handler. Also add a - comment about how the order of the class_device_handlers array is - important, particularly when probing at startup. - - * hald/linux/scsi_generic_class_device.c: Added. The actual - handler. The dumbest and most straightforward backend yet. - - * tools/linux/hal_hotplug.c: Add file_list_scsi_generic. - (wait_for_sysfs_info): And add it here... - -2004-04-12 Joe Shaw <joe@ximian.com> - - * tools/device-manager/DeviceManager.py: Wrap the gnome.ui import - in a try statement and desensitize the About menu item if it - fails. This is to work around a broken python-gnome package on - SUSE 9.0. - -2004-04-12 Joe Shaw <joe@ximian.com> - - * hald/Makefile.am: Build the new net class device. - - * hald/linux/*.c: Change "post_process" to "pre_process", since - we're actually doing all of this before our HalDevice merges into - a superior one or gets added to the GDL. - - * hald/linux/class_device.h (ClassDeviceHandler): Add a new - handler, "post_merge", which is called after we merge devices in - class_device_final(). - - * hald/linux/class_device.c (class_device_final): Call our new - post_merge function after we've merged devices. - - * hald/linux/net_class_device.c: Add back in network class device - support. Uses MII registers to get the initial link state and - uses netlink sockets to update it in real-time. - - * hald/linux/osspec.c: Add net_class_handler. - -2004-04-12 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_post_process): - s/hotplugable/hotpluggable/ - -2004-04-12 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_post_process): - Introduce storage.physical_device to point to the physical device - backing this storage device - -2004-04-12 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_post_process): Merge - storage.* and storage_lun%d.* properties from physical device (eg. - usb, ieee1394, ide) onto storage device - - * hald/device.c (hal_device_merge_with_rewrite): new function - - * hald/device.h: add prototype for hal_device_merge_with_rewrite - - * fdi/20freedesktop/lexar-media-cf-reader.fdi: new file - - * fdi/20freedesktop/6in1-card-reader.fdi: new file - - * fdi/20freedesktop/Makefile.am: add fdi files for my two card reader - devices - -2004-04-12 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_fs_fat): make data an - unsigned char array - (block_class_post_process): Always choose the block.storage_device - to be the top-level block device. Walk up the device chain to set - storage.bus to [ide|ieee1394|usb] as appropriate. - -2004-04-11 David Zeuthen <david@fubar.dk> - - * hald/linux/osspec.c - (visit_class_device): Don't die if sysfs path is invalid - (visit_device): Don't die if sysfs path is invalid - -2004-04-11 David Zeuthen <david@fubar.dk> - - * tools/callouts/fstab-update.sh: Yuck, append a nondigit to - MOUNTPOINT otherwise the removal of disk-8-1 (sda1) will also remove - disk-8-17 (sdb1) - -2004-04-11 David Zeuthen <david@fubar.dk> - - * tools/callouts/fstab-update.sh: Use HAL_PROP_BLOCK_FSTYPE if - available - - * hald/linux/block_class_device.c (block_class_post_process): Move - check for storage.is_hotplugable - (block_class_post_process): Call detect_fs() to detect volume name - (detect_fs_fat): new function, sets block.fstype to vfat and - block.volume_label for volumes with FAT filesystems - (detect_fs): new function - -2004-04-10 David Zeuthen <david@fubar.dk> - - * libhal/libhal.[ch]: Added LibHalContext object so a stack of - libraries and applications can simultaneously use libhal - - * libhal/libhal.h : Added LibHalLostCapability - - * libhal/libhal.c (hal_device_get_all_properties): Fixed a bug where - the last property was missing - - * tools/hal_get_property.c: update to new libhal API - - * tools/hal_set_property.c: Update to new libhal API - - * tools/lshal.c: Update to new libhal API - -2004-04-10 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (block_class_post_process): - Revert to setting the storage backing device to the top-level - block device - -2004-04-10 David Zeuthen <david@fubar.dk> - - * hald/linux/class_device.h: add got_udi() method - - * hald/linux/class_device.c (class_device_final): move add/merge of - class device to a single function - - * hald/linux/bus_device.h: add got_udi() method - - * hald/linux/bus_device.c (bus_device_got_parent): call got_udi() - before adding - (bus_device_got_udi): new function - - * hald/linux/block_class_device.c (block_class_got_udi): new function - (block_class_post_process): set block.storage_device to the physical - device, e.g. USB etc., backing the block device; simplify a bit - -2004-04-08 Joe Shaw <joe@ximian.com> - - * hald/linux/printer_class_device.c (printer_class_device_accept): - Added. Only accept class devices which have a name of "lpN". - (printer_class_post_process): Get a description from the IEEE-1284 - output and put it in printer.description. - (printer_class_handler): Set the accept function to be - printer_class_device_accept(), and change the sysfs class name - from "printer" back to "usb". - - * tools/callouts/fstab-update.sh: Add some introductory text to - the top of it, including a big warning. Create the mountpoint - with mkdir -p instead of each individual directory. - -2004-04-08 David Zeuthen <david@fubar.dk> - - * tools/callouts/fstab-update.sh: Callout script for fstab management - -2004-04-08 David Zeuthen <david@fubar.dk> - - * hald/linux/osspec.c (remove_device): new function - (remove_class_device): new function - (handle_hotplug): simplify - -2004-04-07 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_dev.c: New file for sending device event - - * tools/linux/Makefile.am: Build and install hal.dev - - * hald/linux/class_device.h: Add accept method to ClassDeviceHandler - - * hald/Makefile.am (install-data-local): Create /etc/hal/device.d and - /etc/hal/capability.d - - * hald/linux/osspec.c (handle_device_event): new function - (handle_udev_node_created): removed function - (osspec_filter_function): Handle events from hal.dev so we don't - need to rely on udev having built-in dbus support - - * configure.in: Bump version to 0.2.90 - -2004-04-05 Joe Shaw <joe@ximian.com> - - * hald/linux/printer_class_device.c: Added. New printer class. - - * hald/linux/Makefile.am: Build linux/printer_class_device.c - - * hald/linux/osspec.c: Add the printer class handler. - -2004-04-03 David Zeuthen <david@fubar.dk> - - * hald/main.c : Removed file - - * hald/linux/: Remove files from old backend - -2004-04-03 David Zeuthen <david@fubar.dk> - - Merge hal-gobject-branch back to HEAD - -2004-04-03 David Zeuthen <david@fubar.dk> - - * hald/linux/bus_device.c: Various cleanups - - * hald/linux/class_device.c: Various cleanups - - * hald/linux/block_class_device.c: Various cleanups - - * hald/device.c (hal_device_async_wait_property): New method - -2004-04-02 David Zeuthen <david@fubar.dk> - - * hald/linux/osspec.c (handle_hotplug): Actually remove class devices - that populate the tree - (handle_udev_node_created): Search in Temporary Device List instead of - the Global Device List - quite important difference :-) - - * hald/linux/common.c (rename_and_merge): remove from tdl - - * hald/linux/class_device.c (class_device_visit): add to tdl - (class_device_got_parent_device): remove from tdl - (class_device_got_sysdevice): remove from tdl - (class_device_got_device_file): remove from tdl - - * hald/linux/bus_device.c (bus_device_visit): Asynchronously find - the parent device instead of synchronously - (bus_device_got_parent): New format - - * hald/linux/block_class_device.c (block_class_visit): add to tdl - (detect_media): Add the patch from rml for storage.cdrom.media_type - (block_class_removed): new function - - * hald/hald.c (hald_get_tdl): New function to get temporary device - list - -2004-04-01 David Zeuthen <david@fubar.dk> - - * hald/linux/common.c (rename_and_merge): Fixed a subtle error where - multiple instances of the same device couldn't appear in the device - list - -2004-03-29 Robert Love <rml@ximian.com> - - * tools/linux/hal_hotplug.c: add a "strcat_len()" macro and use it - -2004-03-29 Robert Love <rml@ximian.com> - - * tools/linux/hal_hotplug.c: sysfs_mnt_path should be a "char []" - not a "char * []", also use PATH_MAX instead of 255, and finally - use "const char" as appropriate - -2004-03-30 David Zeuthen <david@fubar.dk> - - * hald/linux/block_class_device.c (detect_media): media detection - on CD-ROM's from the patch from Robert (storage.cdrom.media_type) - (block_class_tick): Comment out noisy debug statement when polling - -2004-03-30 David Zeuthen <david@fubar.dk> - - * hald/main.c (device_get_all_properties): Comment out noise trace - call - - * hald/device_store.c - (ds_device_merge, ds_add_capability): Signal capability added even - though target device already had the capability. Fixes problem with - monitoring ethernet devices. - -2004-03-28 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_class_block.c (visit_class_device_block): Remove - block.[size|start|block_size] properties - -2004-03-26 Robert Love <rml@ximian.com> - - * hald/linux/linux_class_block.c (media_detect_timer_handler): Comment - out noise debug statement - -2004-03-25 Robert Love <rml@ximian.com> - - * hald/linux/linux_class_block.c (detect_media): add support for - "storage.cdrom.media_type" - -2004-03-14 Martin Waitz <tali@admingilde.org> - - * hald/linux/linux_usb.c (usb_proc_parse): Just ignore if we can't - open /proc/bus/usb/devices - - * hald/linux/usb_bus_device.c (usb_proc_parse): Just ignore if we - can't open /proc/bus/usb/devices - - * tools/device-manager/DeviceManager.py: Print out nice error if hald - is not running - -2004-03-14 David Zeuthen <david@fubar.dk> - - * doc/TODO: Updated TODO file - -2004-03-14 David Zeuthen <david@fubar.dk> - - Added first stab of rewrite of linux specific parts - the new - code is a lot more object oriented and thus more compact; it's - currently disabled until it's more tested; you have to manually - enable by editing hald/Makefile.am - - * hald/Makefile.am (hald_SOURCES): Add new linux specific parts; - currently disabled - - * hald/device_store.h: add ds_device_async_wait_for_property() - - * hald/device_store.c (DSDeviceAsyncFindStruct): Add device member - used in for wait_for_property - (async_find_check_new_addition): add wait_for_property check - (ds_device_async_wait_for_property): new function - - * osspec.c : new file - * common.[ch] : new files - * bus_device.[ch] : new files - * usb_bus_device.c : new file - * usbif_bus_device.c : new file - * pci_bus_device.c : new file - * ide_bus_device.c : new file - * ide_host_bus_device.c : new file - * class_device.[ch] : new files - * input_class_device.c : new file - * block_class_device.c : new file - * scsi_host_class_device.c : new file - * scsi_device_class_device.c : new file - -2004-03-05 Sjoerd Simons <sjoerd@air.luon.net> - - * hald/linux/linux_class_v4l.c (visit_class_device_v4l): Remove - invalid free of a static string - - * hald/linux/linux_common.c (udevinfo_path): Add /usr/bin/udevinfo - as candidate for location of udevinfo - -2004-03-03 David Zeuthen <david@fubar.dk> - - Major reformatting patch - seems that everyone is following - another coding style than me so I chose the GNOME coding guidelines, - indent -kr -i8 -pcs -lps -psl, and did some manual reformatting - -2004-03-01 Joe Shaw <joe@ximian.com> - - * configure.in: SUSE puts pci.ids in /usr/share, so add that to - the list of directories to check. - - * tools/Makefile.am: Use @PACKAGE_LIBS@ and @DBUS_LIBS@ instead of - referencing the libs directly. This allows us to have dbus and/or - glib in a prefix. - -2004-03-01 David Zeuthen <david@fubar.dk> - - Preliminary support for waiting for sysfs information to appear - - not complete but it's a start... - - * tools/linux/hal_hotplug.c - (get_sysfs_mnt_path): new function - (main): call wait_for_sysfs_info() on hotplug add - (wait_for_sysfs_info): new function - -2004-03-01 Sjoerd Simons <sjoerd@air.luon.net> - - * hald/linux/linux_common.c (udevinfo_path): new function - - * hald/linux/linux_common.h: add udevinfo_path prototype - - * hald/linux/linux_class_v4l.c (visit_class_device_v4l): use - udevinfo_path() to get path to udevinfo - - * hald/linux/linux_class_block.c - (visit_class_device_block_got_parent): use udevinfo_path() to get - path to udevinfo. Add support for SCSI tape detection. Set correct - storage.media on SCSI CD-ROM and disk detection - -2004-02-29 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_usb.c (visit_device_usb): New way to check if - device is an interface - -2004-02-27 Joe Shaw <joe@ximian.com> - - * hald/linux/linux_class_block.c - (visit_class_device_block_got_parent): Handle block devices which - have a "scsi_device" as its parent class. Use sysfs to get - vendor, product, and SCSI device type, which get mapped to HAL - capabilities. - - * hald/linux/linux_usb.c (usb_proc_parse): Fallback to - /proc/bus/usb/devices_please-use-sysfs-instead. Yeah, yeah. - -2004-01-20 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_osspec.c (visit_device): disable ieee1394 - (osspec_init): disable ieee1394 - (osspec_probe): disable ieee1394 - (handle_hotplug): disable ieee1394 - -2004-01-19 David Zeuthen <david@fubar.dk> - - * configure.in: bump version to 0.2.6 - - * packaging/fedora/hal.spec (Version): bump to 0.2.6 - - * hald/linux/linux_class_v4l.c (get_udev_root): removed - (linux_class_v4l_init): don't call get_udev_root() - (visit_class_device_v4l): use new options in udev-013 - - * hald/linux/linux_class_block.c (get_udev_root): removed - (linux_class_block_init): don't call get_udev_root() - (visit_class_device_block_got_parent): use new options in udev-013 - -2004-01-19 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_common.c (drivers_collect): Don't call DIE() if - we cannot open the /sys/bus/<busname>/drivers directory - just - ignore this error with HAL_WARNING() - -2004-01-18 David Zeuthen <david@fubar.dk> - - * hald/device_store.c (ds_device_merge): treat info.properties in - a special way such that capabilities entries are actually merged - - * hald/linux/linux_class_v4l.c (visit_class_device_v4l): Replaced - parent with sysdevice, since that is what we really search for; - split properties onto v4l.[vbi,video,radio] - (visit_class_device_v4l_got_parent): renamed to _got_sysdevice. Merge - information onto sysdevice instead of creating a new device - -2004-01-18 Bastien Nocera <hadess@hadess.net> - - * hald/linux/linux_dvd_rw_utils.c (get_read_write_speed): fixed bug - where the two write_speed assignments was swapped - - * doc/TODO: remove note about ide-scsi and ide-cd - -2004-01-17 David Zeuthen <david@fubar.dk> - - * doc/TODO: some shuffling around, added note about that - hald/linux/linux_dvd_rw_utils.c is ide-scsi centric - -2004-01-17 Bastien Nocera <hadess@hadess.net> - - * hald/linux/linux_dvd_rw_utils.c (pull_page2a_from_fd): new function - (get_read_write_speed): new function - - * hald/linux/linux_dvd_rw_utils.h: add get_read_write_speed() prototype - - * hald/linux/linux_class_block.c - (linux_class_block_check_if_ready_to_add): call get_read_write_speed - for optical drives - -2004-01-17 David Zeuthen <david@fubar.dk> - - * hald/device_store.c (ds_query_capability): use strtok_r instead - of strstr as it didn't really work (example: will return true if - called with 'cdrom' and caps were 'cdrom.cdr block'. - (ds_add_capability): only announce new capability if we actually - added it - -2004-01-17 Joe Shaw <joe@ximian.com> - - * hald/Makefile.am (hald_SOURCES): add linux_ieee1394.[ch] - - * hald/linux/linux_ieee1394.[ch]: new files - - * hald/linux/linux_osspec.c (visit_device): visit IEEE1394 devices - (osspec_probe): handle IEEE1394 devices - (handle_hotplug): handle IEEE1394 devices - -2004-01-17 Matthew Mastracci <matt@acclaro.com> - - * tools/device-manager/Const.py.in (BUS_NAMES): add video4linux, - fix I2C capitalization - - * hald/linux/linux_osspec.c (visit_class_device): add support - for video4linux, minor I2C fixes - (visit_class_device): add support for video4linux - (visit_class_device): use class device path for I2C - (handle_hotplug): hotplug support for video4linux - - * hald/Makefile.am (hald_SOURCES): Add linux_class_video4linux.[ch] - - * hald/linux/linux_class_video4linux.[ch]: new files - -2004-01-17 Bastien Nocera <hadess@hadess.net> - - * hald/Makefile.am (hald_SOURCES): Add linux_dvd_rw_utils.[ch] - - * hald/linux/linux_class_block.c - (linux_class_block_check_if_ready_to_add): Check for DVD writer - capabilities - - * hal.pc.in: Fixup up so applications only need to include libhal and - not dbus - - * hald/linux/linux_dvd_rw_utils.[ch]: new files - -2004-01-17 Robert Love <rml@ximian.com> - - * libhal/libhal.h: Change protototype of foo() to foo(void) to avoid - warnings when compiling -Wstrict-prototypes - -2004-01-16 David Zeuthen <david@fubar.dk> - - * packaging/fedora/hal.spec (Version): bump version to 0.2.5 - - * configure.in: bump version to 0.2.5 - - * tools/linux/hal_hotplug.c (main): sleep 1000ms instead of 500ms - before sending signal - we really need to update to latest libsysfs - in hald to avoid the race - this is soo ugly - - * hald/main.c (property_atomic_update_end): fix possible memory - violation - - * hald/linux/linux_osspec.c (handle_hotplug): call - linux_class_block_removed() just before destroying the HalDevice obj - - * hald/linux/linux_class_block.c (linux_class_block_removed): new - function - - * hald/linux/linux_class_block.h: add prototype for - linux_class_block_removed() - - * hald/device_store.c - (ds_device_find_multiple_by_key_value_string): new funtion - - * hald/device_store.h: add prototype for - ds_device_find_multiple_by_key_value_string() - - * hald/linux/linux_class_block.c (sigio_handler): Make this signal - handler *a lot* safer by only setting a flag a timer can pick up - (detect_media): properly handle situation when user removes media - where partitions are mounted on - (media_detect_timer_handler): check sigio_etc_changed - (force_unmount_of_all_childs): newfunction - (force_unmount): new function - (linux_class_block_removed): new function - -2004-01-14 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_class_block.c (detect_media): Doh, leaked a - filedescriptor which is big trouble. Fixed - -2004-01-13 David Zeuthen <david@fubar.dk> - - * configure.in: Bump version number to 0.2.4 - - * packaging/fedora/hal.spec (Release): Bump version number to 0.2.4 - - * tools/device-manager/hal-device-manager: Remove requirement for - pygtk 2.0 since it broke some systems - -2004-01-13 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_class_block.c - (linux_class_block_check_if_ready_to_add): ioctl rc>=0 is also success - (detect_media): rewrite most of this function - (visit_class_device_block_got_parent): Rename - storage.has_removable_media to storage.support_removable_media. Set - it for all devices - only properly detected for IDE CD-ROM drives - currently. - (linux_class_block_check_if_ready_to_add): Move storage.* properties - to visit_class_device_block_got_parent() - -2004-01-13 David Zeuthen <david@fubar.dk> - - * configure.in: Bump version number to 0.2.3 - - * tools/device-manager/DeviceManager.py - (DeviceManager.device_changed): Add support for Condition signal - - * tools/lshal.c (device_condition): new function - (main): add device_condition to LibHalFunctions variable - - * libhal/libhal.c (filter_func): Process DeviceCondition - - * libhal/libhal.h (LibHalFunctions_s): Add device_condition - and type LibHalDeviceCondition - - * hald/linux/linux_class_net.c (link_detection_process): Emit - NetLinkEvent(bool got_link) condition - - * hald/linux/linux_class_block.c - (etc_mtab_process_all_block_devices): emit BlockMount(string device, - string mount_point, string fstype) and BlockUnmount(string device) - events - - * hald/hald.h: added emit_condition() - - * hald/main.c (emit_condition): new function - -2004-01-13 Matthew Mastracci <matt@aclaro.com> - - * tools/device-manager/Const.py.in (BUS_NAMES): add i2c_adapter - - * hald/linux/linux_osspec.c (visit_class_device): add support for - i2c-adapter - (visit_device): add support for i2c and i2c-adapter - (handle_hotplug): hotplug support for i2c and i2c-adapter - - * hald/Makefile.am (hald_SOURCES): Add linux_class_i2c_adapter.[ch] - - * hald/linux/linux_class_i2c_adapter.[ch]: new files - -2004-01-12 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_class_block.c - (linux_class_block_check_if_ready_to_add): Check whether optical - drive supports media changed signals - (etc_mtab_process_all_block_devices): Only merge information from - /etc/mtab if block.is_volume==TRUE - (detect_media): New function - (media_detect_timer_handler): New function - (linux_class_block_detection_done): Setup 2 sec timer for media - detection - -2004-01-10 David Zeuthen <david@fubar.dk> - - * tools/device-manager/hal-device-manager: add requirement for - pygtk version 2.0 - -2004-01-10 David Zeuthen <david@fubar.dk> - - * tools/device-manager/Const.py.in (BUS_NAMES): Add support for i2c - devices - - * hald/linux/linux_i2c.[ch]: New files by Matthew Mastracci; slight - modifications by me - - * hald/linux/linux_osspec.c (visit_device): Call visit_device_i2c() - - * hald/Makefile.am (hald_SOURCES): Add linux_i2c.[ch] - -2004-01-08 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_class_scsi.c - (visit_class_device_scsi_host): Set scsi_host.host - (visit_class_device_scsi_device): Set scsi_device.[host,bus,target,lun] - (scsi_host_compute_udi): Simplify UDI computation using only - scsi_host.host. This also makes it correct for multi-lun devices - (scsi_device_compute_udi): Simplify UDI computation using the tupple - {host, bus, target, lun}. This also makes it work with multi-lun - devices - - * hald/linux/linux_class_block.c - (linux_class_block_check_if_ready_to_add): Add O_NONBLOCK so - optical drive capability query works without a disc mounted. - Add capabilities (e.g. storage.cdr) as always present properties - as well. A bit redundant, but it makes is more easy obvious that - some devices might support this property. - Populate block.storage_device to point the device with the - storage.* properties - -2004-01-05 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_osspec.c (handle_hotplug): add some more debug - - * hald/linux/linux_class_block.c - (visit_class_device_block_got_parent): add some more debug - -2004-01-04 David Zeuthen <david@fubar.dk> - - * tools/linux/hal_hotplug.c: Don't include dbus-glib - -2004-01-04 Joe Shaw <joe@ximian.com> - - * hald/main.c (PendingUpdate_s): Remove the "const" from the - "key" field, since it's supposed to be freed. - - * hald/linux/linux_class_block.c: #include <glib.h>. - (visit_class_device_block_got_parent): The path should be declared - const. g_spawn_sync() was missing a NULL GError argument. - (etc_mtab_process_all_block_devices): existing_block_device should - be declared const. - (get_udev_root): g_spawn_sync() needs a GError argument. - - * hald/linux/linux_class_net.c: Add #include "../hald.h". - (visit_class_device_net): Wrap the check for ARPHRD_IEEE1394 in an - #ifdef, since my machine doesn't seem to define it. - - * hald/linux/linux_common.c: #define _GNU_SOURCE since we're using - strndup(). - -2004-01-04 Joe Shaw <joe@ximian.com> - - * configure.in: Do a separate check for dbus alone, so that we can - link libhal to it and not the glib libs. This fixes things for - a dbus installed into a separate prefix. - - * libhal/Makefile.am: Use the DBUS_CFLAGS for the INCLUDES and - DBUS_LIBS for the libhal_la_LIBADD. - - * tools/linux/Makefile.am: Ditto for hal_hotplug - -2004-01-04 Anders Carlsson <andersca@gnome.org> - - * tools/device-manager/DeviceManager.py: - Add a couple of code paths for setting vendor. - - * tools/device-manager/hal-device-manager.glade: - Fixup to use GtkTable instead of GtkFixed. - -2004-01-04 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_class_block.c - (linux_class_block_check_if_ready_to_add): moved cdrom cap check to - here. Renamed capabilities from cdrom.* to storage.* - (visit_class_device_block_got_parent): moved cdrom cap away from here - since on hotplugging we are not sure to have block.device. - -2004-01-04 Anders Carlsson <andersca@gnome.org> - - * hald/linux/linux_class_block.c: - (visit_class_device_block_got_parent): - Add support for cdrom capabilities. - -2004-01-04 David Zeuthen <david@fubar.dk> - - * fdi/Makefile.am: install fdi.rng - - * fdi/fdi.rng: new file (thanks to Dave Malcolm) - -2004-01-03 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_class_block.c - (visit_class_device_block_got_parent): Invoke udev on hald boot time - to get device file names - (etc_mtab_process_all_block_devices): Be careful not to overwrite - existing block.device when looking at /etc/mtab - (get_udev_root): new function - (linux_class_block_init): find udev root using '/sbin/udev -r' - -2004-01-02 David Zeuthen <david@fubar.dk> - - * configure.in: bump version to 0.2.2 - - * hald/linux/linux_class_net.c (link_detection_process): Group - net.ethernet.link and net.ethernet.rate as an atomic update - - * fdi/Makefile.am: install fdi.dtd to $(datadir)/hal/fdi - - * fdi/fdi.dtd: new file (thanks to Dave Malcolm) - - * hald/device_store.c (ds_device_find_by_key_value_string): set - that we can choose whether to search the GDL or not - (ds_device_async_find_by_key_value_string): set that we can choose - whether to search the GDL or not - (ds_device_merge): Do all the merge as an atomic operation - - * hald/linux/linux_osspec.c - (handle_udev_node_created_found_device): Call - linux_class_block_check_if_ready_to_add() - (handle_udev_node_created): search for device not in GDL - - * hald/linux/linux_common.c (rename_and_merge): renamed from - rename_and_maybe_add. News is that you need to call ds_gdl_add() - explicitly - - * hald/linux/linux_*.c: call rename_and_merge() instead. Explicitly - call ds_gdl_add() - - * hald/linux/linux_class_block.c - (etc_mtab_process_all_block_devices): make sure we always set required - properties; set all properties in a single transaction - (read_etc_mtab): add force parameter - (etc_mtab_process_all_block_devices): add force parameter - (visit_class_device_block_got_parent): reload /etc/mtab on every - hotplug. Call linux_class_block_check_if_ready_to_add() instead of - ds_gdl_add() - (linux_class_block_check_if_ready_to_add): new function - - * libhal/libhal.c (filter_func): Added PropertyModified, removed - Property[Changed, Added, Removed] - - * libhal/libhal.h (LibHalFunctions_s): Added PropertyModified, removed - Property[Changed, Added, Removed] - - * tools/device-manager/DeviceManager.py - (DeviceManager.device_changed): Listen for PropertyModified instead. - Print out payload on stdout for debugging purposes - - * tools/lshal.c (property_modified): new function - (property_added): removed - (property_removed): removed - (property_changed): removed - - * hald/main.c (hald_atomic_update_begin): new function - (hald_atomic_update_end): new function - (property_changed): add support for atomic updates - (main): Run as root, we require this to sniff mii registres - - * hal.conf.in: Run as root, we require this to sniff mii registres - - * hald/hald.h: new file - -2003-12-30 David Zeuthen <david@fubar.dk> - - * configure.in: Change default user to from hal to haldaemon since - people may already use login called hal or hald (I know of both). - Bump version number to 0.2.1 - - * packaging/fedora/hal.spec: new file - - * hald/main.c (main): Use HAL_USER macro instead of the hardcoded hal - - * hal.conf.in: group policy segfaults dbus-daemon-1 on 0.20, but works - in CVS; Now changed so only root can use the AgentManager interface - -2003-12-29 David Zeuthen <david@fubar.dk> - - * configure.in: add --with-init-scripts and --with-pid-file. Now - configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var - works like a charm on Fedora Core 1. - - * hald/Makefile.am: handle initscripts fun - - * hald/haldaemon.in: new file - -2003-12-29 David Zeuthen <david@fubar.dk> - - * Makefile.am: add hal.conf.in to EXTRA_DIST to so make distcheck - passes - - * configure.in: add --with-hal-user and --with-hal-group, defaults - to hal:hal. Autogenerate hal.conf - - * hal.conf.in: new file - - * hal.conf: remove, since it is now autogenerated - - * hald/Makefile.am: Add $(sysconfig) dir - - * hald/main.c (usage): new function - (main): Add commandline parsing, daemonizing and run-as-user - - * hald/linux/linux_usb.c (visit_device_usb_got_parent): fix a stupid - bug where proc info wasn't reloaded - (usb_proc_parse): Set cur info to NULL on subsequent calls to make - it work - -2003-12-23 David Zeuthen <david@fubar.dk> - - * configure.in: add autogeneration doc/Makefile, examples/Makefile and - examples/volumed/Makefile - - * Makefile.am: add doc and examples to SUBDIRS - - * examples/Makefile.am: new file - - * examples/volumed/Makefile.am: new file - - * doc/Makefile.am: new file - - * doc/TODO: updated - - * HACKING: updated - - * NEWS: updated, since 0.2 is ready for distribution - -2003-12-23 David Zeuthen <david@fubar.dk> - - * doc/TODO: updated - -2003-12-23 David Zeuthen <david@fubar.dk> - - * configure.in: Drop DEVICEMANAGER_DIR. This allows us to do make - install even in maintainer mode, but changes to datafiles (glade - and png's) needs to be installed every time unless Const.py is - directly edited. Add autogeneration of fdi/Makefile and - fdi/10generic/Makefile and fdi/20freedesktop/Makefile. - - * hald/device_info.c (handle_match): Fix check for merge of the - other non-string types (bool, int, double) - (end): Merge non-string types - - * hald/linux/linux_class_block.c - (visit_class_device_block_got_parent): rename various properties - to match the spec. - - * hald/linux/linux_class_input.c (process_input_proc_info): rename - various properties to match the spec. - - * hald/linux/linux_common.c (rename_and_maybe_add): Implement - merging with persistent unplugged devices; search for .fdi files - - * hald/linux/linux_osspec.c (handle_hotplug): Don't destroy - persistent devices on remove; rather mark the unplugged, - info.not_available set to true, and remove some key properties in - info and linux namespace. - - * hald/linux/linux_usb.c (usb_add_caps_from_class): Renamed capability - from storage to storage_controller to match spec.. Hmm.. not sure.. - - * tools/device-manager/Const.py.in: Use @DATADIR@ and path instead - of @DEVICEMANAGER_DIR@ - - * tools/device-manager/Representation.py: Add support for capability - camera and fixup how the storage icon is selected to reflect the new - spec - - * fdi/Makefile.am: new file - - * fdi/10generic/Makefile.am: new file - - * fdi/10generic/usb-classes.fdi: removed - - * fdi/20freedesktop/Makefile.am: new file - - * fdi/20freedesktop/ibm-usb-hub-keyboard.fdi: removed - - * fdi/20freedesktop/lexar-cf-card-reader.fdi: removed - - * fdi/20freedesktop/canon-digital-ixus-v.fdi: new file - -2003-12-22 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c (hal_free_string): rename from hal_free_utf8 as - this name makes more sense and we don't yet support utf8 strings - (hal_device_get_all_properties): fix memory leak of dbus strings in - multiple places. Note: we have to audit hald as well :-/ - (filter_func): fix dbus string memory leakages - (hal_initialize): add use_cache to preserve API compatilibility when - we actually get around to implement caching in libhal - (hal_get_all_devices): add check for oom - (hal_device_get_property_type): fix dbus string memory leakages - - * libhal/libhal.h: change hal_initialize() prototype. Change name - of hal_free_utf8() to hal_free_string() - - * tools/Makefile.am: rename hal_[s|g]et_property program to - hal-[s|g]et-property. - - * tools/hal_get_property.c (main): call hal_initialize with correct - number of arguments. Fix string leakage bug. - - * tools/hal_set_property.c (main): call hal_initialize with correct - number of arguments - - * tools/lshal.c (dump_devices): Call hal_free_string_array() instead - of dbus_free_string_array() - (print_property): fix string leakage - (main): call hal_initialize with correct number of arguments - -2003-12-22 David Zeuthen <david@fubar.dk> - - * acinclude.m4: borrow AS_AC_EXPAND from gstreamer (Martin Waitz) - - * configure.in: use AS_AC_EXPAND and define $(LN_S) and request - generation of tools/device-manager/Const.py (Martin Waitz) - - * hald/Makefile.am: add $(top_srcdir) to pass make distcheck (Martin - Waitz) - - * tools/Makefile.am: add $(top_srcdir) to pass make distcheck, and - use direct path to libhal (Martin Waitz) - - * tools/device-manager/Const.py.in: use autoconf vars (Martin Waitz) - - * tools/device-manager/Makefile.am: simplify by removing manual - variable replacement and by using dist_ and nodist_ prefixes. Use - $(LN_S) to link (Martin Waitz) - - * tools/linux/Makefile.am: Fix symlinking (Martin Waitz) - -2003-12-22 David Zeuthen <david@fubar.dk> - - * tools/device-manager/*: Some changes due to the big rename patch - - * hald/*.c: The big property rename change patch - s/Bus/info.bus/ - s/Capabilities/info.capabilities/ - s/Category/info.category/ - s/Product/info.product/ - s/Vendor/info.vendor/ - s/Linux.sysfs_path/linux.sysfs_path/ - s/Linux.sysfs_path_device/linux.sysfs_path_device/ - s/Linux.sysfs_bus_id/linux.sysfs_bus_id/ - s/Parent/info.parent/ - s/PhysicalDevice/info.physical_device/ - info.udi NEW - s/pci.Product/pci.product/ - s/pci.Vendor/pci.vendor/ - s/pci.ProductSubSystem/pci.subsys_product/ - s/pci.VendorSubSystem/pci.subsys_vendor/ - s/pci.deviceClass/pci.device_class/ - s/pci.deviceSubClass/pci.device_subclass/ - s/pci.deviceProtocol/pci.device_protocol/ - s/pci.idProduct/pci.product_id/ - s/pci.idVendor/pci.vendor_id/ - s/pci.idProductSubSystem/pci.subsys_product_id/ - s/pci.idVendorSubSystem/pci.subsys_vendor_id/ - s/usb.Product/usb.product/ - s/usb.Vendor/usb.vendor/ - s/usb.bDeviceClass/usb.device_class/ - s/usb.bDeviceSubClass/usb.device_subclass/ - s/usb.bDeviceProtocol/usb.device_protocol/ - s/usb.bMaxPower/usb.max_power/ - s/usb.bcdDevice/usb.device_revision_bcd/ - s/usb.bcdSpeed/usb.speed_bcd/ - s/usb.bcdVersion/usb.version_bcd/ - s/usb.busNumber/usb.bus_number/ - s/usb.canWakeUp/usb.can_wake_up/ - s/usb.configurationValue/usb.configuration_value/ - s/usb.idProduct/usb.product_id/ - s/usb.idVendor/usb.vendor_id/ - s/usb.levelNumber/usb.level_number/ - s/usb.numConfigurations/usb.num_configurations/ - s/usb.numInterfaces/usb.num_interfaces/ - s/usb.numPorts/usb.num_ports/ - s/usb.selfPowered/usb.is_self_powered/ - s/usb.serial/usb.serial/ - s/usbif.bInterfaceClass/usbif.interface_class/ - s/usbif.bInterfaceSubClass/usbif.interface_subclass/ - s/usbif.bInterfaceProtocol/usbif.interface_protocol/ - s/usbif.deviceIdProduct/usbif.device_product_id/ - s/usbif.deviceIdVendor/usbif.device_vendor_id/ - s/ide.channel/ide.channel/ - s/ide.channel/ide.sub_channel/ - s/ide_host.number/ide_host.number/ - s/block.device/block.device/ - s/block.fileSystem/block.fstype/ - s/block.isMounted/block.is_mounted/ - s/block.isVolume/block.is_volume/ - s/block.major/block.major/ - s/block.minor/block.minor/ - s/block.mountPoint/block.mount_point/ - s/block.size/block.size/ - s/block.start/block.start/ - s/block.model/block.model/ - s/block.media/block.media/ - s/block.removableMedia/block.has_removable_media/ - block.block_size NEW - s/net.ethernet.macAddr/net.ethernet.mac_addr/ - s/net.ethernet.macAddrLower24/net.ethernet.mac_addr_lower24/ - s/net.ethernet.macAddrUpper24/net.ethernet.mac_addr_upper24/ - s/net.arpProtoHwId/net.arp_proto_hw_id/ - -2003-12-22 David Zeuthen <david@fubar.dk> - - * hald/linux/linux_usb.c (usb_proc_parse): Allow multiple invocations, - specifically one on every hotplug :-) - (visit_device_usb_got_parent): Call usb_proc_parse, so we get up-to- - date information from proc - -2003-12-22 David Zeuthen <david@fubar.dk> - - * hald/device_store.c (async_find_check_new_addition): fixed a - quite subtle bug where multiple finds for the same device were - out there. I just love bloody callbacks :-/ - -2003-12-21 David Zeuthen <david@fubar.dk> - - * examples/volumed/volumed.py: be less verbose - - * hald/linux/linux_osspec (osspec_init): Add match for udev signals - (osspec_hotplug): renamed to handle_hotplug since old name didn't make - any sense - (handle_udev_node_created): new function - (handle_udev_node_created_found_device): new function - (osspec_filter_function): add check for udev signals - - * tools/linux/hal_hotplug.c (main): sleep a while so the kernel has - time to populate sysfs (hmmm) - -2003-12-21 David Zeuthen <david@fubar.dk> - - * Doxyfile.in: add tools directory - - * hald/device_store.c: fixup doxygen grouping - - * hald/device_store.h: fixup doxygen grouping - - * hald/logger.c: Don't print out trace priority logging statements - - * hald/linux/linux_class_block.c: Add mount point detection by - monitoring /etc and looking at /etc/mtab. Several new functions. - - * hald/linux/linux_class_input.c - (linux_class_input_handle_hotplug_add): new function - - * hald/linux/linux*.[ch]: Add _detection_done() method that is called - when device detection (on startup of the HAL daemon) is done - - * hald/linux/linux_osspec.c (osspec_init): Call _detection_done - (ospec_hotplug): Handle input being hotplugged - - * tools/hal_get_property.c: added doxygen comments - - * tools/hal_set_property.c: added doxygen comments - - * tools/lshal.c: added doxygen comments - -2003-12-21 David Zeuthen <david@fubar.dk> - - * hald/device_store.c (ds_device_destroy): Only call gdl_changed_cb's - if the device being destructed is in the GDL - - * hald/main.c (raise_wrong_state): removed - (device_enable): removed - (device_disable): removed - (filter_function): remove call to device_enable() and device_disable() - (gdl_changed): fix really silly bug where added and removed signals - were switched - - * hald/linux/linux_common.c (rename_and_maybe_add): since we don't - know anything about states, disable functionality for unplugged - persistent devices - - * hald/linux/linux_usb.c (visit_device_usb): fixed segfault bug - where kernel didn't gave neither vendor nor product name (thanks - to testing on my powerbook that now finally runs 2.6.0, Yay!) - - * libhal/libhal.c (hal_device_disable): removed - (hal_device_enable): removed - (filter_func): don't handle all DeviceBooting etc. signals. Splitted - PropertyChanged into PropertyChanged, PropertyAdded, PropertyRemoved - callbacks - (hal_device_property_watch_all): new function - (hal_device_add_property_watch): new function - (hal_device_remove_property_watch): new function - - * libhal/libhal.h: Removed all common constants since they were all - state contstants. Removed LibHalDeviceBooting etc. typedefs. Added - typedefs for PropertyAdded, PropertyRemoved callbacks. Changed type - of LibHalFunctions. Added property for property_watch functions. - - * tools/Makefile.am: Added rules to buils lshal, hal_get_property - and hal_set_property programs - - * tools/lshal.c: new file - - * tools/hal_get_property.c: new file - - * tools/hal_set_property.c: new file - - * tools/device-manager/DeviceManager.py: Don't reference State - property as it is not available anymore - - * tools/linux/Makefile.am: Make sure hal.hotplug links statically, - otherwise libdbus-1.so cannot be found unless installed in /usr/lib - - * tools/linux/hal_hotplug.c: Include unistd.h to shut up the compiler - -2003-12-20 David Zeuthen <david@fubar.dk> - - * Doxyfile.in: Remove agents/linux26/sysfs, Add hald/linux and - tools/linux. Change RECURSIVE to NO. - - * configure.in: Add AM_PATH_PYTHON. Add --with-hwdata option and - search for places normally placed at RedHat and Debian. Require - version 0.20 of D-BUS (Martin Waitz). - Make USE_MAINTAINER_MODE an AM_CONDITIONAL. Don't check for libpci. - Default D-BUS system.d directory to our own prefix. Add --with-hotplug - option to specify the hotplug.d directory. Default to /etc/hotplug.d. - Add tools/device-manager/Makefile. Print out HWDATA_DIR, - LINUX_HOTPLUG_DIR. - - * hald: All source files, s/LOG_/HAL_/. Fixup Doxygen documentation - - * hald/logger.c: new file - - * hald/logger.h: change logging macros - - * hald/Makefile.am: add logger.c to SOURCES - - * hald/linux/linux_class_input.c (process_input_proc_info): - Use EV_SYN if EV_RST is not defined - - * tools/Makefile.am: add device-manager to SUBDIRS - - * tools/device-manager/Makefile.am: new file; generates Const.py - with correct version and paths. Installs into the python program and - data into $(datadir)/hal/device-manager. Links from $(bindir) to the - installation location. - - * tools/device-manager/Const.py.in: new file - - * tools/device-manager/Const.py: Removed from CVS; now autogenerated - from Const.py.in - - * tools/device-manager/Representation.py: Prefix with Const.DATADIR - when loading png files - - * tools/device-manager/DeviceManager.py: Prefix with Const.DATADIR - when loading glade file - - * tools/linux/Makefile.am: Move hal.hotplug to libexec from bin. - Create symlink in /etc/hotplug.d on install. - -2003-12-15 David Zeuthen <david@fubar.dk> - - * hald/device_store.c (ds_init): Don't require callback functions - (ds_add_cb_newcap): new function - (ds_add_cb_property_changed): new function - (ds_add_cb_gdl_changed): new function - (ds_device_destroy): call all registered callbacks - (ds_gdl_add): call all registered callbacks - (ds_property_set_string): call all registered callbacks - (ds_property_set_int): call all registered callbacks - (ds_property_set_bool): call all registered callbacks - (ds_property_set_double): call all registered callbacks - (ds_property_remove): call all registered callbacks - (ds_device_merge): call new capability on target for all capabilities - on source - (ds_add_capability): call all registered callbacks - (ds_query_capability): new function - - * hald/device_store.h: Add new prototypes - - * hald/main.c (main): Register callbacks we used to give to ds_init() - - * hald/linux/linux_class_net (visit_class_device_net): Fixed bug where - the net.ethernet capability was set on "Experimental Ethernet" instead - on "Ethernet" - (mdio_read): new function - (link_detection_process): new function - (link_detection_timer_handler): new function - (link_detection_add): new function - (link_detection_remove): new function - (new_capability): new function - (gdl_changed): new function - (linux_class_net_init): Register callbacks for new_capability and - gdl_changed. Add timer for checking link status every second - -2003-12-14 David Zeuthen <david@fubar.dk> - - * doc/TODO: New file! Contains a high-level TODO list as a complement - to the @todo's embedded in the source code. - - * hald/device_store.c (xstrdup): new function - (ds_init): Require a callback to when the GDL changes - (async_find_timeout_fn): new function - (async_find_check_new_addition): new function - (ds_device_async_find_by_key_value_string): new function - (ds_device_find_by_key_value_string): new function - (ds_device_new): use xstrdup - (ds_gdl_add): check for pending async finds; notify about GDL change - (ds_device_set_udi): use xstrdup - (ds_property_set_string): use xstrdup - (ds_property_set_int): use xstrdup - (ds_property_set_bool): use xstrdup - (ds_property_set_double): use xstrdup - (ds_add_capability): new function - - * hald/device_store.h: Add prototypes and required datatypes for - public functions added in device_store.c - - * hald/main.c (gdl_changed): new function - (main): Call OS specific elements; see hald/linux - - * hald/linux: New directory holding files for device probing and - hotplug handling on Linux 2.6. All the logic from - agents/linux26/sysfs is ported over to use the local HAL interface - in hald. - It's a major change, but I'm sure it's worth it. It's - simply more efficient having a single daemon and, more - importantly, it's easier to manage. The monitoring code still - needs to be ported over. - This is the last major change before 0.2 is released. - - * hald/Makefile.am: Add sources from linux and linux/libsysfs - - * hald/osspec.h: new file - - * tools/linux/hal_hotplug.c: New simple program for translating a - hotplug event into a D-BUS messages - - * hal.conf: Add interface for listening to D-BUS messages originating - from Linux Hotplug - - * Makefile.am: Apply patch from Martin Waitz for smarter installation - of D-BUS policy file. Remove reference to agents; add tools to SUBDIRS - - * configure.in: Remove all agents; add Makefile generation for tools - and tools/linux - -2003-12-14 Anders Carlsson <andersca@gnome.org> - - * configure.in: Fix config message - -2003-12-08 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal_monitor.c: - (etc_mtab_process_all_block_devices): s/volume./block./ - (udev_filter_func): new function for filtering D-BUS messages from udev - (setup_udev_listener): setup filter for udev messages - (hal_monitor_enter): Listen to D-BUS messages - - * agents/linux26/sysfs/main.c: - (hal_sysfs_probe): Use global sysfs path - (device_hotplug_add): Use global sysfs path - (device_hotplug_remove): Use global sysfs path - (drivers_collect): Use global sysfs path - (mainloop_integration): Save D-BUS connection object for later use - (main): Get sysfs mount path once and for all - - * agents/linux26/sysfs/main.h: Add dbus_connection and sysfs_mount_path - as extern variables - - * hald/main.c: - (device_query_capability): new function - (filter_function): add check for Device.QueryCapability - - * libhal/libhal.c: Minor formatting stuff - - * examples/volumed/volumed.py: Crude example of volume manager now - that we got udev integration in place. It doesn't really mount anything - but prints out when it should mount. You'll need a very recent udev - from BitKeeper with D-BUS enabled (got the patch accepted today) - - -2003-12-06 David Zeuthen <david@fubar.dk> - - * tools/device-manager/hal-device-manager.glade: Forgot to add file - -2003-12-06 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal_monitor.c (ethmon_mdio_read): new function - (ethmon_process): new function - (ethmon_timeout): new function - (ethmon_add): new function - (ethmon_remove): new function - (ethernet_process_all_devices): new function - (device_added): new function - (device_new_capability): new function - (device_removed): new function - (hal_monitor_enter): Initiate monitoring of link status on ethernet - devices - - * agents/linux26/sysfs/hal_net.c (visit_class_device_net): Shuffle - the code around so the capability is not set before the properties - under the capability namespace - - * agents/linux26/sysfs/main.c: Add device_new_capability in - hal_functions variable - - * agents/linux26/sysfs/main.c: Add device_new_capability so it is - visible in other translation units - - * hald/main.c (manager_send_signal_new_capability): new function - (device_add_capability): new function - - * libhal/libhal.c (hal_free_string_array): Fixed critical bug - (hal_device_add_capability): Use new method on hal daemon instead - of local modification - (filter_func): Fix bug such that signals DeviceAdded and DeviceRemoved - are intercepted on the Manager interface. Add check for NewCapability - signal. - (main): More precise match rule for intercepting signals - - * libhal/libhal.h: Add NewCapability callback - - * tools/device-manager/DeviceManager.py: Fix a stupid bug where - we tried to call a get_current_focus_udi() method that is no more - - -2003-12-03 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal_net.c (visit_class_device_net): Change - mac address to be split into two 24-bit sizes. s/ethernet/net.ethernet/ - - * libhal/libhal.c (hal_find_all_devices): Put trailing NULL in result - (hal_manager_find_device_string_match): Put trailing NULL in result - (hal_find_device_by_capability): Put trailing NULL in result - - * tools/device-manager/hal-device-manager/Representation.y: - Simplify icon selection code - -2003-12-03 David Zeuthen <david@fubar.dk> - - * tools/device-manager: new directory with tools/hal-device-manager - split into many files - - * agents/linux26/sysfs/hal_block.c (visit_device_block): Set - Capability and Category properties - - * agents/linux26/sysfs/hal_input.c (get_input_proc_cur_info_obj): new - function - (process_input_proc_info): Set Capability and Category properties - - * agents/linux26/sysfs/hal_monitor.c - (etc_mtab_process_all_block_devices): Set some properties under - the volume namespace - - * agents/linux26/sysfs/hal_net.c (visit_class_device_net): Set - Capability and Category properties; set MAC address under - namespace ethernet for Ethernet net devices - - * agents/linux26/sysfs/hal_pci.c (visit_device_pci): Set - Capability and Category properties - (pci_add_caps_from_class): new function - - * agents/linux26/sysfs/hal_usb.c (visit_device_usb_interface): Set - Capability and Category properties - (usb_add_caps_from_class): new function - - * hald/main.c (manager_find_device_by_capability): new function - (filter_function): Add call - - * libhal/libhal.c (hal_get_all_devices): Convert from d-bus string - array. - (hal_manager_find_device_string_match): Convert from d-bus string - array. - (hal_device_add_capability): new function - (hal_device_query_capability): new function - (hal_find_device_by_capability): new function - - * libhal/libhal.h: Add prototypes - - -2003-12-01 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal_monitor.c: new file, the /etc/mtab - monitoring code is still a bit cheesy (especially the sleep(1) :-) - Someone with more linux-skills will hopefully rewrite it some day! - - * agents/linux26/sysfs/hal_monitor.h: new file - - * agents/linux26/sysfs/hal_usb.c (visit_device_usb): Fixed potential - bug for whitespace-strip loop - - * agents/linux26/sysfs/main.c (hal_sysfs_probe): Call - etc_mtab_process_all_block_devices() to inspect /etc/mtab and set - correct information for the block devices that is already mounted - (main): Add new option --monitor to start in monitoring mode. Right - now only /etc/mtab is monitored but network link detection is planned. - - * tools/hal-device-manager: Don't rebuild entire tree if properties - on a device is changing but just get the changes from hald and change - the internal representation. Helps performance a lot. - - -2003-11-30 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal_net.c: new file - - * agents/linux26/sysfs/hal_net.h: new file - - * agents/linux26/sysfs/hal_input.c: new file - - * agents/linux26/sysfs/hal_input.h: new file - - * agents/linux26/sysfs/Makefile.am: Add net and input to filelist - - * agents/linux26/sysfs/hal_pci.c (visit_device_pci): Set driver - property. - (hal_pci_init): Collect drivers - - * agents/linux26/sysfs/hal_usb.c (visit_device_usb): Set driver - property. Compute and set linux.kernel_devname; the name that - the kernel uses to uniquely identify the device - (visit_device_usb_interface): Set driver property - (hal_usb_init): Collect drivers - - * agents/linux26/sysfs/main.c (find_num): Gracefully handle errors - (find_udi_from_sysfs_path): allow max_time_to_try to be zero - (find_udi_by_key_value): new function - (visit_class_device): support for net class devices - (hal_sysfs_probe): support for net class devices - (device_hotplug_add): support for input and net class - (device_hotplug_remove): support for input and net class devices - (drivers_add_entry): new function - (drivers_lookup): new function - (drivers_collect): new function - (main): support for input and net class devices - - * agents/linux26/sysfs/main.h: Add new prototypes - - * tools/hal-device-manager: Fix a bug that slowed down the app - when the devices are changing. Many other changes - - * tools/hal-device-manager.glade: Add menu and gnome-app - - * tools/fdo-logo.png: new (binary) file - - -2003-11-27 David Zeuthen <david@fubar.dk> - - * libhal/libhal.c (hal_initialized): Fixed stupied error that prevented - libhal from compiling - -2003-11-27 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal-sysfs-agent.c: Removed; splitted into - multiple files; added scsi, ide and block probing + hotplugging; - many many changes.. - - * agents/linux26/sysfs/main.c: new file - - * agents/linux26/sysfs/main.h: new file - - * agents/linux26/sysfs/hal_usb.c: new file - - * agents/linux26/sysfs/hal_usb.h: new file - - * agents/linux26/sysfs/hal_pci.c: new file - - * agents/linux26/sysfs/hal_pci.h: new file - - * agents/linux26/sysfs/hal_ide.c: new file - - * agents/linux26/sysfs/hal_ide.h: new file - - * agents/linux26/sysfs/hal_scsi.c: new file - - * agents/linux26/sysfs/hal_scsi.h: new file - - * agents/linux26/sysfs/hal_block.c: new file - - * agents/linux26/sysfs/hal_block.h: new file - - * agents/linux26/sysfs/Makefile.am: Changed to reference new files - - * fdi/10generic/generic-hid-mouse.fdi: remove - - * fdi/10generic/generic-usb-hub.fdi: remove - - * fdi/10generic/usb-classes.fdi: new file - - * hald/device_info.c: Add support for bool in fdi-files - - * libhal/libhal.c: Allow caller to pass NULL in libhal_init() - - * tools/hal-device-manager: Don't show (most) virtual devices - -2003-11-23 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal-sysfs-agent.c: USB interfaces now have - their own device which has the USB device as the parent - (usbif_compute_udi): new function - (visit_device_usb_interface): create a new independent device for - the interface - - * tools/hal-device-manager: Add support for bus usbif - -2003-11-23 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal-sysfs-agent.c: - (usb_compute_udi): Make the device configuration entry part of the - device udi; use serial number, if available. - (find_usb_device_from_interface_sysfs_path): new function - (visit_device_usb_interface): Bugfix in white-space stripping - (visit_device): Make visit of children optional - (device_hotplug_add): Don't visit children when adding devices; handle - interfaces seperately. Consequently the interfaces appear later. - Added syslog calls. - NOTE: Need to wait for enabling an USB device until all interfaces are - collected. - (device_hotplug_remove): Added syslog calls - (main): Moved hotplug call after getopt switch, and handle all sorts - of events. - - * tools/hal-device-manager: Call update_device_list() whenever a - property changes; this is quite ineffective and should be changed - later. - - -2003-11-22 David Zeuthen <david@fubar.dk> - - * COPYING: Updated to mention some source files may be LGPL also - - * Doxyfile: Updated to use doxygen 1.3.4 - - * Doxyfile.in: Updated to use doxygen 1.3.4 - - * configure.in: Don't build agents/linux/usb/Makefile; we've - dropped 2.4 support. Build agents/linux26/sysfs/libsysfs/Makefile - - * agents/Makefile.am: Don't build in agents/linux - - * agents/linux26/sysfs/Makefile.am : Build in libsysfs - - * agents/linux26/sysfs/hal-sysfs-agent.c: Now using sysfsutils 0.3 - (bus_support_append_device): removed - (bus_support_find_bus): removed - (visit_device_usb_interface): Don't require device UDI to be - given; find it self - (visit_device_usb): Don't manually visit USB interfaces - (visit_device): Change to recursively visit children in device - hierachy - (visit_device_tree): removed - (visit_root_device): removed - (bus_support_collect): removed; not neccesary with sysfsutils 0.3 - since we can get the bus from there - - * agents/linux26/sysfs/libsysfs: New directory for holding local - copy of sysfsutils 0.3. - - * agents/linux26/sysfs/libsysfs/Makefile.am : new file - - * agents/linux26/sysfs/libsysfs/dlist.c : new file - - * agents/linux26/sysfs/libsysfs/dlist.h : new file - - * agents/linux26/sysfs/libsysfs/libsysfs.h : new file - - * agents/linux26/sysfs/libsysfs/sysfs.h : new file - - * agents/linux26/sysfs/libsysfs/sysfs_bus.c : new file - - * agents/linux26/sysfs/libsysfs/sysfs_class.c : new file - - * agents/linux26/sysfs/libsysfs/sysfs_device.c : new file - - * agents/linux26/sysfs/libsysfs/sysfs_dir.c : new file - - * agents/linux26/sysfs/libsysfs/sysfs_driver.c : new file - - * agents/linux26/sysfs/libsysfs/sysfs_utils.c : new file - - * agents/linux26/sysfs/libsysfs/ : new file - - -2003-11-22 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal-sysfs-agent.c: Implementing parsing of - /proc/bus/usb/devices to merge information currently not present - in sysfs. Quite a pain, but it seems to work... Still need some - cleanup though - (find_num): new function - (find_double): new function - (find_bcd2): new function - (find_string): new function - (usb_proc_find_virtual_hub): new function - (usb_proc_find_virtual_hub_child): new function - (usb_proc_find_on_hub): new function - (usb_proc_handle_topology): new function - (usb_proc_handle_device_info): new function - (usb_proc_device_done): new function - (usb_proc_parse_line): new function - (usb_proc_parse): new function - (visitor_usb_device): Locate and merge properties from /proc - (main): Parse USB stuff from /proc/bus/usb/devices - - * tools/hal-device-manager: Add USB version - - * tools/hal-device-manager.glade: Add USB version - - -2003-11-18 David Zeuthen <david@fubar.dk> - - * agents/linux26/sysfs/hal-sysfs-agent.c: Use usb.ids if - available. - (find_parent_udi_from_sysfs_path): Sleep if parent device not - found on hotplug; Fixes the issue of hotplugging a hub with many - devices attached to it - (visit_device_usb): Fix segfault when stripping whitespace off empty - string. Provide guess for Vendor, Product properties - (visit_device_pci): Provide guess for Vendor, Product properties - - * hald/main.c (manager_get_all_devices): Only return devices in the GDL - (manager_find_device_string_match): Only match on devices in the GDL - - * libhal/libhal.c: Various documentation clarifications - - * tools/hal-device-manager: Use icons and Vendor, Product properties. - Added "Advanced" tab page for showing all properties in a list. - - * tools/hal-device-manager.glade: Added "Advanced" tab page for - showing all properties in a list. - - * tools/bus-usb.png: new (binary) file - - * tools/bus-pci.png: new (binary) file - - * tools/lshal.py: Sort properties - - -2003-11-16 David Zeuthen <david@fubar.dk> - - * agents/linux26 : new directory; for Linux 2.6 agents - - * agents/linux26/Makefile.am: new file - - * agents/linux26/sysfs/hal-sysfs-agent.c: new file; inspects sysfs - on Linux 2.6 and adds USB, PCI devices found there. Currently works - with both --probe and in hotplug situations. Block devices are planned - real soon now. - - * agents/linux26/sysfs/Makefile.am: new file - - * tools/hal-device-manager: Added support for PCI devices - - * tools/hal-device-manager.glade: Added PCI page in device_notebook - - * libhal/libhal.h: Added hal_manager_find_device_string_match() - - * libhal/libhal.c (hal_manager_find_device_string_match): new function - - * hald/main.c (manager_find_device_string_match): new function - - * configure.in: add agents/linux26/Makefile, agents/linux26/Makefile - - * Doxyfile.in: add agents/linux26/sysfs - - * Doxyfile: add agents/linux26/sysfs - - -2003-11-15 David Zeuthen <david@fubar.dk> - - * agents/linux/usb/usb_agent.c (usb_compute_parents): Remove calls - to free(); we are causing segfaults because of we are interferring - with D-BUS memory management - (usb_compute_parent): Remove calls to free(); same reason - (usb_probe): Call usb_compute_parents() - (usb_hotplug): Remove calls to free(); same as above; compute parents - for all USB devices every time a single device is added/removed - (main): Sleep for one second before handling hotplug event to allow - the kernel to update /proc/bus/usb/devices - - * hald/device_info.h: new file - - * hald/device_info.c: new file - - * hald/Makefile.am: add device_info.[ch] - - * hald/device_store.h: Change signature of - HalDevicePropertyChangeCallback with an added parameter to allow - the callback handler to see if a device have been added - - * hald/device_store.c: Change to new signature of property_change_cb - - * hald/logger.h: Don't print LOG_TRACE() - - * hald/main.c (device_enable): Call di_search_and_merge() to handle - .fdi files - (agent_manager_commit_to_gdl): Call ds_gdl_add() - (filter_func): Don't log entry on every method invocation - (property_changed): Implement - - * tools/hal-device-manager: Use Product, Vendor, Category properties to - display information, if available. Handle property changed; reloads - device tree when a Parent property changes. Subscribe to signals - org.freedesktop.Hal.Device interface to catch property changes - - * tools/lshal.py: Listen to property changes on device objects - - * fdi: new directory - - * fdi/10generic: new directory - - * fdi/20freedesktop: new directory - - * fdi/10generic/generic-usb-hub.fdi: new file - - * fdi/10generic/generic-hid-mouse.fdi: new file - - * fdi/20freedesktop/ibm-usb-hub-keyboard.fdi: new file - - * fdi/20freedesktop/lexar-cf-card-reader.fdi: new file - - -2003-11-11 David Zeuthen <david@fubar.dk> - - * Doxyfile: new file, added so we can generate doxygen documentation - without having to run autogen.sh - -2003-11-11 David Zeuthen <david@fubar.dk> - - * tools/hal-device-manager: new file, GUI device manager using PyGTK - - * tools/hal-device-manager.glade: new file - - * agents/linux/usb/Makefile.am: rename program to hal-usb-agent.hotplug - so it works with the linux-hotplug event multiplexor - - * agents/linux/usb/usb_agent.c (usb_hotplug): implement - (handle_device_info2): drop usb.revisionProduct; use usb.bcdDevice - instead - (handle_config_desc): set usb.config.%d.isActive property - (usb_compute_parent): new function - (usb_rename_and_maybe_add): new function - (usb_hotplug_get_minimal): new function - - * hald/main.c (manager_send_signal_device_added): new function - (manager_send_signal_device_removed): new function - (agent_manager_commit_to_gdl): send out signal using above function - (agent_manager_remove): send out signal using above function - (test): removed - - * libhal/libhal.c (hal_device_print): new function - - * libhal/libhal.h: add prototype for hal_device_print() - - * tools/lshal.py: print device types, reprint device list when - receiving D-BUS signals from the HAL daemon - - -2003-11-09 David Zeuthen <david@fubar.dk> - - * agents/linux/usb/usb_agent.c (usage): Fixed typo from --remove to - --probe. Cosmetic - (usb_device_set_parent): New function - (usb_compute_parents): New function - (usb_probe): Set Parent for devices after probe and filtering/renaming - - * hald/device_store.h: ds_device_destroy now returns void - - * hald/device_store.c (ds_device_destroy): now return void - - * libhal/libhal.c: Tidied up error reporting to be __FILE__ __LINE__ - - * COPYING: New file - -2003-11-08 David Zeuthen <david@fubar.dk> - - * HACKING: Fixed typo - -2003-11-06 David Zeuthen <david@fubar.dk> - - * hal.conf: Changed to work with D-BUS head - -2003-11-05 David Zeuthen <david@fubar.dk> - - * Initial module creation; moved HAL 0.1 out of the way diff --git a/examples/light_sensors_and_keyboard_backlight.py b/examples/light_sensors_and_keyboard_backlight.py new file mode 100755 index 00000000..1c402b4d --- /dev/null +++ b/examples/light_sensors_and_keyboard_backlight.py @@ -0,0 +1,88 @@ +#!/usr/bin/python +# +# Simple program to set the keyboard backlight according to how much +# light is around. This is a very rough example, real production code +# needs to poll much less often and probably fade the backlight from +# 3-4 predefined values instead of jumping around like crazy. +# +# Copyright (C) 2006 David Zeuthen <david@fubar.dk>. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +import dbus +import sys +import time +import os + +bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM) +manager = dbus.Interface(bus.get_object('org.freedesktop.Hal', \ + '/org/freedesktop/Hal/Manager'), \ + 'org.freedesktop.Hal.Manager') +light_sensor_udis = manager.FindDeviceByCapability('light_sensor') +keyboard_backlight_udis = manager.FindDeviceByCapability('keyboard_backlight') + +if len(light_sensor_udis) < 1 or len(keyboard_backlight_udis) < 1: + print 'Light sensors: ', light_sensor_udis + print 'Keyboard backlights: ', keyboard_backlight_udis + print '' + print 'This program needs at least one light_sensor and one keyboard_backlight.' + sys.exit(1) + +light_sensor_num_sensors = dbus.Interface(bus.get_object('org.freedesktop.Hal', \ + light_sensor_udis[0]), \ + 'org.freedesktop.Hal.Device').GetProperty('light_sensor.num_sensors') + +keyboard_backlight_num_levels = dbus.Interface(bus.get_object('org.freedesktop.Hal', \ + keyboard_backlight_udis[0]), \ + 'org.freedesktop.Hal.Device').GetProperty('keyboard_backlight.num_levels') + +light_sensor = dbus.Interface(bus.get_object('org.freedesktop.Hal', \ + light_sensor_udis[0]), \ + 'org.freedesktop.Hal.Device.LightSensor') + +keyboard_backlight = dbus.Interface(bus.get_object('org.freedesktop.Hal', \ + keyboard_backlight_udis[0]), \ + 'org.freedesktop.Hal.Device.KeyboardBacklight') + + +clamp = 0.35 + +last_val_set = -1; + +while 1: + try: + levels = light_sensor.GetBrightness() + sum = 0 + for l in levels: + sum += l + val = float(sum / light_sensor_num_sensors) / keyboard_backlight_num_levels + if (val > clamp): + val_to_set = 0 + else: + val_to_set = (clamp - val) / clamp * (keyboard_backlight_num_levels - 1) + if (val_to_set < 0): + val_to_set = 0 + elif val_to_set >= keyboard_backlight_num_levels: + val_to_set = keyboard_backlight_num_levels - 1 + + if val_to_set != last_val_set: + last_val_set = val_to_set + keyboard_backlight.SetBrightness(val_to_set) + print 'val_to_set is ', val_to_set + + time.sleep(0.1) + except Exception, exception: + print exception diff --git a/tools/hal-storage-cleanup-all-mountpoints.c b/tools/hal-storage-cleanup-all-mountpoints.c new file mode 100644 index 00000000..aa8d6574 --- /dev/null +++ b/tools/hal-storage-cleanup-all-mountpoints.c @@ -0,0 +1,180 @@ +/*************************************************************************** + * CVSID: $Id: hal-storage-mount.c,v 1.7 2006/06/21 00:44:03 david Exp $ + * + * hal-storage-cleanup-all-mountpoints.c : Cleanup all mount points in + * /media/.hal-mtab that is currently unused + * + * Copyright (C) 2006 David Zeuthen, <david@fubar.dk> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + **************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <glib.h> +#include <glib/gstdio.h> + +#include "hal-storage-shared.h" + +/*#define DEBUG*/ +#define DEBUG + +static void +usage (void) +{ + fprintf (stderr, "This program should only be started by hald.\n"); + exit (1); +} + +static void +do_cleanup (void) +{ + int i, j; + FILE *hal_mtab_orig; + int hal_mtab_orig_len; + int num_read; + char *hal_mtab_buf; + char **lines; + FILE *hal_mtab_new; + + hal_mtab_orig = fopen ("/media/.hal-mtab", "r"); + if (hal_mtab_orig == NULL) { + unknown_error ("Cannot open /media/.hal-mtab"); + } + if (fseek (hal_mtab_orig, 0L, SEEK_END) != 0) { + unknown_error ("Cannot seek to end of /media/.hal-mtab"); + } + hal_mtab_orig_len = ftell (hal_mtab_orig); + if (hal_mtab_orig_len < 0) { + unknown_error ("Cannot determine size of /media/.hal-mtab"); + } + rewind (hal_mtab_orig); + hal_mtab_buf = g_new0 (char, hal_mtab_orig_len + 1); + num_read = fread (hal_mtab_buf, 1, hal_mtab_orig_len, hal_mtab_orig); + if (num_read != hal_mtab_orig_len) { + unknown_error ("Cannot read from /media/.hal-mtab"); + } + fclose (hal_mtab_orig); + +#ifdef DEBUG + printf ("hal_mtab = '%s'\n", hal_mtab_buf); +#endif + + lines = g_strsplit (hal_mtab_buf, "\n", 0); + g_free (hal_mtab_buf); + + /* find the entry we're going to unmount */ + for (i = 0; lines[i] != NULL; i++) { + char **line_elements; + +#ifdef DEBUG + printf (" line = '%s'\n", lines[i]); +#endif + + if ((lines[i])[0] == '#') + continue; + + line_elements = g_strsplit (lines[i], "\t", 6); + if (g_strv_length (line_elements) == 6) { + char *mount_point; + +#ifdef DEBUG + printf (" devfile = '%s'\n", line_elements[0]); + printf (" uid = '%s'\n", line_elements[1]); + printf (" session id = '%s'\n", line_elements[2]); + printf (" fs = '%s'\n", line_elements[3]); + printf (" options = '%s'\n", line_elements[4]); + printf (" mount_point = '%s'\n", line_elements[5]); +#endif + + /* just try to rmdir the entry; if it's non-empty or something is mounted on it, + * this will fail + */ + mount_point = line_elements[5]; + + /* remove directory */ + if (g_rmdir (mount_point) == 0) { + char *line_to_free; + + printf ("Removed mount_point '%s'", mount_point); + + line_to_free = lines[i]; + for (j = i; lines[j] != NULL; j++) { + lines[j] = lines[j+1]; + } + lines[j] = NULL; + g_free (line_to_free); + + /* we've moved the lines one back, so make sure we don't advance to next line */ + i--; + } + } + + g_strfreev (line_elements); + } + + /* create new .hal-mtab~ file without the entries we've removed */ + hal_mtab_new = fopen ("/media/.hal-mtab~", "w"); + if (hal_mtab_new == NULL) { + unknown_error ("Cannot create /media/.hal-mtab~"); + } + for (i = 0; lines[i] != NULL; i++) { + if (strlen (lines[i]) > 0) { + char anewl[2] = "\n\0"; + if (fwrite (lines[i], 1, strlen (lines[i]), hal_mtab_new) != strlen (lines[i])) { + unknown_error ("Cannot write to /media/.hal-mtab~"); + } + if (fwrite (anewl, 1, 1, hal_mtab_new) != 1) { + unknown_error ("Cannot write to /media/.hal-mtab~"); + } + } + } + fclose (hal_mtab_new); + + g_strfreev (lines); + + /* set new .hal-mtab file */ + if (rename ("/media/.hal-mtab~", "/media/.hal-mtab") != 0) { + unlink ("/media/.hal-mtab~"); + unknown_error ("Cannot rename /media/.hal-mtab~ to /media/.hal-mtab"); + } +} + +int +main (int argc, char *argv[]) +{ + if (!lock_hal_mtab ()) { + unknown_error ("Cannot obtain lock on /media/.hal-mtab"); + } + + if (getenv ("HAL_PROP_INFO_UDI") == NULL) + usage (); + +#ifdef DEBUG + printf ("in hal-storage-cleanup-all-mountpoints\n"); +#endif + do_cleanup (); + + + unlock_hal_mtab (); + return 0; +} diff --git a/tools/hal-storage-cleanup-mountpoint.c b/tools/hal-storage-cleanup-mountpoint.c new file mode 100644 index 00000000..f4973a82 --- /dev/null +++ b/tools/hal-storage-cleanup-mountpoint.c @@ -0,0 +1,192 @@ +/*************************************************************************** + * CVSID: $Id: hal-storage-mount.c,v 1.7 2006/06/21 00:44:03 david Exp $ + * + * hal-storage-cleanup-mountpoint.c : Cleanup mount point when hald detects + * that an unmount not done through Unmount() + * + * Copyright (C) 2006 David Zeuthen, <david@fubar.dk> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + **************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <glib.h> +#include <glib/gstdio.h> + +#include "hal-storage-shared.h" + +/*#define DEBUG*/ +#define DEBUG + +static void +usage (void) +{ + fprintf (stderr, "This program should only be started by hald.\n"); + exit (1); +} + +static void +do_cleanup (const char *mount_point) +{ + int i, j; + FILE *hal_mtab_orig; + int hal_mtab_orig_len; + int num_read; + char *hal_mtab_buf; + char **lines; + FILE *hal_mtab_new; + gboolean found; + + hal_mtab_orig = fopen ("/media/.hal-mtab", "r"); + if (hal_mtab_orig == NULL) { + unknown_error ("Cannot open /media/.hal-mtab"); + } + if (fseek (hal_mtab_orig, 0L, SEEK_END) != 0) { + unknown_error ("Cannot seek to end of /media/.hal-mtab"); + } + hal_mtab_orig_len = ftell (hal_mtab_orig); + if (hal_mtab_orig_len < 0) { + unknown_error ("Cannot determine size of /media/.hal-mtab"); + } + rewind (hal_mtab_orig); + hal_mtab_buf = g_new0 (char, hal_mtab_orig_len + 1); + num_read = fread (hal_mtab_buf, 1, hal_mtab_orig_len, hal_mtab_orig); + if (num_read != hal_mtab_orig_len) { + unknown_error ("Cannot read from /media/.hal-mtab"); + } + fclose (hal_mtab_orig); + +#ifdef DEBUG + printf ("hal_mtab = '%s'\n", hal_mtab_buf); +#endif + + lines = g_strsplit (hal_mtab_buf, "\n", 0); + g_free (hal_mtab_buf); + + /* find the entry we're going to unmount */ + found = FALSE; + for (i = 0; lines[i] != NULL && !found; i++) { + char **line_elements; + +#ifdef DEBUG + printf (" line = '%s'\n", lines[i]); +#endif + + if ((lines[i])[0] == '#') + continue; + + line_elements = g_strsplit (lines[i], "\t", 6); + if (g_strv_length (line_elements) == 6) { + +#ifdef DEBUG + printf (" devfile = '%s'\n", line_elements[0]); + printf (" uid = '%s'\n", line_elements[1]); + printf (" session id = '%s'\n", line_elements[2]); + printf (" fs = '%s'\n", line_elements[3]); + printf (" options = '%s'\n", line_elements[4]); + printf (" mount_point = '%s'\n", line_elements[5]); +#endif + + if (strcmp (line_elements[5], mount_point) == 0) { + char *line_to_free; + + found = TRUE; + + line_to_free = lines[i]; + for (j = i; lines[j] != NULL; j++) { + lines[j] = lines[j+1]; + } + lines[j] = NULL; + g_free (line_to_free); + } + } + + g_strfreev (line_elements); + } + + if (!found) { + unknown_error ("mount point is not /media/.hal-mtab"); + } + +#ifdef DEBUG + printf ("Found entry for mount point '%s' in /media/.hal-mtab", mount_point); +#endif + + /* create new .hal-mtab~ file without the entry we're going to unmount */ + hal_mtab_new = fopen ("/media/.hal-mtab~", "w"); + if (hal_mtab_new == NULL) { + unknown_error ("Cannot create /media/.hal-mtab~"); + } + for (i = 0; lines[i] != NULL; i++) { + if (i > 0) { + char anewl[2] = "\n\0"; + if (fwrite (anewl, 1, 1, hal_mtab_new) != 1) { + unknown_error ("Cannot write to /media/.hal-mtab~"); + } + } + + if (fwrite (lines[i], 1, strlen (lines[i]), hal_mtab_new) != strlen (lines[i])) { + unknown_error ("Cannot write to /media/.hal-mtab~"); + } + + } + fclose (hal_mtab_new); + + g_strfreev (lines); + + /* remove directory */ + if (g_rmdir (mount_point) != 0) { + unlink ("/media/.hal-mtab~"); + unknown_error ("Cannot remove directory"); + } + + /* set new .hal-mtab file */ + if (rename ("/media/.hal-mtab~", "/media/.hal-mtab") != 0) { + unlink ("/media/.hal-mtab~"); + unknown_error ("Cannot rename /media/.hal-mtab~ to /media/.hal-mtab"); + } + +} + +int +main (int argc, char *argv[]) +{ + char *mount_point; + + if (!lock_hal_mtab ()) { + unknown_error ("Cannot obtain lock on /media/.hal-mtab"); + } + + mount_point = getenv ("HALD_CLEANUP"); + if (mount_point == NULL) + usage (); + +#ifdef DEBUG + printf ("in hal-storage-cleanup-mountpoint for mount point '%s'\n", mount_point); +#endif + do_cleanup (mount_point); + + + unlock_hal_mtab (); + return 0; +} diff --git a/tools/hal-storage-eject.c b/tools/hal-storage-eject.c new file mode 100644 index 00000000..e7163d6b --- /dev/null +++ b/tools/hal-storage-eject.c @@ -0,0 +1,303 @@ +/*************************************************************************** + * CVSID: $Id: hal-storage-mount.c,v 1.7 2006/06/21 00:44:03 david Exp $ + * + * hal-storage-mount.c : Mount wrapper + * + * Copyright (C) 2006 David Zeuthen, <david@fubar.dk> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + **************************************************************************/ + + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <glib.h> +#include <glib/gstdio.h> +#include <sys/types.h> +#include <unistd.h> + +#include <libhal/libhal.h> +#include <libhal-storage/libhal-storage.h> +#include <libpolkit.h> + +#include "hal-storage-shared.h" + +static void +usage (void) +{ + fprintf (stderr, "This program should only be started by hald.\n"); + exit (1); +} + + +static void +invalid_eject_option (const char *option, const char *uid) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.Volume.InvalidEjectOption\n"); + fprintf (stderr, "The option '%s' is not allowed for uid=%s\n", option, uid); + exit (1); +} + +#ifdef __FreeBSD__ +#error Need FreeBSD specific changes here +#endif + +#define EJECT "/usr/bin/eject" + +static void +handle_eject (LibHalContext *hal_ctx, LibPolKitContext *pol_ctx, const char *udi, + LibHalDrive *drive, const char *device, + const char *invoked_by_uid, const char *invoked_by_syscon_name) +{ + GError *err = NULL; + char *sout = NULL; + char *serr = NULL; + int exit_status; + char *args[10]; + int na; + + /* TODO: should we require privileges here? */ + +#ifdef DEBUG + printf ("device = %s\n", device); + printf ("invoked by uid = %s\n", invoked_by_uid); + printf ("invoked by system bus connection = %s\n", invoked_by_syscon_name); +#endif + + /* construct arguments to EJECT (e.g. /usr/bin/eject) */ + na = 0; + args[na++] = EJECT; + args[na++] = (char *) device; + args[na++] = NULL; + +#ifdef DEBUG + printf ("will eject %s\n", device); +#endif + + /* invoke /bin/umount */ + if (!g_spawn_sync ("/", + args, + NULL, + 0, + NULL, + NULL, + &sout, + &serr, + &exit_status, + &err)) { + printf ("Cannot execute %s\n", EJECT); + unknown_error ("Cannot spawn " EJECT); + } + + /* check if eject was succesful */ + if (exit_status != 0) { + printf ("%s error %d, stdout='%s', stderr='%s'\n", EJECT, exit_status, sout, serr); + + unknown_error (serr); + } + + /* eject was succesful... */ + +#ifdef DEBUG + printf ("done ejecting\n"); +#endif + + g_free (sout); + g_free (serr); +} + + +int +main (int argc, char *argv[]) +{ + char *udi; + char *device; + LibHalVolume *volume; + DBusError error; + LibHalContext *hal_ctx = NULL; + DBusConnection *system_bus = NULL; + LibPolKitContext *pol_ctx = NULL; + char *invoked_by_uid; + char *invoked_by_syscon_name; + char **volume_udis; + int num_volumes; + int i; + char eject_options[1024]; + char **given_options; + const char *end; + + device = getenv ("HAL_PROP_BLOCK_DEVICE"); + if (device == NULL) + usage (); + + udi = getenv ("HAL_PROP_INFO_UDI"); + if (udi == NULL) + usage (); + + invoked_by_uid = getenv ("HAL_METHOD_INVOKED_BY_UID"); + + invoked_by_syscon_name = getenv ("HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME"); + + dbus_error_init (&error); + if ((hal_ctx = libhal_ctx_init_direct (&error)) == NULL) { + printf ("Cannot connect to hald\n"); + usage (); + } + + dbus_error_init (&error); + system_bus = dbus_bus_get (DBUS_BUS_SYSTEM, &error); + if (system_bus == NULL) { + printf ("Cannot connect to the system bus\n"); + usage (); + } + pol_ctx = libpolkit_new_context (system_bus); + if (pol_ctx == NULL) { + printf ("Cannot get libpolkit context\n"); + unknown_error ("Cannot get libpolkit context"); + } + + /* read from stdin */ + fgets (eject_options, sizeof (eject_options), stdin); + if (strlen (eject_options) > 0) + eject_options [strlen (eject_options) - 1] = '\0'; + /* validate that input from stdin is UTF-8 */ + if (!g_utf8_validate (eject_options, -1, &end)) + unknown_error ("Error validating eject_options as UTF-8"); +#ifdef DEBUG + printf ("eject_options = '%s'\n", eject_options); +#endif + + /* delete any trailing whitespace options from splitting the string */ + given_options = g_strsplit (eject_options, "\t", 0); + for (i = g_strv_length (given_options) - 1; i >= 0; --i) { + if (strlen (given_options[i]) > 0) + break; + given_options[i] = NULL; + } + + /* check eject options */ + for (i = 0; given_options[i] != NULL; i++) { + char *given = given_options[i]; + + /* none supported right now */ + + invalid_eject_option (given, invoked_by_uid); + } + g_strfreev (given_options); + + + volume = libhal_volume_from_udi (hal_ctx, udi); + if (volume == NULL) { + LibHalDrive *drive; + +#ifdef DEBUG + printf ("eject called on drive %s\n", udi); +#endif + + drive = libhal_drive_from_udi (hal_ctx, udi); + if (drive == NULL) { + usage (); + } else { + + /* TODO: should try to unmount? */ + + /* attempt the eject */ + handle_eject (hal_ctx, pol_ctx, + libhal_drive_get_udi (drive), + drive, + libhal_drive_get_device_file (drive), + invoked_by_uid, + invoked_by_syscon_name); + } + + } else { + const char *drive_udi; + LibHalDrive *drive; + + /* first, unmount all volumes */ + + drive_udi = libhal_volume_get_storage_device_udi (volume); + + if (drive_udi == NULL) + unknown_error ("Cannot get drive_udi from volume"); + drive = libhal_drive_from_udi (hal_ctx, drive_udi); + if (drive == NULL) + unknown_error ("Cannot get drive from hal"); + + + volume_udis = libhal_drive_find_all_volumes (hal_ctx, drive, &num_volumes); + if (volume_udis == NULL) + unknown_error ("Cannot get all enclosed volumes"); + for (i = 0; i < num_volumes; i++) { + char *volume_udi; + LibHalVolume *volume_to_unmount; + + volume_udi = volume_udis[i]; + +#ifdef DEBUG + printf ("processing drive's volume %s (%d of %d)\n", volume_udi, i + 1, num_volumes); +#endif + volume_to_unmount = libhal_volume_from_udi (hal_ctx, volume_udi); + if (volume_to_unmount == NULL) { + unknown_error ("Cannot get volume object"); + } + + if (libhal_volume_is_mounted (volume_to_unmount)) { +#ifdef DEBUG + printf (" unmounting\n"); +#endif + /* only lock around unmount call because hald's /proc/mounts handler + * will also want to lock the /media/.hal-mtab-lock file for peeking + */ + if (!lock_hal_mtab ()) { + unknown_error ("Cannot obtain lock on /media/.hal-mtab"); + } + handle_unmount (hal_ctx, pol_ctx, udi, volume_to_unmount, drive, + libhal_volume_get_device_file (volume_to_unmount), + invoked_by_uid, invoked_by_syscon_name, + FALSE, FALSE); /* use neither lazy nor force */ + unlock_hal_mtab (); + } else { +#ifdef DEBUG + printf (" not mounted\n"); +#endif + } + + libhal_volume_free (volume_to_unmount); + + } + libhal_free_string_array (volume_udis); + + /* now attempt the eject */ + handle_eject (hal_ctx, pol_ctx, + libhal_drive_get_udi (drive), + drive, + libhal_drive_get_device_file (drive), + invoked_by_uid, + invoked_by_syscon_name); + + } + + + return 0; +} + + diff --git a/tools/hal-storage-shared.c b/tools/hal-storage-shared.c new file mode 100644 index 00000000..c49c1069 --- /dev/null +++ b/tools/hal-storage-shared.c @@ -0,0 +1,481 @@ +/*************************************************************************** + * CVSID: $Id: hal-storage-mount.c,v 1.7 2006/06/21 00:44:03 david Exp $ + * + * hal-storage-mount.c : Mount wrapper + * + * Copyright (C) 2006 David Zeuthen, <david@fubar.dk> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + **************************************************************************/ + + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <glib.h> +#include <glib/gstdio.h> +#ifdef __FreeBSD__ +#include <fstab.h> +#include <sys/param.h> +#include <sys/ucred.h> +#include <sys/mount.h> +#include <limits.h> +#include <pwd.h> +#else +#include <mntent.h> +#endif +#include <sys/types.h> +#include <unistd.h> +#include <sys/file.h> +#include <errno.h> +#include <syslog.h> + +#include "hal-storage-shared.h" + +#ifdef __FreeBSD__ +struct mtab_handle +{ + struct statfs *mounts; + int n_mounts; + int iter; +}; +#endif + + +gboolean +mtab_open (gpointer *handle) +{ +#ifdef __FreeBSD__ + struct mtab_handle *mtab; + + mtab = g_new0 (struct mtab_handle, 1); + mtab->n_mounts = getmntinfo (&mtab->mounts, MNT_NOWAIT); + if (mtab->n_mounts == 0) { + g_free (mtab); + return FALSE; + } + + *handle = mtab; + return TRUE; +#else + *handle = fopen ("/proc/mounts", "r"); + return *handle != NULL; +#endif +} + +char * +mtab_next (gpointer handle) +{ +#ifdef __FreeBSD__ + struct mtab_handle *mtab = handle; + + if (mtab->iter < mtab->n_mounts) + return mtab->mounts[mtab->iter++].f_mntfromname; + else + return NULL; +#else + struct mntent *mnt; + + mnt = getmntent (handle); + + return mnt ? mnt->mnt_fsname : NULL; +#endif +} + +void +mtab_close (gpointer handle) +{ +#ifdef __FreeBSD__ + g_free (handle); +#else + fclose (handle); +#endif +} + + + +gboolean +fstab_open (gpointer *handle) +{ +#ifdef __FreeBSD__ + return setfsent () == 1; +#else + *handle = fopen ("/etc/fstab", "r"); + return *handle != NULL; +#endif +} + +char * +fstab_next (gpointer handle, char **mount_point) +{ +#ifdef __FreeBSD__ + struct fstab *fstab; + + fstab = getfsent (); + + /* TODO: fill out mount_point */ + if (mount_point != NULL && fstab != NULL) { + *mount_point = fstab->fs_file; + } + + return fstab ? fstab->fs_spec : NULL; +#else + struct mntent *mnt; + + mnt = getmntent (handle); + + if (mount_point != NULL && mnt != NULL) { + *mount_point = mnt->mnt_dir; + } + + return mnt ? mnt->mnt_fsname : NULL; +#endif +} + +void +fstab_close (gpointer handle) +{ +#ifdef __FreeBSD__ + endfsent (); +#else + fclose (handle); +#endif +} + +#ifdef __FreeBSD__ +#define UMOUNT "/sbin/umount" +#else +#define UMOUNT "/bin/umount" +#endif + +void +unknown_error (const char *detail) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.Volume.UnknownFailure\n"); + fprintf (stderr, "%s\n", detail); + exit (1); +} + + +static void +device_busy (const char *detail) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.Volume.Busy\n"); + fprintf (stderr, "%s\n", detail); + exit (1); +} + + +static void +not_mounted (const char *detail) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.Volume.NotMounted\n"); + fprintf (stderr, "%s\n", detail); + exit (1); +} + + +static void +not_mounted_by_hal (const char *detail) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.Volume.NotMountedByHal\n"); + fprintf (stderr, "%s\n", detail); + exit (1); +} + +static void +permission_denied_privilege (const char *privilege, const char *uid) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.PermissionDeniedByPolicy\n"); + fprintf (stderr, "%s refused uid %s\n", privilege, uid); + exit (1); +} + +static void +permission_denied_volume_ignore (const char *device) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.Volume.PermissionDenied\n"); + fprintf (stderr, "Device has %s volume.ignore set to TRUE. Refusing to mount.\n", device); + exit (1); +} + +void +handle_unmount (LibHalContext *hal_ctx, LibPolKitContext *pol_ctx, const char *udi, + LibHalVolume *volume, LibHalDrive *drive, const char *device, + const char *invoked_by_uid, const char *invoked_by_syscon_name, + gboolean option_lazy, gboolean option_force) +{ + int i, j; + DBusError error; + GError *err = NULL; + char *sout = NULL; + char *serr = NULL; + int exit_status; + char *args[10]; + int na; + FILE *hal_mtab_orig; + int hal_mtab_orig_len; + int num_read; + char *hal_mtab_buf; + char **lines; + char *mount_point_to_unmount; + gboolean mounted_by_other_uid; + FILE *hal_mtab_new; + +#ifdef DEBUG + printf ("device = %s\n", device); + printf ("invoked by uid = %s\n", invoked_by_uid); + printf ("invoked by system bus connection = %s\n", invoked_by_syscon_name); +#endif + + if (volume != NULL) { + dbus_error_init (&error); + if (libhal_device_get_property_bool (hal_ctx, udi, "volume.ignore", &error) || + dbus_error_is_set (&error)) { + permission_denied_volume_ignore (device); + } + + if (!libhal_volume_is_mounted (volume)) { + not_mounted ("According to HAL, the volume is not mounted"); + } + } + + + /* check hal's mtab file to verify the device to unmount is actually mounted by hal */ + hal_mtab_orig = fopen ("/media/.hal-mtab", "r"); + if (hal_mtab_orig == NULL) { + unknown_error ("Cannot open /media/.hal-mtab"); + } + if (fseek (hal_mtab_orig, 0L, SEEK_END) != 0) { + unknown_error ("Cannot seek to end of /media/.hal-mtab"); + } + hal_mtab_orig_len = ftell (hal_mtab_orig); + if (hal_mtab_orig_len < 0) { + unknown_error ("Cannot determine size of /media/.hal-mtab"); + } + rewind (hal_mtab_orig); + hal_mtab_buf = g_new0 (char, hal_mtab_orig_len + 1); + num_read = fread (hal_mtab_buf, 1, hal_mtab_orig_len, hal_mtab_orig); + if (num_read != hal_mtab_orig_len) { + unknown_error ("Cannot read from /media/.hal-mtab"); + } + fclose (hal_mtab_orig); + +#ifdef DEBUG + printf ("hal_mtab = '%s'\n", hal_mtab_buf); +#endif + + lines = g_strsplit (hal_mtab_buf, "\n", 0); + g_free (hal_mtab_buf); + + mount_point_to_unmount = NULL; + mounted_by_other_uid = TRUE; + + /* find the entry we're going to unmount */ + for (i = 0; lines[i] != NULL; i++) { + char **line_elements; + +#ifdef DEBUG + printf (" line = '%s'\n", lines[i]); +#endif + + if ((lines[i])[0] == '#') + continue; + + line_elements = g_strsplit (lines[i], "\t", 6); + if (g_strv_length (line_elements) == 6) { + +#ifdef DEBUG + printf (" devfile = '%s'\n", line_elements[0]); + printf (" uid = '%s'\n", line_elements[1]); + printf (" session id = '%s'\n", line_elements[2]); + printf (" fs = '%s'\n", line_elements[3]); + printf (" options = '%s'\n", line_elements[4]); + printf (" mount_point = '%s'\n", line_elements[5]); +#endif + + if (strcmp (line_elements[0], device) == 0) { + char *line_to_free; + + if (strcmp (line_elements[1], invoked_by_uid) == 0) + mounted_by_other_uid = FALSE; + + mount_point_to_unmount = g_strdup (line_elements[5]); + + line_to_free = lines[i]; + + for (j = i; lines[j] != NULL; j++) { + lines[j] = lines[j+1]; + } + lines[j] = NULL; + + g_free (line_to_free); + + g_strfreev (line_elements); + goto line_found; + + } + + } + + g_strfreev (line_elements); + } +line_found: + + if (mount_point_to_unmount == NULL) { + not_mounted_by_hal ("Device to unmount is not in /media/.hal-mtab so it is not mounted by HAL"); + } + + /* bail out, unless if we got the "hal-storage-can-unmount-volumes-mounted-by-others" privilege only + * if mounted_by_other_uid==TRUE + * + * We allow uid 0 to actually ensure that Unmount(options=["lazy"], "/dev/blah") works from addon-storage. + */ + if ((strcmp (invoked_by_uid, "0") != 0) && mounted_by_other_uid) { + /* TODO: actually check for privilege "hal-storage-can-unmount-volumes-mounted-by-others" */ + permission_denied_privilege ("hal-storage-can-unmount-volumes-mounted-by-others", invoked_by_uid); + } + + /* create new .hal-mtab~ file without the entry we're going to unmount */ + hal_mtab_new = fopen ("/media/.hal-mtab~", "w"); + if (hal_mtab_new == NULL) { + unknown_error ("Cannot create /media/.hal-mtab~"); + } + for (i = 0; lines[i] != NULL; i++) { + if (i > 0) { + char anewl[2] = "\n\0"; + if (fwrite (anewl, 1, 1, hal_mtab_new) != 1) { + unknown_error ("Cannot write to /media/.hal-mtab~"); + } + } + + if (fwrite (lines[i], 1, strlen (lines[i]), hal_mtab_new) != strlen (lines[i])) { + unknown_error ("Cannot write to /media/.hal-mtab~"); + } + + } + fclose (hal_mtab_new); + + g_strfreev (lines); + + /* construct arguments to /bin/umount */ + na = 0; + args[na++] = UMOUNT; + if (option_lazy) + args[na++] = "-l"; + if (option_force) + args[na++] = "-f"; + args[na++] = (char *) device; + args[na++] = NULL; + +#ifdef DEBUG + printf ("will umount %s (mounted at '%s'), mounted_by_other_uid=%d\n", + device, mount_point_to_unmount, mounted_by_other_uid); +#endif + + /* invoke /bin/umount */ + if (!g_spawn_sync ("/", + args, + NULL, + 0, + NULL, + NULL, + &sout, + &serr, + &exit_status, + &err)) { + printf ("Cannot execute %s\n", UMOUNT); + unlink ("/media/.hal-mtab~"); + unknown_error ("Cannot spawn " UMOUNT); + } + + /* check if unmount was succesful */ + if (exit_status != 0) { + printf ("%s error %d, stdout='%s', stderr='%s'\n", UMOUNT, exit_status, sout, serr); + + if (strstr (serr, "device is busy") != NULL) { + unlink ("/media/.hal-mtab~"); + device_busy (serr); + } else { + unlink ("/media/.hal-mtab~"); + unknown_error (serr); + } + } + + /* unmount was succesful, remove directory we created in Mount() */ + if (g_rmdir (mount_point_to_unmount) != 0) { + unlink ("/media/.hal-mtab~"); + unknown_error ("Cannot remove directory"); + } + + /* set new .hal-mtab file */ + if (rename ("/media/.hal-mtab~", "/media/.hal-mtab") != 0) { + unlink ("/media/.hal-mtab~"); + unknown_error ("Cannot rename /media/.hal-mtab~ to /media/.hal-mtab"); + } + +#ifdef DEBUG + printf ("done unmounting\n"); +#endif + openlog ("hald", 0, LOG_DAEMON); + syslog (LOG_INFO, "unmounted %s from '%s' on behalf of uid %s", device, mount_point_to_unmount, invoked_by_uid); + closelog (); + + g_free (sout); + g_free (serr); + g_free (mount_point_to_unmount); +} + +static int lock_mtab_fd = -1; + +gboolean +lock_hal_mtab (void) +{ + if (lock_mtab_fd >= 0) + return TRUE; + + printf ("%d: XYA attempting to get lock on /media/.hal-mtab-lock\n", getpid ()); + + lock_mtab_fd = open ("/media/.hal-mtab-lock", O_CREAT); + + if (lock_mtab_fd < 0) + return FALSE; + +tryagain: + if (flock (lock_mtab_fd, LOCK_EX) != 0) { + if (errno == EINTR) + goto tryagain; + return FALSE; + } + + printf ("%d: XYA got lock on /media/.hal-mtab-lock\n", getpid ()); + + + return TRUE; +} + +void +unlock_hal_mtab (void) +{ + flock (lock_mtab_fd, LOCK_UN); + close (lock_mtab_fd); + lock_mtab_fd = -1; + printf ("%d: XYA released lock on /media/.hal-mtab-lock\n", getpid ()); +} diff --git a/tools/hal-storage-shared.h b/tools/hal-storage-shared.h new file mode 100644 index 00000000..b9522517 --- /dev/null +++ b/tools/hal-storage-shared.h @@ -0,0 +1,54 @@ +/*************************************************************************** + * CVSID: $Id: hal-storage-mount.c,v 1.7 2006/06/21 00:44:03 david Exp $ + * + * hal-storage-mount.c : Mount wrapper + * + * Copyright (C) 2006 David Zeuthen, <david@fubar.dk> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + **************************************************************************/ + +#ifndef HAL_STORAGE_SHARED_H +#define HAL_STORAGE_SHARED_H + +#include <libhal/libhal.h> +#include <libhal-storage/libhal-storage.h> +#include <libpolkit.h> + +/*#define DEBUG*/ +#define DEBUG + +gboolean mtab_open (gpointer *handle); +char *mtab_next (gpointer handle); +void mtab_close (gpointer handle); + +gboolean fstab_open (gpointer *handle); +char *fstab_next (gpointer handle, char **mount_point); +void fstab_close (gpointer handle); + +gboolean lock_hal_mtab (void); +void unlock_hal_mtab (void); + +void unknown_error (const char *detail); + +void handle_unmount (LibHalContext *hal_ctx, LibPolKitContext *pol_ctx, const char *udi, + LibHalVolume *volume, LibHalDrive *drive, const char *device, + const char *invoked_by_uid, const char *invoked_by_syscon_name, + gboolean option_lazy, gboolean option_force); + + +#endif /* HAL_STORAGE_SHARED_H */ + diff --git a/tools/hal-storage-unmount.c b/tools/hal-storage-unmount.c new file mode 100644 index 00000000..5af680ad --- /dev/null +++ b/tools/hal-storage-unmount.c @@ -0,0 +1,191 @@ +/*************************************************************************** + * CVSID: $Id$ + * + * hal-storage-unmount.c : Unmount wrapper + * + * Copyright (C) 2006 David Zeuthen, <david@fubar.dk> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + **************************************************************************/ + + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <glib.h> +#include <glib/gstdio.h> +#ifdef __FreeBSD__ +#include <fstab.h> +#include <sys/param.h> +#include <sys/ucred.h> +#include <sys/mount.h> +#include <limits.h> +#include <pwd.h> +#else +#include <mntent.h> +#endif +#include <sys/types.h> +#include <unistd.h> + +#include <libhal/libhal.h> +#include <libhal-storage/libhal-storage.h> +#include <libpolkit.h> + +#include "hal-storage-shared.h" + + +static void +usage (void) +{ + fprintf (stderr, "This program should only be started by hald.\n"); + exit (1); +} + +static void +invalid_unmount_option (const char *option, const char *uid) +{ + fprintf (stderr, "org.freedesktop.Hal.Device.Volume.InvalidUnmountOption\n"); + fprintf (stderr, "The option '%s' is not allowed for uid=%s\n", option, uid); + exit (1); +} + +int +main (int argc, char *argv[]) +{ + char *udi; + char *device; + LibHalVolume *volume; + DBusError error; + LibHalContext *hal_ctx = NULL; + DBusConnection *system_bus = NULL; + LibPolKitContext *pol_ctx = NULL; + char *invoked_by_uid; + char *invoked_by_syscon_name; + int i; + char unmount_options[1024]; + char **given_options; + gboolean use_lazy; + gboolean use_force; + const char *end; + + if (!lock_hal_mtab ()) { + unknown_error ("Cannot obtain lock on /media/.hal-mtab"); + } + + device = getenv ("HAL_PROP_BLOCK_DEVICE"); + if (device == NULL) + usage (); + + udi = getenv ("HAL_PROP_INFO_UDI"); + if (udi == NULL) + usage (); + + invoked_by_uid = getenv ("HAL_METHOD_INVOKED_BY_UID"); + + invoked_by_syscon_name = getenv ("HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME"); + + dbus_error_init (&error); + if ((hal_ctx = libhal_ctx_init_direct (&error)) == NULL) { + printf ("Cannot connect to hald\n"); + usage (); + } + + dbus_error_init (&error); + system_bus = dbus_bus_get (DBUS_BUS_SYSTEM, &error); + if (system_bus == NULL) { + printf ("Cannot connect to the system bus\n"); + usage (); + } + pol_ctx = libpolkit_new_context (system_bus); + if (pol_ctx == NULL) { + printf ("Cannot get libpolkit context\n"); + unknown_error ("Cannot get libpolkit context"); + } + + /* read from stdin */ + fgets (unmount_options, sizeof (unmount_options), stdin); + if (strlen (unmount_options) > 0) + unmount_options [strlen (unmount_options) - 1] = '\0'; + /* validate that input from stdin is UTF-8 */ + if (!g_utf8_validate (unmount_options, -1, &end)) + unknown_error ("Error validating unmount_options as UTF-8"); +#ifdef DEBUG + printf ("unmount_options = '%s'\n", unmount_options); +#endif + + /* delete any trailing whitespace options from splitting the string */ + given_options = g_strsplit (unmount_options, "\t", 0); + for (i = g_strv_length (given_options) - 1; i >= 0; --i) { + if (strlen (given_options[i]) > 0) + break; + given_options[i] = NULL; + } + + use_lazy = FALSE; + use_force = FALSE; + + /* check unmount options */ + for (i = 0; given_options[i] != NULL; i++) { + char *given = given_options[i]; + + if (strcmp (given, "lazy") == 0) { + use_lazy = TRUE; + } else if (strcmp (given, "force") == 0) { + use_force = TRUE; + } else { + invalid_unmount_option (given, invoked_by_uid); + } + } + g_strfreev (given_options); + + + volume = libhal_volume_from_udi (hal_ctx, udi); + if (volume == NULL) { + LibHalDrive *drive; + + drive = libhal_drive_from_udi (hal_ctx, udi); + if (drive == NULL) { + usage (); + } else { + handle_unmount (hal_ctx, pol_ctx, udi, NULL, drive, device, invoked_by_uid, + invoked_by_syscon_name, use_lazy, use_force); + } + + } else { + const char *drive_udi; + LibHalDrive *drive; + + drive_udi = libhal_volume_get_storage_device_udi (volume); + + if (drive_udi == NULL) + unknown_error ("Cannot get drive_udi from volume"); + drive = libhal_drive_from_udi (hal_ctx, drive_udi); + if (drive == NULL) + unknown_error ("Cannot get drive from hal"); + + handle_unmount (hal_ctx, pol_ctx, udi, volume, drive, device, invoked_by_uid, + invoked_by_syscon_name, use_lazy, use_force); + + } + + unlock_hal_mtab (); + + return 0; +} diff --git a/tools/hal-system-storage-cleanup-mountpoint b/tools/hal-system-storage-cleanup-mountpoint deleted file mode 100755 index 00cd118b..00000000 --- a/tools/hal-system-storage-cleanup-mountpoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2006, David Zeuthen <davidz@redhat.com> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2. - -if [ -z "$HALD_CLEANUP" ]; then - echo "org.freedesktop.Hal.Device.UnknownError" >&2 - echo Specify directory to clean up with the environment variable HALD_CLEANUP - exit 1 -fi - -# check if we created it -if [ ! -e "$HALD_CLEANUP/.created-by-hal" ]; then - exit 1 -fi - -rm -f "$HALD_CLEANUP/.created-by-hal" -rmdir "$HALD_CLEANUP" 2>/dev/null || true - diff --git a/tools/hal-system-storage-cleanup-mountpoints b/tools/hal-system-storage-cleanup-mountpoints deleted file mode 100755 index fae1e822..00000000 --- a/tools/hal-system-storage-cleanup-mountpoints +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2005, Kay Sievers <kay.sievers@vrfy.org> -# Copyright (C) 2006, David Zeuthen <davidz@redhat.com> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2. - - -if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/hal-system-storage-cleanup-mountpoints-$HALD_UNAME_S ]; then - exec ./$HALD_UNAME_S/hal-system-storage-cleanup-mountpoints-$HALD_UNAME_S $@ -else - echo "org.freedesktop.Hal.Device.UnknownError" >&2 - echo "No back-end for your operating system" >&2 - exit 1 -fi diff --git a/tools/hal-system-storage-eject b/tools/hal-system-storage-eject deleted file mode 100755 index 4f9c3762..00000000 --- a/tools/hal-system-storage-eject +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2005, Kay Sievers <kay.sievers@vrfy.org> -# Copyright (C) 2006, David Zeuthen <david@fubar.dk> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2. -# -# Check for environment variables -if [ -z "$HAL_PROP_BLOCK_DEVICE" ] || [ -z "$HAL_PROP_INFO_UDI" ] ; then - echo "org.freedesktop.Hal.Device.UnknownError" >&2 - echo "Missing or empty environment variable(s)." >&2 - echo "This script should be started by hald." >&2 - exit 1 -fi - -if [ "$HAL_METHOD_INVOKED_BY_UID" != "0" ]; then - if [ -n "$HAL_PROP_INFO_HAL_MOUNT_CREATED_MOUNT_POINT" ]; then - if [ "$HAL_METHOD_INVOKED_BY_UID" != "$HAL_PROP_INFO_HAL_MOUNT_MOUNTED_BY_UID" ]; then - echo "org.freedesktop.Hal.Device.Volume.PermissionDenied" >&2 - echo "Volume mounted by uid $HAL_PROP_INFO_HAL_MOUNT_MOUNTED_BY_UID cannot be ejected by uid $HAL_METHOD_INVOKED_BY_UID." >&2 - exit 1 - fi - fi -fi - -# TODO: need to select storage-[fixed|removable][-change-uid] -#POLICY=hal-storage-fixed-mount -#if [ "$HAL_METHOD_INVOKED_BY_UID" != "0" ] ; then -# RESULT=$(polkit-is-privileged --privilege $POLICY --user $HAL_METHOD_INVOKED_BY_UID 2>&1) -# IS_PRIVILEGED=$? -# if [ "$IS_PRIVILEGED" != "0" ] ; then -# echo org.freedesktop.Hal.Device.PermissionDeniedByPolicy >&2 -# echo $POLICY refused uid $HAL_METHOD_INVOKED_BY_UID >&2 -# exit 1 -# fi -#fi - -if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/hal-system-storage-eject-$HALD_UNAME_S ]; then - exec ./$HALD_UNAME_S/hal-system-storage-eject-$HALD_UNAME_S $@ -else - echo "org.freedesktop.Hal.Device.UnknownError" >&2 - echo "No back-end for your operating system" >&2 - exit 1 -fi diff --git a/tools/hal-system-storage-unmount b/tools/hal-system-storage-unmount deleted file mode 100755 index 7bd4985a..00000000 --- a/tools/hal-system-storage-unmount +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2005, Kay Sievers <kay.sievers@vrfy.org> -# Copyright (C) 2006, David Zeuthen <david@fubar.dk> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2. - -# Check for environment variables -if [ -z "$HAL_PROP_BLOCK_DEVICE" ] || [ -z "$HAL_PROP_INFO_UDI" ] ; then - echo "org.freedesktop.Hal.Device.UnknownError" >&2 - echo "Missing or empty environment variable(s)." >&2 - echo "This script should be started by hald." >&2 - exit 1 -fi - -MOUNT_POINT="$HAL_PROP_INFO_HAL_MOUNT_CREATED_MOUNT_POINT" -if [ -z "$MOUNT_POINT" ]; then - MOUNT_POINT="$HAL_PROP_VOLUME_MOUNT_POINT" - if [ -z "$MOUNT_POINT" ]; then - echo "org.freedesktop.Hal.Device.Volume.NotMounted" >&2 - echo "Cannot figure out where device is mounted." >&2 - exit 1 - fi -fi - -if [ "$HAL_PROP_STORAGE_MEDIA_CHECK_ENABLED" != "false" ]; then - if [ "$HAL_PROP_VOLUME_IS_MOUNTED" != "true" ]; then - echo "org.freedesktop.Hal.Device.Volume.NotMounted" >&2 - echo "Device is not mounted." >&2 - exit 1 - fi -fi - -if [ "$HAL_METHOD_INVOKED_BY_UID" != "0" ]; then - if [ "$HAL_METHOD_INVOKED_BY_UID" != "$HAL_PROP_INFO_HAL_MOUNT_MOUNTED_BY_UID" ]; then - UID_MOUNTED="$HAL_PROP_INFO_HAL_MOUNT_MOUNTED_BY_UID" - if [ -z "$UID_MOUNTED" ]; then - UID_MOUNTED="UNKNOWN" - fi - echo "org.freedesktop.Hal.Device.Volume.PermissionDenied" >&2 - echo "Volume mounted by uid $UID_MOUNTED cannot be unmounted by uid $HAL_METHOD_INVOKED_BY_UID." >&2 - exit 1 - fi -fi - -# TODO: need to select storage-[fixed|removable][-change-uid] -#POLICY=hal-storage-fixed-mount -#if [ "$HAL_METHOD_INVOKED_BY_UID" != "0" ] ; then -# RESULT=$(polkit-is-privileged --privilege $POLICY --user $HAL_METHOD_INVOKED_BY_UID 2>&1) -# IS_PRIVILEGED=$? -# if [ "$IS_PRIVILEGED" != "0" ] ; then -# echo org.freedesktop.Hal.Device.PermissionDeniedByPolicy >&2 -# echo $POLICY refused uid $HAL_METHOD_INVOKED_BY_UID >&2 -# exit 1 -# fi -#fi - -export MOUNT_POINT - -if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/hal-system-storage-unmount-$HALD_UNAME_S ]; then - exec ./$HALD_UNAME_S/hal-system-storage-unmount-$HALD_UNAME_S $@ -else - echo "org.freedesktop.Hal.Device.UnknownError" >&2 - echo "No back-end for your operating system" >&2 - exit 1 -fi |