1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00
Commit Graph

186 Commits

Author SHA1 Message Date
Kay Sievers
34129109a1 add -x to scsi_id to export the queried values in env format
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-27 02:51:49 +02:00
Kay Sievers
b8476286d6 store the imported device information in the udevdb
Any program can query with udevinfo for persistent device
attributes evaluated on device discovery now.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-26 18:55:24 +02:00
Kay Sievers
208f6aba21 rename udev_volume_id to vol_id and add --export option
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-26 01:54:47 +02:00
Kay Sievers
670e470543 add ata_id to read serial numbers from ATA drives
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-25 23:54:28 +02:00
Kay Sievers
c07669bd66 udev: handle all events - not only class and block devices
Handle all events with rules. If udev is expected to handle hotplug.d/
the exernal helper must be called.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05 15:55:29 +02:00
Kay Sievers
c2401132bf volume_id: use udev-provided log-level
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05 05:17:21 +02:00
Kay Sievers
6a522681e1 udev: move dev.d/ handling to external helper
Modern rules are expected to call notification and postprocessing with    
the RUN key. For compatibility the current behavior can be emulated
with an external helper.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05 05:11:29 +02:00
Darren Salt
d514329ee2 [PATCH] update cdsymlinks to latest version
diff -ur udev-057.orig/extras/cdsymlinks.c udev-057/extras/cdsymlinks.c
2005-05-20 12:59:17 -07:00
kay.sievers@vrfy.org
5160379804 [PATCH] udev_volume_id: fix endianess macros 2005-04-26 23:55:00 -07:00
kay.sievers@vrfy.org
92ebb398ed [PATCH] klibc: use klcc wrapper instead of our own Makefile 2005-04-26 23:53:53 -07:00
kay.sievers@vrfy.org
7d227c5f34 [PATCH] volume_id: version 43 2005-04-26 23:53:53 -07:00
hare@suse.de
cc44094d63 [PATCH] volume_id: Fix label/uuid reading for reiserfs
Well, I just asked our resident reiserfs guru (thx mason :-).
Reiser v3.5 does not support labels nor uuids.
2005-04-26 23:53:18 -07:00
kay.sievers@vrfy.org
afa3c553b1 [PATCH] volume_id: version 42 2005-04-26 23:53:17 -07:00
kay.sievers@vrfy.org
7c492da7f7 [PATCH] volume_id: version 41 2005-04-26 23:53:17 -07:00
tklauser@access.unizh.ch
9066c16ada [PATCH] The following patch fixes some warnings when compiling volume_id 2005-04-26 23:53:17 -07:00
tklauser@access.unizh.ch
e296b1476e [PATCH] The following patch fixes a warning when compiling chassis_id 2005-04-26 23:53:17 -07:00
kay.sievers@vrfy.org
138068d690 [PATCH] fix ia64 compile 2005-04-26 23:51:00 -07:00
kay.sievers@vrfy.org
845d4751ac [PATCH] udev_volume_id: version 39 2005-04-26 23:51:00 -07:00
kay.sievers@vrfy.org
6c18b1fb87 [PATCH] rename LOG to USE_LOG in all places 2005-04-26 23:48:48 -07:00
kay.sievers@vrfy.org
30c6b4c9a2 [PATCH] udev_volume_id: volume_id v38 2005-04-26 23:48:48 -07:00
patmans@us.ibm.com
4e05e4238b [PATCH] update scsi_id to work with libsysfs changes
Update scsi_id to work with the libsysfs changes in udev: use
sysfs_get_classdev_attr and sysfs_get_device_attr in place of
sysfs_read_attribute_value.
2005-04-26 23:39:48 -07:00
tklauser@access.unizh.ch
8d1b4df219 [PATCH] udev_volume_id: add Reiser4 support 2005-04-26 23:36:13 -07:00
kay.sievers@vrfy.org
e4d4a557e5 [PATCH] udev_volume_id: volume_id v35 2005-04-26 23:36:13 -07:00
patmans@us.ibm.com
07544a93d6 [PATCH] scsi_id changes for use with udev %N and %p
Changes to scsi_id to support the udev %N and %p substitutions:

- Update version from .7 to .8

- change TMP_DIR back to /tmp

- if DEVPATH is set assume hotplug_mode (use syslog for logging, and does
  not output some warnings)

- Always output a newline after the id is printed

- Allow command line options to override settings when hotplug_mode is set

- update man page

- update generator script to use the %N and %p substitutions.
2005-04-26 23:35:15 -07:00
kay.sievers@vrfy.org
d384abd2bd [PATCH] udev_volume_id: fix typo 2005-04-26 23:34:04 -07:00
kay.sievers@vrfy.org
27753a3cf7 [PATCH] udev_volume_id: remove temporary node creation and parent handling
udev can create the temporary node for us now. (On bootup we don't
know where a writable filesystem is mounted). Also the parent handling
is not needed anymore, cause udev is able to pass us the node name
of the parent device.
2005-04-26 23:31:05 -07:00
kay.sievers@vrfy.org
866bb54704 [PATCH] udev_volume_id: remove __packed__ from dasd structure as it does not work 2005-04-26 23:31:02 -07:00
greg@kroah.com
3a030b511f [PATCH] fix example comment in ide-devfs.sh 2005-04-26 23:28:12 -07:00
kay.sievers@vrfy.org
bce52be81e [PATCH] udev_volume_id: fix dasd disklabel reading with -l option 2005-04-26 23:27:03 -07:00
kay.sievers@vrfy.org
9d4791b66a [PATCH] udev_volume_id: volume_id version 034 2005-04-26 23:26:14 -07:00
md@Linux.IT
882b97455b [PATCH] raid-devfs.sh: devfs names for hardware RAID controllers 2005-04-26 23:24:20 -07:00
md@Linux.IT
fd3eeb7502 [PATCH] scsi_id: when udevstart is started, /tmp is not writeable. 2005-04-26 23:24:20 -07:00
md@Linux.IT
0c50db890e [PATCH] cdsymlinks.sh: trivial fix, the variable is initialized to '', not 0 2005-04-26 23:24:20 -07:00
kay.sievers@vrfy.org
d9cf0b0a7c [PATCH] udev_volume_id: rename probe_ibm into probe_dasd 2005-04-26 23:24:19 -07:00
kay.sievers@vrfy.org
7979e3d4b7 [PATCH] udev_volume_id: volume_id version 032 2005-04-26 23:24:19 -07:00
kay.sievers@vrfy.org
51df9ee496 [PATCH] Makefile: add some more warnings and prepare for clean gcc4 compile 2005-04-26 23:24:19 -07:00
kay.sievers@vrfy.org
1134a81b98 [PATCH] fix -Wsign-compare warnings 2005-04-26 23:24:19 -07:00
kay.sievers@vrfy.org
9172c95c77 [PATCH] chassis_id: clean compilation and fix bad function parameter passing
Adding prototypes for functions resulted in an error, cause:
  table_find_disk(disk_snum, &chassis_num, &slot_num);

is called but the function is defined as:
  int table_find_disk(char *serialnumber , int *host_num, int *chassis_num, int *slot_num)

which can obviously not work correctly.

Using popen() is not klibc compatible, so skip the compilation if
a klibc compile is requested.
2005-04-26 23:24:19 -07:00
kay.sievers@vrfy.org
c033fd9f01 [PATCH] udev_volume_id: new version of volume_id
Every filesystem has its own subdirectory.
The IBM dasd label reading is included into volume_id.
2005-04-26 23:24:19 -07:00
cborntra@de.ibm.com
61b24e5e19 [PATCH] udev_volume_id: fix -d option
The -d option in udev_allows to go from a partition to the underlying disk
for s390 dasd labels. If the device is already the disk itself, finding the 
parent will fail, therefore -d on /sys/block/dasda/ for example gives no 
result at all.
2005-04-26 23:21:58 -07:00
kay.sievers@vrfy.org
eb064000ca [PATCH] udev_volume_id: fix FAT label reading 2005-04-26 23:21:58 -07:00
kay.sievers@vrfy.org
240ce55179 [PATCH] udev_volume_id: version 27
Fix FAT label reading bug for very large volumes.
Recognize FAT label at Win98 formatted volumes.
Read iso9660 joliet descriptor for unicode labels.
Support uuid/label of swap partitions.
2005-04-26 23:21:58 -07:00
greg@kroah.com
ce5c75b8e1 [PATCH] fix udev_volume_id build error.
bah, when will I remember to check the extras _before_ I do a release...
2005-04-26 23:17:47 -07:00
kay.sievers@vrfy.org
c2fe814e30 [PATCH] udev_volume_id: links sysfs.a instead of all objects
cuts down the size from:
  dynamically linked: 48.030 -> 45.187
  statically linked:  149.177 ->  142.362
2005-04-26 23:13:47 -07:00
greg@kroah.com
c93053663f [PATCH] fix udev_volume_id so it will now build properly. 2005-04-26 23:13:47 -07:00
Greg KH
5e7d9f4060 more merge fixups 2005-04-26 23:10:15 -07:00
Greg KH
97adaace4f more fixups 2005-04-26 22:54:32 -07:00
sschweizer@gmail.com
8a0dc204e9 [PATCH] Allow GROUP to have modifiers in it 2005-04-26 22:43:36 -07:00
kay.sievers@vrfy.org
a5d00f9d37 [PATCH] Add support for highpoint ataraid to volume_id to suppress 2005-04-26 22:09:26 -07:00
kay.sievers@vrfy.org
a9ce604122 [PATCH] Patches from Harald Hoyer <harald@redhat.com>. 2005-04-26 22:09:26 -07:00
kay.sievers@vrfy.org
ff694eca17 [PATCH] fix debug in volume id / fix clashing global var name
Here we get the logging for udev_volume_id working if it is compiled
with DEBUG=true. Also fixed is a name clash with a global variable.
2005-04-26 22:06:44 -07:00
kay.sievers@vrfy.org
1b1ba93365 [PATCH] volume_id fix
I've been told that open() should not pass O_NONBLOCK.
2005-04-26 22:06:43 -07:00
kay.sievers@vrfy.org
7a947ce515 [PATCH] big cleanup of internal udev api
Here is the first patch to cleanup the internal processing of the
various stages of an udev event. It should not change any behavior,
but if your system depends on udev, please always test it before reboot :)

We pass only one generic structure around between add, remove,
namedev, db and dev_d handling and make all relevant data available
to all internal stages. All udev structures are renamed to "udev".

We replace the fake parameter by a flag in the udev structure.

We open the class device in the main binaries and not in udev_add, to
make it possible to use libsysfs for udevstart directory crawling.

The last sleep parameters are removed.
2005-04-26 22:02:46 -07:00
patmans@us.ibm.com
b337e60790 [PATCH] update udev to scsi_id 0.7
Update udev's scsi_id to version 0.7, this fixes a bad bug in scsi_id on
64 bit systems.
2005-04-26 22:02:45 -07:00
greg@kroah.com
79db6912cf [PATCH] add very nice cdsymlinks scripts.
These are from Darren Salt <linux@youmustbejoking.demon.co.uk>
2005-04-26 22:02:45 -07:00
greg@kroah.com
29afcc5f11 [PATCH] add some helper scripts for dvb and input devices. 2005-04-26 22:02:45 -07:00
greg@kroah.com
396bb4c3d3 [PATCH] let the extras/ programs build "pretty" also 2005-04-26 22:02:45 -07:00
patmans@us.ibm.com
125930b454 [PATCH] pass SYSFS setting down for extras builds
Modify SYSFS to specify the full path, and pass it down for the extras
builds.

Change the scsi_id Makefile so it will work with and without udev.
2005-04-26 22:02:45 -07:00
greg@kroah.com
c008fe93f5 [PATCH] fix up error in building extras and libsysfs 2005-04-26 21:58:15 -07:00
greg@kroah.com
71144b744a [PATCH] delete extras/multipath-tools as per the author's request
This is now a standalone package.
2005-04-26 21:37:03 -07:00
kay.sievers@vrfy.org
33eae955e2 [PATCH] update volume_id
Here is an update to the latest volume_id which fixes a few bugs with
FAT volumes.
2005-04-26 21:37:03 -07:00
harald@redhat.com
ff213aecf6 [PATCH] cleanup PATCH for extras/chassis_id/Makefile
for "make install"
2005-04-26 21:37:02 -07:00
greg@kroah.com
186f7b2362 [PATCH] update comments in scsi-devfs.sh 2005-04-26 21:37:02 -07:00
patmans@us.ibm.com
01f950e2eb [PATCH] update udev to include scsi_id 0.6
Here's a patch updating udev's copy of scsi_id to version 0.6.
2005-04-26 21:37:02 -07:00
kay.sievers@vrfy.org
9e8a3a095d [PATCH] volume-id build fix and update
Let's try it another way:

We define BLKGETSIZE64 in udev-volume_id.c now, cause including <fs.h>
does also not work with klibc. This hopefully fixes your compile problem
too.

Also included is an update to udev_volume_id with the latest fixes for
volume_id. It adds a simple logging file to map the debug function, that
we can use exactly the same files in HAL and udev.
2005-04-26 21:37:01 -07:00
kay.sievers@vrfy.org
c506c4087e [PATCH] update udev_volume_id
Here is an update for the volume_id callout to catch up to the latest
and greatest:

o It is able to skip the label reading of linux raid members, which are
  otherwise recognized as a normal filesystem.

o It reads FAT labels stored in the directory instead of the
  superblock (Windows only writes in the directory).

o The NTFS uuid is the right one now.

o It reads all the Apple HFS(+) formats with the labels.

o UFS volumes are recognized but no labels are extracted.

o We use CFLAGS+=-D_FILE_OFFSET_BITS=64 instead of lsee64() which may fix
  a bug mentioned on the klibc mailing list.

A lot of other new features are only used in HAL and not needed in this
simple callout. But if someone stumbles over it and want's to send a patch
for some exotic formats, we better keep it up to date :)
2005-04-26 21:37:00 -07:00
tao@kernel.org
b9e3301c3b [PATCH] Minor POSIX-fixes for udev
The attached patch contains a few patches against udev, to remove
use of various XSI:isms and bash:isms, and to change two scripts form
/bin/bash to /bin/sh.  None of the bash-scripts in test/ uses any
bash-specific functions as far as I know, but I didn't touch them since
they aren't used runtime.

Rationale:
* Both of the /bin/bash-scripts are totally free from bashisms, hence they
  don't need to be /bin/bash; using /bin/sh instead helps (mainly)
  embedded-people

* local and source are bash:isms (well, they exist in several other
  shells as well, but they aren't part of POSIX or any of its extensions)

* -a in tests is an XSI-extension, not part of strict POSIX, and is
  easily replaced by &&
  | http://www.opengroup.org/onlinepubs/009695399/utilities/test.html

* Use of fgrep is deprecated in POSIX in favour of grep -F (though fgrep
  will remain in use for a long time...)
  | http://www.opengroup.org/onlinepubs/009695399/utilities/grep.html

The fgrep-change isn't really necessary, since fgrep can always be
implemented as a shell-script, but the rest of the changes would really
be appreciated.
2005-04-26 21:36:59 -07:00
trini@kernel.crashing.org
a4f5eb034b [PATCH] clean up start_udev a bit
First, update extras/start_udev.  udevstart always internally set
UDEV_NO_SLEEP as well as setting the ACTION variable, so that only needs
to be done in the run_udev script case.

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
2005-04-26 21:36:59 -07:00
kay.sievers@vrfy.org
b99f344fde [PATCH] update udev_volume_id
volume_id is now able to read NTFS labels. Not very exciting, but we
keep up to date with the version in HAL. Also __packed__ was needed for
the structs, cause the gcc 3.4 compiled version was no longer working
properly.
2005-04-26 21:36:21 -07:00
patmans@us.ibm.com
062db23d5e [PATCH] update udev scsi_id to scsi_id 0.5
This patch syncs the scsi_id in the udev tree to version 0.5.
2005-04-26 21:36:21 -07:00
atul.sabharwal@intel.com
c5d046b6c7 [PATCH] Patch for chassis_id exras module 2005-04-26 21:36:21 -07:00
greg@kroah.com
bd2598afb6 [PATCH] delete udev_selinux as it doesn't work properly and is the wrong way to do it... 2005-04-26 21:35:17 -07:00
greg@kroah.com
d7a4f62d3d [PATCH] Deleted the udev_dbus extra as it didn't really work properly and HAL has a real solution now. 2005-04-26 21:35:17 -07:00
kay.sievers@vrfy.org
cde5a756ce [PATCH] udev_volume_id update
Here is a update to extras/volume_id/*

o The device is now specified by the DEVPATH in the environment,
  it's no longer needed to pass the major/minor to the callout.

o leading spaces and slashes are now removed from the returned string
  and spaces are replaced by underscore, to not to confuse udev.

o Arnd Bergmann <arnd@arndb.de> provided the code to recognize s390
  dasd disk labels. The -d switch tries to read the main block device
  instead of the partition.
2005-04-26 21:35:17 -07:00
kay.sievers@vrfy.org
599b626127 [PATCH] udev callout for reading filesystem labels
On Fri, Apr 30, 2004 at 03:29:54PM -0700, Greg KH wrote:
> On Thu, Apr 29, 2004 at 11:04:46PM +0200, Kay Sievers wrote:
> > Hi,
> > here is a small udev toy, which enables udev to name partitions by
> > its filesystem label or uuid's.
> >
> > The following udev rule:
> >
> >   KERNEL="sd*", PROGRAM="/sbin/udev_volume_id -M%M -m%m -u", SYMLINK="%c"
> >
> > creates a symlink with the uuid read from the filesystem. If no label or
> > uuid is found the program exits with nonzero and the rule will fail.
> >
> > ext2, ext3, reiserfs, xfs, jfs, vfat, msdos volume labels are supported,
> > ntfs and swap partitions can be recognized.
> >
> > It's possible to compile with klibc and the static binary takes 13kb.
>
> Very nice, I was wondering who was going to use that library to make
> such a tool.  This is even better as we can use klibc for it.

Here is a update, which supports iso9660 and udf labels.
Not very useful in the udev case, but I've added it for hal,
so we just catch up with the latest version.
2005-04-26 21:35:17 -07:00
kay.sievers@vrfy.org
3611d5820c [PATCH] udev callout for reading filesystem labels
here is a small udev toy, which enables udev to name partitions by
its filesystem label or uuid's.

The following udev rule:

  KERNEL="sd*", PROGRAM="/sbin/udev_volume_id -M%M -m%m -u", SYMLINK="%c"

creates a symlink with the uuid read from the filesystem. If no label or
uuid is found the program exits with nonzero and the rule will fail.

ext2, ext3, reiserfs, xfs, jfs, vfat, msdos volume labels are supported,
ntfs and swap partitions can be recognized.

It's possible to compile with klibc and the static binary takes 13kb.
2005-04-26 21:35:17 -07:00
kay.sievers@vrfy.org
b2983b9d4a [PATCH] udev_selinux changes
Here is the fix for extras/seliux/*
 o install the binary in /sbin/
 o add symlink to /etc/dev.d/ with suffix .dev
 o removed the undefined udev_log variable
 o fixed compiler warnings
2005-04-26 21:35:15 -07:00
md@Linux.IT
af5b5178fa [PATCH] devfs.sh-ide-floppy 2005-04-26 21:35:15 -07:00
kay.sievers@vrfy.org
eab52c2443 [PATCH] udev_dbus changes
On Sun, Apr 11, 2004 at 03:51:07AM +0200, Kay Sievers wrote:
> Here we change extras/dbus/* to
>   o install the binary in /etc/dev.d
>   o append .dev to the binary
>   o add David's copyright
>   o add the listener script to watch the sent dbus messages
>   o removed the undefined udev_log variable
>   o switch printf() to dbg()

Here we install the binary in /usr/sbin/ and symlink it to
/etc/dev.d/ with the .dev suffix.
2005-04-26 21:35:15 -07:00
sjoerd@spring.luon.net
4b06c852cb [PATCH] DEVNODE -> DEVNAME transition fixes
It seems that the transition from DEVNODE to DEVNAME wasn't done
  everywhere. This broke udev_dbus for me.

  Attached patch does the transition in the places it wasn't done yet.
2005-04-26 21:35:15 -07:00
atul.sabharwal@intel.com
c1f8ea9562 [PATCH] Add README for chassis_id 2005-04-26 21:35:13 -07:00
greg@kroah.com
0bcdc8498c [PATCH] clean up chassis_id coding style. 2005-04-26 21:35:13 -07:00
atul.sabharwal@intel.com
fa5acd760d [PATCH] Add chassis_id program to extras directory 2005-04-26 21:35:13 -07:00
md@Linux.IT
c2818554ce [PATCH] small ide-devfs.sh fix
The file may not exist and errors would be spewed on the console.
2005-04-26 21:35:12 -07:00
greg@kroah.com
0384e43ad9 [PATCH] move udev_selinux into extras/selinux 2005-04-26 21:35:11 -07:00
greg@kroah.com
357f44a534 [PATCH] move udev_dbus to extras/dbus
Should build now, but might have linking problems.
2005-04-26 21:35:11 -07:00
rgooch@ras.ucalgary.ca
c641a99c6f [PATCH] SCSI logical and physical names for udev
Hi, Greg. Appended is scsi-devfs.sh, a script for udev to implement
devfs-style names for SCSI hard discs, CD-ROM's and generic devices.
This has been tested with both hard discs and CD-ROM's. The SCSI
generic support should be OK for when there is sysfs/udev support for
SCSI generic devices. SCSI tapes are not yet implemented because I
don't have one to test with.

In addition, this script supports physical names, based on PCI bus
location, both longhand (/udev/bus/pci/...) and shorthand
(/udev/sd/pci/*).
2005-04-26 21:35:10 -07:00
olh@suse.de
2761f9b951 [PATCH] make spotless
klibc has a target make spotless, this patch makes it possible to clean
the whole udev tree and start from scratch.
2005-04-26 21:35:10 -07:00
greg@kroah.com
a3b37a073d [PATCH] Added multipath-tools 0.1.1 release 2005-04-26 21:35:09 -07:00
greg@kroah.com
49f9acf384 [PATCH] deleted current extras/multipath directory 2005-04-26 21:35:09 -07:00
greg@kroah.com
27abdb46ff [PATCH] make start_udev use udevstart binary 2005-04-26 21:35:07 -07:00
christophe.varoqui@free.fr
cbd2ea21e4 [PATCH] multipath update 2005-04-26 21:35:06 -07:00
md@Linux.IT
b7b6562729 [PATCH] remove usage of expr in ide-devfs.sh
fix_expr: remove usage of expr in ide-devfs.sh, because it may be in
/usr/bin and not available at early boot time.
2005-04-26 21:35:06 -07:00
patmans@us.ibm.com
b484e43622 [PATCH] update udev scsi_id to scsi_id 0.4
This patch syncs the scsi_id in the udev tree to version 0.4.
2005-04-26 21:34:28 -07:00
greg@kroah.com
286903679a [PATCH] remove udevd priority TODO item, as it's not needed at all.
We want to be started by keventd, as that runs at a very fast priority.
2005-04-26 21:32:29 -07:00
greg@kroah.com
7fdc5cb445 [PATCH] more HOWTO cleanups. 2005-04-26 21:32:29 -07:00
patmans@us.ibm.com
0bad3406c1 [PATCH] udev use new libsysfs header file location
Use the new location of libsysfs header files.
2005-04-26 21:32:29 -07:00
greg@kroah.com
2152332ea7 [PATCH] add start_udev init script. 2005-04-26 21:32:29 -07:00
ext.devoteam.varoqui@sncf.fr
f01f8c6677 [PATCH] update extras/multipath
patch follows :

        * remove the restrictive -f flag.
          Introduce a more generic "-m iopolicy" one.
        * remove useless "int with_sysfs" in env struct
2005-04-26 21:32:28 -07:00
kay.sievers@vrfy.org
88f09368b3 [PATCH] udev - switch callout part selector to {attribute}
Here we change the magic callout part number selector to the new
atribute syntax. The syntax to select the second part of the callout string:

 '%2c' is now '%c{2}'

I think it's more clear and we no longer misuse the length argument.

The old syntax is still supported, but we should remove it some
time in the future.
2005-04-26 21:32:28 -07:00