1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
Commit Graph

1798 Commits

Author SHA1 Message Date
Jeremy Allison
f939efac9e configure configure.in include/config.h.in include/includes.h
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.
0001-01-01 00:00:00 +00:00
Jeremy Allison
dbd8ce8a70 Fixed compile errors in new code.
Jeremy.
0001-01-01 00:00:00 +00:00
Samba Release Account
008697d151 preparing for release of 2.0.0 alpha 6 0001-01-01 00:00:00 +00:00
Andrew Tridgell
20a550d61e oops ... I got the filenames wrong in my cleanup of the wins database
save, so it started saving weird filenames (from an unitialised
fstring).

chaos reigns!
0001-01-01 00:00:00 +00:00
Richard Sharpe
00ba54d4ee Adding rewritten restore code ... Old code is still there
surrounded by a OLD_DOTARPUT.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
926591067c got rid of SMB_STRUCT_STATVFS. I don't think we should be defining
structures that only apply on some platforms.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4e784b1889 gto ri of a bunch more #ifdef LARGE_SMB_OFF_T checks by introducing a
SOFF_T() macro for setting an SMB_OFF_T variable

also limited mmap based reads to MAX_MMAP_SIZE. We really can't mmap
2^50 bytes due to virtual address space problems.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
724b9508c2 added a SMB_OFF_T_BITS define, allowing us to get rid of most of the
#ifdefs for LARGE_OFF_T.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
3e77d94cd2 fixed a typo (LLARGE_SMB_OFF_T instead of LARGE_SMB_OFF_T) 0001-01-01 00:00:00 +00:00
Andrew Tridgell
c1bd188744 removed another use of the LL suffix. Hopefully this is the last one
(a grep doesn't show any more)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
24ae765701 fixed a usage of off_t that should have been SMB_OFF_T 0001-01-01 00:00:00 +00:00
Andrew Tridgell
84956eddf3 got rid of some #ifdef LARGE_XXXX stuff and got rid of non-portable LL
suffix from some constants.
0001-01-01 00:00:00 +00:00
Jeremy Allison
14c134e831 include/includes.h:
lib/system.c: Can't assume every system has a statvfs varient.
              Return -1 for those that don't.
smbd/reply.c: Fixed printf warning.
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
c22c40f0ca nmbd/nmbd_winsserver.c: Fixed printf style warning.
script/mkproto.awk: Added SMB_BIG_UINT.
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
c512b1b91f configure configure.in: Added checks for statvfs64. Last bit of 64 bit 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.
0001-01-01 00:00:00 +00:00
Jeremy Allison
c381d32e3d configure configure.in: Added tests for fseek64 and ftell64.
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.
0001-01-01 00:00:00 +00:00
Jeremy Allison
9c8ecd994d configure, configure.in: Added fseek64 and ftell64.
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.
0001-01-01 00:00:00 +00:00
Samba Release Account
1c627b8f39 preparing for release of 2.0.0 alpha 5 0001-01-01 00:00:00 +00:00
Andrew Tridgell
9edd43dcd6 fixed another potential fork bomb where the wins file becomes
non-writeable for some reason.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
5e6488d483 fixed the nmbd fork bomb. It was a silly mistake, as
expected. wins_write_database() didn't exit after doing its stuff, so
when it returned you had two copies of nmbd :)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
31b4048362 fixed a typo in my last commit 0001-01-01 00:00:00 +00:00
Andrew Tridgell
1e1a512e3f fixed a potential problem with wins_write_database() child processes.
In sig_term() we were calling wins_write_database(0) which would fork a
child. This child might then get killed by the same process killing
off the parent. That process would then fork another child etc.

The solution is to pass a "background" flag to wins_write_database(0)
and only fork if this is set.
0001-01-01 00:00:00 +00:00
Jeremy Allison
ffa450acdd Removed hideous inefficiencies in old trim_string code. This was making
calls to strlen() a profiling hotspot.
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
4a62b73633 Mapped correct open modes for READ_CONTROL access.
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
68750d8153 Fixed problems people were having with creating profile
directories (NTTrans/Create with Security Descriptor for
a directory). It turns out the CIFS spec is bogus (what a
suprise) and the 'is a directory' flag is actually embedded
in the create_options field.

Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
54dd51176f Ok so with this bugfix 64 bit file access actually seems to work :-).
Problems were just dumb bugs like (defining sys_lseek to return 'int' DOH !).

Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
1654faee80 Ok - this is the 'expose 64 bit to the clients' checkin.
I have tested it by creating a 'holey' 20GB file - checking that
it shows up correctl in the NT file view (it does) and am busily
copying it to NULL: on the NT box. All good so far.... :-).

Also implemented NT 'delete on close' semantics.

Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
36544fe547 Added ssize_t to configure code.
Got 'religion' about using size_t and ssize_t for read/write stuff
as part of the code to expose 64 bits to the client.

This checkin does all the 'easy' stuff - such as all the read/write/lock
calls - but now comes the harder parts (open & friends) and all the
file enquiry functions.....

Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
069efc0454 smb.h: Removed fdnum from file_fd_struct. Not needed.
files.c: Removed fd bitmap - not needed. Added code to do use arrays rather
         than linked list - disabled by default but can be enabled to check
         performance.
Jeremy.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
1b07de7079 fixed a bug in the wins database writer that caused the database to be
written continuously rather than once every 5 seconds (at most).

also changed it to 20 seconds :)
0001-01-01 00:00:00 +00:00
Jeremy Allison
02b3fddce3 Improved stat cache code by uppercasing any search name that gets added to
it if we're in case insensitive mode, and then doing a memcmp rather
than a StrnCaseCmp (which is *horribly* slow) on every lookup.
Fixed bug with refusing NT SMB's (use *brackets* where needed :-).
Jeremy.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
ac13c29d46 Copyright notices written to debug logs are now through 1998.
Chris -)-----
0001-01-01 00:00:00 +00:00
Jeremy Allison
0de01f4598 Added back groupname map stuff removed by Andrew's "slash 'n' burn"
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.
0001-01-01 00:00:00 +00:00
Luke Leighton
46301b1d21 added 0x10 to the frag length in the "bind ack". 0001-01-01 00:00:00 +00:00
John Terpstra
c9a9fd131b Adding header and footer html files for SWAT, adding samba.gif file too. 0001-01-01 00:00:00 +00:00
Andrew Tridgell
c83f3775cd add a "stat cache" boolean smb.conf option. (defaults to on)
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.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
c96b5fde5a fixed a stat cache bug (the one found by Matthew Geier).
The fix I used is a very conservative fix. I'll leave it up to Jeremy
to put in a better fix. The problem was the detection of mangled
names.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
5c7717f033 added a configuration summary at the end of ./configure. It also
aborts if essential functions are not available.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
3f4959a065 expand the sysv shmem test to look for semaphores as well as shared
memory. Some FreeBSD systems have sysv shared memory but no
semaphores!
0001-01-01 00:00:00 +00:00
Andrew Tridgell
7b154dc431 some cleanups to use ZERO_STRUCT() and friends 0001-01-01 00:00:00 +00:00
Andrew Tridgell
ead0338ad2 some people are foolishly running ./configure from other than the
source directory! This adds a new "trivial" test that makes sure that
the autoconf tests are working. It aborts the configure run if not.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
41f0069afc ahh, the joy of deleting large chunks of code that someone else has
painstakingly put in :)

This gets rid of most of the #ifdef LARGE_SMB_INO_T ifdefs around
DEBUG() statements. We just use %.0f in all cases. Makes the code a
bit easier to read :)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
2204475c87 tridge the destroyer returns!
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?
0001-01-01 00:00:00 +00:00
Jeremy Allison
94d63cc382 Fixed one more Debug problem with inode in non-64 bit case.
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
63f65f5027 Bugfix for leak in reference counted file struct.
Added "nt smb support" parameter to allow NT SMB's to be turned off.
Jeremy.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
88df8a8b25 got rid of interpret_security(). Thanks to Jean-Francois for pointing
out it is no longer used (replaced by enumerated types in loadparm.c)
0001-01-01 00:00:00 +00:00
Jeremy Allison
5910d07bbf Modified dev_t and ino_t code to be 64 bit clean (including changes
to oplock break message passing). I think that smbd/nmbd are now
inode and offset size independent (at least for 32 bit and 64 bit
systems).

Now to expose all this new functionality to NT clients.....

Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
dcce6b98d8 Fixed uppercasing of share name (pointed out by Jean-Francois).
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
422f1dd450 More 64 bit stuff - now the fcntl locks are 64 bit clean.
Nearly at the stage where I can expose the 64-bit-ness to
the NT clients....
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
14500936c3 Ok - this is the 64 bit widening check in. It changes the configure
to check for stat64 and friends, and then changes much of Samba
to use the data type SMB_OFF_T for file size information.

stat/fstat/lstat/lseek/ftruncate have now become sys_stat etc. to hide
the 64 bit calls if needed.

Note that this still does not expose 64 bit functionality to the
client, as the changes to the reply_xxx smb's are not yet done.

This code change should make these changes possible.

Still to do before full 64 bit-ness to the client:

fcntl lock code.
statfs code
widening of dev_t and ino_t (now possible due to SMB_DEV_T and SMB_OFF_T
types being in place).

Let me know if wierd things happen after this check-in and I'll
fix them :-).

Jeremy.
0001-01-01 00:00:00 +00:00