Age | Commit message (Collapse) | Author | Files | Lines |
|
A whole bunch of string variables in loadparm.c were
not being initialized properly. Programs crashed as a result.
This set of code not tested, but same code tested elsewhere,
and all this guarded by #ifdef HAVE_SSL
(This used to be commit fb6048bb8655e8bd87cc69b48c99219d6701a907)
|
|
(This used to be commit 2c438c86cbb38833b3abd4fbead6324687633b25)
|
|
- split sam_passwd and smb_passwd into separate higher-order function tables
- renamed struct smb_passwd's "smb_user" to "unix_user". added "nt_user"
plus user_rid, and added a "wrap" function in both sam_passwd and smb_passwd
password databases to fill in the blank entries that are not obtained
from whatever password database API instance is being used.
NOTE: whenever a struct smb_passwd or struct sam_passwd is used, it MUST
be initialised with pwdb_sam_init() or pwd_smb_init(), see chgpasswd.c
for the only example outside of the password database APIs i could find.
- added query_useraliases code to rpcclient.
- dealt with some nasty interdependencies involving non-smbd programs
and the password database API. this is still not satisfactorily
resolved completelely, but it's the best i can do for now.
- #ifdef'd out some password database options so that people don't
mistakenly set them unless they recompile to _use_ those options.
lots of debugging done, it's still not finished. the unix/NT uid/gid
and user-rid/group-rid issues are better, but not perfect. the "BUILTIN"
domain is still missing: users cannot be added to "BUILTIN" groups yet,
as we only have an "alias" db API and a "group" db API but not "builtin-alias"
db API...
(This used to be commit 5d5d7e4de7d1514ab87b07ede629de8aa00519a1)
|
|
could never be a PDC.
(This used to be commit 2bcc540af80c37b8032a23d6d0045160a7c40e32)
|
|
(This used to be commit e76f593b3572ac881f1aa1fb3326d8b7169b0078)
|
|
Tidied up some of the mess (no other word for it). Still doesn't
compile cleanly. There are calls with incorrect parameters that
don't seem to be doing the right thing.
This code still needs surgery :-(.
Jeremy.
(This used to be commit 18ff93a9abbf68ee8c59c0af3e57c63e4a015dac)
|
|
the pre-alpha "domain group" etc parameters have disappeared.
- interactive debug detection
- re-added mem_man (andrew's memory management, detects memory corruption)
- american spellings of "initialise" replaced with english spelling of
"initialise".
- started on "lookup_name()" and "lookup_sid()" functions. proper ones.
- moved lots of functions around. created some modules of commonly used
code. e.g the password file locking code, which is used in groupfile.c
and aliasfile.c and smbpass.c
- moved RID_TYPE_MASK up another bit. this is really unfortunate, but
there is no other "fast" way to identify users from groups from aliases.
i do not believe that this code saves us anything (the multipliers)
and puts us at a disadvantage (reduces the useable rid space).
the designers of NT aren't silly: if they can get away with a user-
interface-speed LsaLookupNames / LsaLookupSids, then so can we. i
spoke with isaac at the cifs conference, the only time for example that
they do a security context check is on file create. certainly not on
individual file reads / writes, which would drastically hit their
performance and ours, too.
- renamed myworkgroup to global_sam_name, amongst other things, when used
in the rpc code. there is also a global_member_name, as we are always
responsible for a SAM database, the scope of which is limited by the role
of the machine (e.g if a member of a workgroup, your SAM is for _local_
logins only, and its name is the name of your server. you even still
have a SID. see LsaQueryInfoPolicy, levels 3 and 5).
- updated functionality of groupname.c to be able to cope with names
like DOMAIN\group and SERVER\alias. used this code to be able to
do aliases as well as groups. this code may actually be better
off being used in username mapping, too.
- created a connect to serverlist function in clientgen.c and used it
in password.c
- initialisation in server.c depends on the role of the server. well,
it does now.
- rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
(This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
|
|
include/smb.h:
param/loadparm.c: Made GUEST_SESSSETUP run time selectable. Horror of horrors :-).
printing/printing.c: Added J.F.'s latest fix.
rpc_parse/parse_misc.c:
parse_reg.c:
rpcclient/cmd_reg.c:
rpcclient/display.c: SGI compiler signed/unsigned issues.
smbd/reply.c: Made GUEST_SESSSETUP run time selectable. Horror of horrors :-).
utils/testparm.c: Added extra test.
Jeremy.
(This used to be commit 9668a5ef50be2e6b575f9989e87ee2ff8da5ac1d)
|
|
problems
John & Andrew were having with smbpasswd. This would cause the smbpasswd
to be changed *twice* - this the second decrypt would fail.
Changed it to be "/bin/passwd" and changed the name of the macro
to PASSWORD_PROGRAM to make it clear this is not an smb password
changer.
Jeremy.
(This used to be commit 8c1625365479f12fa544d83e1a9f72a548398108)
|
|
on by default on OSes that support it, given the network IO pattern
that Samba uses. He doesn't think it will cause problems.
(This used to be commit 15016aa024854ca56ef20d1f29f54f9698a1911b)
|
|
param/loadparm.c: Removed "networkstation user login", "domain controller", and "domain sid" parameters.
passdb/passdb.c: Removed "networkstation user login" code and changed bug test code
to only check once for a bad password server. This will stop the
complaints of many "bad login" audit records in NT PDC logs.
utils/smbpasswd.c: Removed check for "domain controller".
Jeremy.
(This used to be commit d6e6e936b5dd90dd8fc38d9404efbe5c546c15e5)
|
|
(This used to be commit c161b2f850f124ac5f24968e7865a7d0eb68e23e)
|
|
(This used to be commit 378290bfe1dc4965679495aab58be55e81ecf192)
|
|
machine if WINSsupport configured
(This used to be commit 1398feebbcb65a9e78b7084811bf9727b6d89682)
|
|
(This used to be commit 01de9a50e030da722076c67c235801c36c90bb66)
|
|
(This used to be commit af58bf2ff8ddbf974dbafa36cf1b679226371e09)
|
|
(This used to be commit e5c7cabae4826bde819b94a48bc4674dcd69da21)
|
|
(This used to be commit 5328ecbc41daa3fe1adbf8dbe9db8180ae55da3d)
|
|
make any difference, but it is the right thing to do.
(This used to be commit a655a8a0510b0277727205394b093c580280eb55)
|
|
Sets up the files array correctly - limited by the smb.conf parameter
and by the max fd's per process as found by getrlimit().
Jeremy.
(This used to be commit eca24bd24352c688cdf48c1ef14adb8ac353468f)
|
|
param/loadparm.c:
smbd/oplock.c: Allow kernel oplocks to be turned off in the smb.conf file.
smbd/server.c: Move init_structs() to after the smb.conf file is loaded - preparation
for making a "max open files" parameter.
Jeremy.
(This used to be commit 6a261517a09b005f502a37941431308fa8bf2c5c)
|
|
(This used to be commit 90a8a02484a0897b053fd6531b7fec5d23098b6f)
|
|
a WINS server if running on the WINS server. As suggested by
Andrew, we have a flag, in_client=False by default, and set it
to True in the client. loadparam.c checks this and sets
szWINSserver to 127.0.0.1 when in_client && bWINSsupport.
BTW, we seem to have picked up and unused value in some of
Luke's new code.
(This used to be commit b665756bfc813b229ad50b0d5f53e8b779537a3f)
|
|
(This used to be commit 270f4b0f84167e378b4615af8aedb85970320b1d)
|
|
A more careful change will be needed in the name lookup code.
(This used to be commit edfc3ab99b4c2441e765d49a7aa73ca2f3ec8de3)
|
|
caused nmbd to exit :-(
We now set the variable szWINSserver after the smb.conf file
has been processed, but only of we are a WINS server.
(This used to be commit 17212991cf0f49c5afc77cbd82dc6ce8a13f1405)
|
|
do not set a value in smb.conf.
This will be the case if we are a WINS server, or if
we don't know what we are doing.
The result is that smbclient can access a WINS server if it
is running on the same machine as the WINS server
(This used to be commit a3439986666c33f352c863a8baae766323aea7b1)
|
|
dummy.in files are no longer needed, and new directories will be taken
care of automatically, at configure (or config.status --recheck) time
(This used to be commit 237a8e5fe62d757c04b8207cbbee4df1470cfe4e)
|
|
on a machine that supports them in autoconf.
Move various functions out of lib/util.c into smbd/process.c
and smbd/oplock.c where they belong.
Jeremy.
(This used to be commit c3c5e13f85c97939746070132dad941e79c546fb)
|
|
fix problems in builds with srcdir!=builddir
(This used to be commit 1ffc3b807a3f80644c974b454ff5e6f68e89b546)
|
|
filesystem type that will be reported to the client. If unspecified
then it defaults to FSTYPE_STRING (currently "Samba").
This is useful for cdroms where you want to set the fs type to CDFS.
(This used to be commit 4332e2c93d69c6ea4035c456cc88d1e69de1e735)
|
|
Fixed bugs in readline autoconf.
param/loadparm.c smbd/open.c smbd/oplock.c: Started on kernel oplock
code - checking forced by above issue. Should not be used
currently.
Jeremy.
(This used to be commit f939efac9e6c45331b17e3d3aa6bc2235e886c1a)
|
|
widening (I hope :-).
include/config.h.in: Added #undef STAT_STATVFS64.
include/includes.h: Added SMB_STRUCT_STATVFS type, Changed SMB_BIG_INTEGER to
SMB_BIG_UINT and SMB_BIG_INT types.
include/smb.h: Added flag defines from CIFS spec.
lib/debug.c: Fixed one more mode_t issue.
lib/system.c: Added sys_statvfs wrapper.
lib/util.c: Changed trim_string to use size_t.
param/loadparm.c: Moved "blocking locks" into locking section. Alphabetised
locking options. Question - shuld we do this for all options ?
passdb/ldap.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT.
passdb/nispass.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT.
passdb/smbpass.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT.
smbd/dfree.c: Changed to use 64 bit types if available. Moved to use unsigned
types.
smbd/dosmode.c: Fixed one more mode_t issue.
smbd/negprot.c: Changed literals to be FLAG_ #defines.
smbd/nttrans.c: Removed dead code.
smbd/open.c: Changed disk_free call.
smbd/process.c: Changed literals to be FLAG_ #defines.
smbd/reply.c: Changed disk_free call.
smbd/trans2.c: Fixed but in SMB_QUERY_FS_VOLUME_INFO call. Was using
UNICODE - should use ascii.
tests/summary.c: Added STAT_STATVFS64 check.
Jeremy.
(This used to be commit c512b1b91fb7f2a7a93b9033a33e06d966daadb4)
|
|
config.h.in: Added fseek64 and ftell64.
includes.h: Added definition of SMB_BIG_INTEGER.
smb.h: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER.
access.c: Tidyup of dbug statement.
system.c: Added sys_fseek and sys_ftell. Changed mode calls to use mode_t.
asyncdns.c: Tidyup of comment.
loadparm.c: Tidyup of set_default_server_announce_type() function definition.
ldap.c: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER.
nispass.c: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER.
smbpass.c: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER.
smbpassfile.c: Use sys_fseek().
chgpasswd.c: Tidyup of debug statement.
dosmode.c: Changed mode calls to use mode_t.
ipc.c: Removal of dead code.
nttrans.c: Changed mode calls to use mode_t.
open.c: Changed mode calls to use mode_t.
pipes.c: Removal of dead code.
reply.c: Removal of dead code.
trans2.c: Removal of dead code. Changed mode calls to use mode_t.
Jeremy.
(This used to be commit c381d32e3dc23fe887408016cae821aceb30da2c)
|
|
tactics :-). Protected by #ifdef until used.
Fixed bug in fd_attempt_close() where a pointer to potentially
free'd memory was returned. I hate that.
Added "blocking locks" as a per-share option for performance testing.
Changed is_mangled() so it will return true if called with a pathname
and any component of the pathname was mangled (it was already attempting
to do this, but not checking for a '/' as end-of-mangle).
This should be a better fix for the wierd stat cache bug Andrew identified.
Jeremy.
(This used to be commit 0de01f45980c7bc261248a9cead972a8d8cbd594)
|
|
I think we need this so we can rule out stat cache bugs when dealing
with bug reports. If we ask a user to disable the stat cache and the
problem persists then we know it isn't a stat cache bug. The stat
cache code is sufficiently complicated that it can be pretty hard to
tell if it is causing problems or not.
(This used to be commit c83f3775cd8a7aad13571926cdd5949a07538771)
|
|
prompted by the interpret_security() dead code that Jean-Francois
pointed out I added a make target "finddead" that finds potentially
dead (ie. unused) code. It spat out 304 function names ...
I went through these are deleted many of them, making others static
(finddead also reports functions that are used only in the local
file).
in doing this I have almost certainly deleted some useful code. I may
have even prevented compilation with some compile options. I
apologise. I decided it was better to get rid of this code now and add
back the one or two functions that are needed than to keep all this
baggage.
So, if I have done a bit too much "destroying" then let me know. Keep
the swearing to a minimum :)
One bit I didn't do is the ubibt code. Chris, can you look at that?
Heaps of unused functions there. Can they be made static?
(This used to be commit 2204475c87f3024ea8fd1fbd7385b2def617a46f)
|
|
Added "nt smb support" parameter to allow NT SMB's to be turned off.
Jeremy.
(This used to be commit 63f65f5027d5022153fa2757b49c56829db1725b)
|
|
correctly. Added new parameter "stat cache size" - set to 50 by default.
I now declare the statcache code officially "open" for business :-).
It gets a hit rate of 97% with a NetBench run and seems to make
using a case insensitive run as efficient as a case sensitive run.
Also tidied up our sys_select usage - added a maxfd parameter and
also added an implementation of select in terms of poll(), for systems
where poll() is much faster. This is disabled by default.
Jeremy.
(This used to be commit 779b924ec1f6c81ff578d22295b20fece698d1fc)
|
|
(This used to be commit c8b0041570a1fb0be0318f511c6ba746c733cda9)
|
|
if ((sbuf->st_mode & S_IWUSR) == 0)
result |= aRONLY;
rather than the very complex user/group permissions checks we do
currently. This is equivalent ot setting "alternate permissions = yes"
in the old code. The change is motivated by three main reasons:
1) it's basically impossible to second guess whether a file is
writeable without trying to open it for writing. ACLs, root squash etc
just make it too hard.
2) setting it not RONLY if the owner can write is closer to what NT
does (eg. look at a cdrom - files are not marked read only).
3) it prevents the silly problem of copying files from a read only
share to a writeable share and then finding you can't write to them as
windows preserves the RONLY flag. Lots of people get bitten by this
when they drag a folder from a Samba drive. It also hurts some install
programs.
I have also added a new flag type for loadparm.c called
FLAG_DEPRECATED which I've set for "alternate permissions". I'll soon
add code to testparm to give a warning about deprecated options.
(This used to be commit c4363a12fdc0be329ca2bfeb1d7b89bfe90031dc)
|
|
have an ASSERT macro defined.
Jeremy.
(This used to be commit dbe6ad014a8b5dcbf17d7cd9865650c2e040d666)
|
|
explanation.
(This used to be commit c6899df44c34088a4d2bf1edc840320b0ba7e32e)
|
|
Connections[] is now a local array in server.c
I might have broken something with this change. In particular the
oplock code is suspect and some .dll files aren't being oplocked when
I expected them to be. I'll look at it after I've got some sleep.
(This used to be commit c7ee025ead4a85b6fa44a832047b878451845fb6)
|
|
utilities
(This used to be commit 745d38bfe7a989a602d14b8a04757893ae40ba8e)
|
|
(This used to be commit 687f76a17d6d3ebd33b4d9a848deef56f3c1f56a)
|
|
(This used to be commit be762dc3de6c1ef768790522dfe93007a61ce5d7)
|
|
(This used to be commit 70000c21909a154344b489e8aa18a5868ff52865)
|
|
nttrans.c: Moved common code into function in server.c
Removed left over debug level 0.
server.c: Moved common code into function in server.c
Jeremy.
(This used to be commit 34ef55b7228155cef40cbdfcdc1fe623c1037bd6)
|
|
so that we wouldn't get too many timestamps.
Chris -)-----
(This used to be commit 3e7e5fad378cf144927d9f2ffc82f80e150d44ab)
|