Andrew Bartlett [Mon, 4 Jul 2011 08:09:38 +0000 (18:09 +1000)]
s3-samr Send IP address only to PAM remote hostname hook on password set
The previous behaviour was to attempt to do a reverse hostname lookup,
where enabled. This new behaviour matches the new behaviour in the
modules called by auth stack.
Andrew Bartlett
Andreas Schneider [Thu, 16 Jun 2011 14:13:01 +0000 (16:13 +0200)]
s3: RIP 'struct client_address'.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 14:12:07 +0000 (16:12 +0200)]
s3-rpc_server: Remove client_id and server_id from pipes struct.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 14:09:07 +0000 (16:09 +0200)]
s3-smbd: Remove client_address from smbd_server_connection struct.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 14:08:09 +0000 (16:08 +0200)]
s3-smbd: Remove obsolete smbd_set_server_fd().
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 12:23:54 +0000 (14:23 +0200)]
s3-vfs: Replace client_id in exand msdfs.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 12:20:21 +0000 (14:20 +0200)]
s3-vfs: Replace client_id in smbta.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 14:03:03 +0000 (16:03 +0200)]
s3-smbd: Replace client_id in smbd session setup.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 13:57:48 +0000 (15:57 +0200)]
s3-smbd: Replace client_id in smbd session.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 13:49:41 +0000 (15:49 +0200)]
s3-smbd: Replace client_id in smbd service.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 13:45:18 +0000 (15:45 +0200)]
s3-smbd: Replace client_id in smbd reply.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 13:32:00 +0000 (15:32 +0200)]
s3-smbd: Exit cleanly if we can't create an address string.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 12:29:36 +0000 (14:29 +0200)]
s3-smbd: Replace client_id in smbd connection.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 13:39:25 +0000 (15:39 +0200)]
s3-smbd: Replace client_id in smbd process.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 14:22:49 +0000 (16:22 +0200)]
s3-epmapper: Replace server_id in the epmapper.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Thu, 16 Jun 2011 12:46:26 +0000 (14:46 +0200)]
s3-spoolss: Replace client_id in the spoolss server.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Wed, 15 Jun 2011 16:03:30 +0000 (18:03 +0200)]
s3-samr: Replace client_id in samr server.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Wed, 15 Jun 2011 15:55:27 +0000 (17:55 +0200)]
s3-rpc_server: Replace client_id in dcerpc gssapi server.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Wed, 15 Jun 2011 16:08:13 +0000 (18:08 +0200)]
s3-rpc_server: Remove unused client_id in srv_pipe.c.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Wed, 15 Jun 2011 09:32:12 +0000 (11:32 +0200)]
s3-auth: Remove global smbd_server_conn from auth_unix.c.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Wed, 8 Jun 2011 16:55:37 +0000 (18:55 +0200)]
s3-auth: Pass the remote_address down to user_info.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Wed, 15 Jun 2011 09:15:06 +0000 (11:15 +0200)]
s3-auth: Added remote_address to ntlmssp server.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Tue, 7 Jun 2011 15:21:28 +0000 (17:21 +0200)]
s3-rpc_server: Migrate rpc function to tsocket_address.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Tue, 7 Jun 2011 15:03:13 +0000 (17:03 +0200)]
s3-rpc_server: Add local and remote address to pipes struct.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Wed, 8 Jun 2011 12:50:20 +0000 (14:50 +0200)]
s3-util: Add a get_remote_hostname() function.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Mon, 6 Jun 2011 14:07:23 +0000 (16:07 +0200)]
s3-auth: Only reload the config file.
We only need to reload the config file. This removes a dependency to
smbd.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Volker Lendecke [Sun, 3 Jul 2011 17:59:37 +0000 (19:59 +0200)]
s3: Make cli_cm_open return NTSTATUS
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sun Jul 3 23:57:53 CEST 2011 on sn-devel-104
Volker Lendecke [Sun, 3 Jul 2011 10:12:45 +0000 (12:12 +0200)]
s3: Make cli_cm_connect return NTSTATUS
Volker Lendecke [Sun, 3 Jul 2011 10:08:54 +0000 (12:08 +0200)]
s3: Make "do_connect" return NTSTATUS
Volker Lendecke [Sun, 3 Jul 2011 10:04:24 +0000 (12:04 +0200)]
s3: Remove a use of cli_errstr
Volker Lendecke [Sun, 3 Jul 2011 09:49:07 +0000 (11:49 +0200)]
s3: Remove a use of cli_errstr
Volker Lendecke [Sun, 3 Jul 2011 09:47:44 +0000 (11:47 +0200)]
s3: Remove a use of cli_errstr
Volker Lendecke [Sun, 3 Jul 2011 09:46:50 +0000 (11:46 +0200)]
s3: Remove a use of cli_errstr
Volker Lendecke [Sun, 3 Jul 2011 09:27:53 +0000 (11:27 +0200)]
s3: Remove two uses of cli_errstr
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sun Jul 3 12:43:32 CEST 2011 on sn-devel-104
Volker Lendecke [Sun, 3 Jul 2011 09:21:50 +0000 (11:21 +0200)]
s3: RAP errors are WERROR
Volker Lendecke [Sun, 3 Jul 2011 09:15:45 +0000 (11:15 +0200)]
s3: Remove some bogus error mappings
The old cli_session_request that used this is gone
Volker Lendecke [Sun, 3 Jul 2011 08:38:30 +0000 (10:38 +0200)]
s3: Remove a use of cli_errstr
All code above that might have failed sets result
Volker Lendecke [Sat, 30 Apr 2011 08:58:35 +0000 (10:58 +0200)]
s3: Allow NULL for arg pwritten in cli_write_andx
Volker Lendecke [Sat, 25 Jun 2011 13:14:25 +0000 (15:14 +0200)]
S3: Fix some nonempty blank lines
Volker Lendecke [Thu, 30 Jun 2011 13:26:21 +0000 (15:26 +0200)]
s3: Read symlink information in smbclient "allinfo"
Volker Lendecke [Thu, 30 Jun 2011 13:25:42 +0000 (15:25 +0200)]
s3: Fix symlink_reparse_buffer_parse
Volker Lendecke [Thu, 30 Jun 2011 13:06:46 +0000 (15:06 +0200)]
s3: Add cli_readlink
Volker Lendecke [Thu, 30 Jun 2011 13:25:16 +0000 (15:25 +0200)]
s3: Add STATUS_STOPPED_ON_SYMLINK error code
Andrew Bartlett [Sun, 3 Jul 2011 07:20:09 +0000 (09:20 +0200)]
s3-build Require fully defined modules by default
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sun Jul 3 10:33:44 CEST 2011 on sn-devel-104
Andrew Bartlett [Sun, 3 Jul 2011 07:20:02 +0000 (09:20 +0200)]
s3-build Prepare to require fully defined modules
This specifies some more deps for our modules, and ensures that the
subsystem that it links against is in fact a library, which will avoid
issues with introducing duplicate symbols.
Andrew Bartlett
Andrew Bartlett [Fri, 1 Jul 2011 06:02:54 +0000 (16:02 +1000)]
s4-param Remove unused 'announce version'
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sat Jul 2 05:42:37 CEST 2011 on sn-devel-104
Andrew Bartlett [Fri, 1 Jul 2011 06:01:28 +0000 (16:01 +1000)]
s3-param Remove #defines already in common loadparm.h
Andrew Bartlett [Fri, 1 Jul 2011 04:36:25 +0000 (14:36 +1000)]
s3-param Generate parameter tables
Andrew Bartlett [Fri, 1 Jul 2011 05:14:08 +0000 (15:14 +1000)]
param: Finish conversion from lp_wins_support() -> lp_we_are_a_wins_server()
Jermey started this in 1997 with
0aa493cc0303aa4177f289b9e4c797c8fa180672
(avoiding the duplicate function makes it easier to generate the
struct loadparm_globals).
Andrew Bartlett
Andrew Bartlett [Fri, 1 Jul 2011 04:37:16 +0000 (14:37 +1000)]
s3-param remove unused bIdmapReadOnly
Andrew Bartlett [Fri, 1 Jul 2011 04:19:05 +0000 (14:19 +1000)]
s3-param Remove unused bUpdateEncrypt
Günther Deschner [Fri, 1 Jul 2011 13:02:26 +0000 (15:02 +0200)]
s3-net: use printing_migrate library, and eliminate duplicate code.
Guenther
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Fri Jul 1 17:57:09 CEST 2011 on sn-devel-104
Günther Deschner [Fri, 1 Jul 2011 12:57:32 +0000 (14:57 +0200)]
s3-printing: split out printing migration code into a smaller library.
Guenther
Gregor Beck [Tue, 21 Jun 2011 06:16:56 +0000 (08:16 +0200)]
s3:smbldap: make smbldap_connect_system self contained
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Jul 1 12:37:50 CEST 2011 on sn-devel-104
Gregor Beck [Tue, 21 Jun 2011 06:06:28 +0000 (08:06 +0200)]
s3:smbldap: add a destructor to smbldap_state, just in case
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Gregor Beck [Tue, 21 Jun 2011 06:02:53 +0000 (08:02 +0200)]
s3:smbldap: let smbldap_free_struct do what it claims to
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Gregor Beck [Tue, 21 Jun 2011 06:00:59 +0000 (08:00 +0200)]
s3:smbldap: free the idle event scheduled in smbldap_open in smbldap_close
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Gregor Beck [Tue, 21 Jun 2011 05:51:41 +0000 (07:51 +0200)]
s3:smbldap: use smbldap_state as memory context for idle event
ensure the event is canceled if the smbldap_state gets freed
this fixes a panic of winbindd if verify_idpool fails
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Andrew Bartlett [Thu, 30 Jun 2011 04:21:51 +0000 (14:21 +1000)]
s4-dsdb guard principalName parse for invalid inputs
We need to ensure that if this parses name.name_string as just one
val, then we don't read uninitialised and possibly unallocated memory.
Found by Adam Thorn <alt36@cam.ac.uk>
While we are checking that, we need to fix the strncasecmp() check to
first check if the string is the expected length, then check for a
match against sAMAccountName-without-doller, as otherwise we will
permit a string such as machinefoo to match a sAMAccountName of
machine.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Jul 1 03:55:00 CEST 2011 on sn-devel-104
Andrew Bartlett [Thu, 30 Jun 2011 04:20:22 +0000 (14:20 +1000)]
s4-dsdb Allow a servicePrincipalName of machine$
This is pointless, but MacOS X (version 10.6.8 was tested) apparently
sets machine$ into this field.
Andrew Bartlett
Jeremy Allison [Thu, 30 Jun 2011 18:01:40 +0000 (11:01 -0700)]
Part of fix for bug 8276 - FD_SET out of bounds access crash.
Ensure we never add fd's set to -1 to the pollfd set.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Thu Jun 30 21:15:25 CEST 2011 on sn-devel-104
Stefan Metzmacher [Tue, 28 Jun 2011 10:55:47 +0000 (12:55 +0200)]
script/librelease.sh: keep dots in the release tag
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Jun 30 18:52:06 CEST 2011 on sn-devel-104
Stefan Metzmacher [Tue, 28 Jun 2011 10:52:37 +0000 (12:52 +0200)]
release-scripts/create-tarball: always create a tag in form of samba-${version}
metze
Michael Adam [Thu, 30 Jun 2011 13:15:22 +0000 (15:15 +0200)]
s3:build: add vfs_examples to the everything target
So that one can not pass autobuild without keeping the vfs examples intact.
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Thu Jun 30 16:52:48 CEST 2011 on sn-devel-104
Michael Adam [Thu, 30 Jun 2011 11:54:52 +0000 (13:54 +0200)]
s3:build: add a vfs_examples target.
Michael Adam [Thu, 30 Jun 2011 11:53:54 +0000 (13:53 +0200)]
examples/VFS: add include path for s3's autoconf config.h
Björn Baumbach [Wed, 29 Jun 2011 14:57:27 +0000 (16:57 +0200)]
examples/VFS: fix skel_transparent.c in reference to shadow_copy changes
Signed-off-by: Michael Adam <obnox@samba.org>
Björn Baumbach [Wed, 29 Jun 2011 14:56:45 +0000 (16:56 +0200)]
examples/VFS: fix skel_opaque.c in reference to shadow_copy changes
Signed-off-by: Michael Adam <obnox@samba.org>
Björn Baumbach [Wed, 29 Jun 2011 14:53:57 +0000 (16:53 +0200)]
examples/VFS: fix shadow_copy_test.c in reference to shadow_copy changes
Signed-off-by: Michael Adam <obnox@samba.org>
Michael Adam [Thu, 30 Jun 2011 12:37:49 +0000 (14:37 +0200)]
s3:registry: when deleting the records for a key, also delete the sorted subkeys cache
This prevents orphaned empty sorted subkeys cache records from filling the database.
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Michael Adam <obnox@samba.org>
Michael Adam [Thu, 30 Jun 2011 12:36:35 +0000 (14:36 +0200)]
s3:registry: add helper function regdb_delete_sorted_subkeys()
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
Signed-off-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 24 Jun 2011 19:49:16 +0000 (21:49 +0200)]
lib/util/string_wrappers: move everything into one HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS block
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Jun 30 14:29:41 CEST 2011 on sn-devel-104
Stefan Metzmacher [Thu, 30 Jun 2011 08:09:56 +0000 (10:09 +0200)]
s3:nmbd_subnetdb: close all sockets attached to a subnet in close_subnet() (bug #8276)
metze
Christian Ambach [Wed, 29 Jun 2011 13:01:16 +0000 (15:01 +0200)]
s3:smbd do not panic when CTDB is unhealthy (Bug #8278)
when CTDB is unhealthy, log a message and exit cleanly
instead of creating a core file
Autobuild-User: Christian Ambach <ambi@samba.org>
Autobuild-Date: Thu Jun 30 13:18:12 CEST 2011 on sn-devel-104
Christian Ambach [Wed, 29 Jun 2011 07:24:44 +0000 (09:24 +0200)]
docs: fix some whitespace
replace spaces with tabs, removing whitespaces at end of lines
Christian Ambach [Tue, 28 Jun 2011 21:17:35 +0000 (23:17 +0200)]
docs: fix a typo
Jelmer Vernooij [Thu, 30 Jun 2011 08:33:05 +0000 (10:33 +0200)]
rebuildexetendeddn: PEP8: Use spaces rather than tabs.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Thu Jun 30 12:07:32 CEST 2011 on sn-devel-104
Jelmer Vernooij [Thu, 30 Jun 2011 08:32:35 +0000 (10:32 +0200)]
rpcclient: PEP8: Use spaces rather than tabs.
Jelmer Vernooij [Thu, 30 Jun 2011 08:31:59 +0000 (10:31 +0200)]
smbstatus: PEP8: Use spaces rather than tabs.
Jelmer Vernooij [Thu, 30 Jun 2011 08:30:43 +0000 (10:30 +0200)]
mischema: Remove unused import.
Jelmer Vernooij [Thu, 30 Jun 2011 08:29:23 +0000 (10:29 +0200)]
enablerecyclebin: Remove unused imports, fix formatting.
David Disseldorp [Wed, 15 Jun 2011 12:59:49 +0000 (14:59 +0200)]
s3-printing: skip migration of non-existent printers
Skip tdb migration of printer and security descriptor entries which
refer to non-existent printers.
Signed-off-by: Günther Deschner <gd@samba.org>
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Thu Jun 30 10:54:23 CEST 2011 on sn-devel-104
David Disseldorp [Wed, 15 Jun 2011 10:46:55 +0000 (12:46 +0200)]
s3-printing: fill devicemode size in migrate_printer()
Signed-off-by: Günther Deschner <gd@samba.org>
Günther Deschner [Tue, 28 Jun 2011 21:59:11 +0000 (23:59 +0200)]
s3-winbind: Fix bug 7888 -- deal with buggy 3.0 based PDCs
Guenther
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Thu Jun 30 00:42:23 CEST 2011 on sn-devel-104
Günther Deschner [Tue, 28 Jun 2011 16:15:23 +0000 (18:15 +0200)]
s3-waf: lowercase libcli_lsa3 library name.
Guenther
Günther Deschner [Tue, 28 Jun 2011 16:03:03 +0000 (18:03 +0200)]
s3-waf: lowercase libsmb library name.
Guenther
Günther Deschner [Tue, 28 Jun 2011 16:00:45 +0000 (18:00 +0200)]
s3-waf: lowercase util_cmdline library name.
Guenther
Günther Deschner [Tue, 28 Jun 2011 15:58:25 +0000 (17:58 +0200)]
s3-waf: lowercase popt_samba3 library name.
Guenther
Jeremy Allison [Wed, 29 Jun 2011 16:56:47 +0000 (09:56 -0700)]
Second part of fix for bug #8219 - SMB Panic from Windows 7 Client.
Pass in the correct vector to the signing algorithm in an async
response - we must start with vector[1] which has the SMB2_HDR_BODY
length, not vector[0] which is the 4 byte packet length. Also
note we're passing in 2 vectors not 3.
Metze please review.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Jun 29 20:09:21 CEST 2011 on sn-devel-104
Andrew Bartlett [Wed, 29 Jun 2011 05:37:27 +0000 (15:37 +1000)]
s4-param Handle BOOLREV parameters
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Jun 29 08:57:27 CEST 2011 on sn-devel-104
Andrew Bartlett [Wed, 29 Jun 2011 05:33:54 +0000 (15:33 +1000)]
param: Merge param headers into lib/param/loadparm.h
This defines a common table format, so we can in future define a
common table.
Andrew Bartlett
Andrew Bartlett [Wed, 29 Jun 2011 05:06:49 +0000 (15:06 +1000)]
s3-param use C99 boolean for false
Andrew Bartlett [Wed, 29 Jun 2011 05:05:37 +0000 (15:05 +1000)]
s3-param use C99 boolean for true
Andrew Bartlett [Wed, 29 Jun 2011 05:03:24 +0000 (15:03 +1000)]
s3-param Convert sDefault to C99 initialisers
The conversion has been verified with gdb (p sDefaults before and after)
C99 booleans were helpfully provided by gdb, which was used to generate
the C99 format, and so have been kept.
Andrew Bartlett
Andrew Bartlett [Wed, 29 Jun 2011 04:15:52 +0000 (14:15 +1000)]
s4-param Match source3's param: use C99 initialisers
This makes it much easier to compare the parameter sets.
Andrew Bartlett
Andrew Bartlett [Wed, 29 Jun 2011 04:15:32 +0000 (14:15 +1000)]
s4-param Merge struct parm_struct with version from source3/
Andrew Bartlett [Wed, 29 Jun 2011 03:22:26 +0000 (13:22 +1000)]
s3-param Remove unused FLAG_DOS_STRING
Andrew Bartlett [Wed, 29 Jun 2011 03:18:57 +0000 (13:18 +1000)]
param: Merge struct parm_struct definitions
This will allow the parameter tables to be shared between source3 and
source4.
Andrew Bartlett
Andrew Bartlett [Wed, 29 Jun 2011 00:49:35 +0000 (10:49 +1000)]
s3-param Use .offset rather than .ptr when defining parameters
This change has a number of purposes:
* It removes the fancy logic around pointers into sDefault for all
per-share parameters. Instead, this is always expressed as an
offset, rather than implicitly via PTR_DIFF macros.
* It makes struct parm_struct almost identical to that as used in
source4/param. This will very shortly allow the loadparm tables
and most of the 'special' helper functions to be placed in common.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Jun 29 05:50:46 CEST 2011 on sn-devel-104
Andrew Bartlett [Wed, 29 Jun 2011 02:36:06 +0000 (12:36 +1000)]
s3-param Remove .offset == 0 checks as 'valid' will have offset 0
The validity of an entry in the parm_table is by having a .p_class of
P_LOCAL or P_GLOBAL rather than P_SEPARATOR. Termination of the table
is by having a .label of non-NULL. This is possible because there are
no longer any specially handled smb.conf options without a value in
the struct loadparm_globals or struct loadparm_service.
This is required because the first element in the structure will have
.offset = 0, and skipping that would be unfortunate (particularly as it
is the vital 'valid' variable).
Andrew Bartlett