Michael Adam [Sun, 23 Nov 2008 00:59:30 +0000 (01:59 +0100)]
s3 build: when detecting to use internal zlib, put "-I../lib/zlib" first in CFLAGS
This should fix a build error on our Tru64 build farm box where a zlib.h is
found in an include path handed in via external CFLAGS, but that zlib.h belongs
to an old zlib. So in ndr_compression.c, "#include <zlib.h>" includes the wrong
header for the internal zlib.
Michael Adam [Sat, 22 Nov 2008 22:25:14 +0000 (23:25 +0100)]
s3 build: don't specify ZLIB_LIBS (i.e. "-lz") in object collections.
This causes make to fail on at least HP-UX and MacOS X with message
"no rule to make target -lz" or similar, when these object collections
are specified in dependencies.
Jeremy Allison [Sat, 22 Nov 2008 06:48:37 +0000 (22:48 -0800)]
Rever 83ff6979f504d50caf725ee62549604630b69be7 - "Fix the logic bug that caused us to
run into kernel oplocks on an open for a stream inside a file with stream_xattr module. On
opening the base_fsp we must break existing oplocks." as it broke make test.
Jeremy.
Jeremy Allison [Sat, 22 Nov 2008 02:20:38 +0000 (18:20 -0800)]
Fix the logic bug that caused us to run into kernel oplocks on an open for a stream inside a file with stream_xattr module. On opening the base_fsp we must break existing oplocks.
Jeremy.
Michael Adam [Fri, 21 Nov 2008 01:26:50 +0000 (02:26 +0100)]
s3-winbindd_ads: use the reconnect methods instead of the rpc methods directly
Some of the ads methods just point to the rpc methods.
This makes winbindd_ads use the reconnect methods instead of
calling the rpc methods directly in order to prevent
negative cache entries for e.g. name_to_sid, when the dc
has closed the connection without sending a reset.
Michael Adam [Thu, 20 Nov 2008 15:57:44 +0000 (16:57 +0100)]
s3-winbindd_ads: prevent negative GM/ cache entries due to broken connections
The ads lookup_groupmem() function calls lda_lookupsids to resolve sids
to names. This is tried only once. So in case the connection was broken,
e.g. closed by the server (without a reset packet), there will be an empty
GM/ cache entry for the requested group which will prevent proper working
of access checks among other checks for the expiry period.
This patch works around this problem by retrying once if the lsa_lookupsids
call fails, re-establishing the dc-connection, as we already do in many other
places (e.g. the winbindd retry methods for the rpc layer).
Jeremy Allison [Fri, 21 Nov 2008 20:14:53 +0000 (12:14 -0800)]
First part of fix for bug #5903 - vfs_streams_xattr breaks contents of the file.
Restructures parts of open code so that fsp must be allocated before calling
open_file_ntcreate(_internal). Also fix up file ref-counting inside files.c.
Jeremy.
Michael Adam [Thu, 20 Nov 2008 15:31:44 +0000 (16:31 +0100)]
eventlog: don't crash in sync_eventlog_params().
When freeing the talloc ctx at the end of the routine,
it must be a talloc ctx created inside. talloc_tos() needs
to be valid after the function finishes, since callers
(may) have data attached to it.
Steven Danneman [Tue, 28 Oct 2008 06:37:55 +0000 (23:37 -0700)]
Added ability to remove id mappings in wbinfo and libwbclient.
The idmap_tdb backend already provides an interface to remove existing id
mappings. This commit plumbs that ability up through, winbindd, libwbclient,
and wbinfo.
Added new winbindd command:
WINBINDD_REMOVE_MAPPING
Added new libwbclient interfaces:
wbcRemoveUidMapping() and wbcRemoveGidMapping()
Added new wbinfo options:
--remove-uid-mapping
--remove-gid-mapping
Increased libwbclient version to 0.2
Increased winbind interface version to 20
Steven Danneman [Tue, 28 Oct 2008 06:46:44 +0000 (23:46 -0700)]
Added ability to set id mappings in wbinfo.
The two new parameters are:
--set-uid-mapping
--set-gid-mapping
These allow wbinfo to create new, or override existing id mappings in the
idmap backend. These expose the exisiting ability of libwbclient
and winbindd to do this, up through a command line utility.
Steven Danneman [Sat, 15 Nov 2008 21:07:15 +0000 (13:07 -0800)]
Fix extended DN parse error when AD object does not have a SID.
Some AD objects, like Exchange Public Folders, can be members of Security
Groups but do not have a SID attribute. This patch adds more granular return
errors to ads_get_sid_from_extended_dn(). Callers can now determine if a parse
error occured because of bad input, or the DN was valid but contained no SID.
I updated all callers to ignore SIDless objects when appropriate.
Also did some cleanup to the out paths of lookup_usergroups_memberof()