summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12277
-rwxr-xr-xexamples/light_sensors_and_keyboard_backlight.py88
-rw-r--r--tools/hal-storage-cleanup-all-mountpoints.c180
-rw-r--r--tools/hal-storage-cleanup-mountpoint.c192
-rw-r--r--tools/hal-storage-eject.c303
-rw-r--r--tools/hal-storage-shared.c481
-rw-r--r--tools/hal-storage-shared.h54
-rw-r--r--tools/hal-storage-unmount.c191
-rwxr-xr-xtools/hal-system-storage-cleanup-mountpoint21
-rwxr-xr-xtools/hal-system-storage-cleanup-mountpoints16
-rwxr-xr-xtools/hal-system-storage-eject45
-rwxr-xr-xtools/hal-system-storage-unmount67
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