1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-28 17:47:29 +03:00

1617 Commits

Author SHA1 Message Date
Alexandre Oliva
9a5bdf5c1b replace getpass() with getsmbpass() if getsmbpass.c compiles -
Alexandre Oliva
1ffc3b807a major autoconf clean-up
fix problems in builds with srcdir!=builddir
-
Alexandre Oliva
23484508a8 implemented du and tar -n -
Andrew Tridgell
ac48db7f21 lp_fstype() proto -
Andrew Tridgell
66268ae588 3 changes:
1) use lp_fstype() instead of FSTYPE_STRING
2) added SMB_SEARCH_BITS to the TconX reply options (in vwv3). I noted
   that NT sets this (undocumented) bit and setting it helped get
   autorun from exported cdroms working.
3) fixed volume labels in QFSINFO level 258.

I made these changes while getting the Encyclopadia Brittanica CD to
run from a Samba drive. (I bought it for Sue yesterday). The first
and second changes allowed Samba to export CDs with autorun info and
the client will autorun it when mounted. There are all sorts of nasty
implications in that that perhaps we can go into on
samba-technical. Think about creating some autorun info in /tmp/ then
waiting for people to mount it as scratch space ...

The last change was because EB wanted the right volume label. The code
we had used a non unicode volume label but tests with W95->NT4 showed
that it has to be unicode. There was a note in the code from Jeremy
saying that he thought it should _not_ be unicode. Jeremy, can you
explain why? It certainly didn't work as non-unicode (the client
displays a garbage volume label) and when I fixed it to use unicode it
all worked from Win95.

and in case anyone is interested EB98 now works fine from a Samba
drive :)
-
Andrew Tridgell
4332e2c93d added a per-share parameter "fstype" that allows you to select the
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.
-
Andrew Tridgell
9c275bcd98 add a define for SMB_SEARCH_BITS and change comment on FSTYPE_STRING -
Richard Sharpe
d54c91598c Fixed changes in clitar.c that Jeremey noted. One change was
correct, the other needed slightly changing.

Now to test it is all OK :-)
-
Jeremy Allison
f74f39f45f Small bit of paranioa. Ensure that if the incoming name to
unix_convert() was a single '\' (the base directory of the service)
that it gets translated to a '.', not a '\0'.
Jeremy.
-
Jeremy Allison
b55f93b213 Remove some byte-copying code in unix_format() that did nothing except
slow down my benchmark :-).

Jeremy.
-
Jeremy Allison
89a4a73caf Now that Alexandre Oliva has explained the use of acconfig.h to
me, I'm adding the HAVE_LIBREADLINE and other stuff correctly.

Thanks Alexandre :-).

Jeremy.
-
Jeremy Allison
c6a353cfab Fixed position of LARGE_SMB_OFF_T definition. The SOFF_T define was
being done *before* the LARGE_SMB_OFF_T was being defined, but SOFF_T
depended on it :-).

This broke 64 bit file reporting.

Jeremy.
-
Jeremy Allison
43ac52ad7a Changed variable TAB to htab as TAB is defined in a header file on RedHat5.1
Jeremy.
-
Jeremy Allison
7c1a5ed1c2 Fixed problems with premature kernel oplock checkin code.
The ./configure & build now seem to work ok.

Jeremy.
-
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.
-
Jeremy Allison
dbd8ce8a70 Fixed compile errors in new code.
Jeremy.
-
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!
-
Richard Sharpe
00ba54d4ee Adding rewritten restore code ... Old code is still there
surrounded by a OLD_DOTARPUT.
-
Andrew Tridgell
926591067c got rid of SMB_STRUCT_STATVFS. I don't think we should be defining
structures that only apply on some platforms.
-
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.
-
Andrew Tridgell
724b9508c2 added a SMB_OFF_T_BITS define, allowing us to get rid of most of the
#ifdefs for LARGE_OFF_T.
-
Andrew Tridgell
3e77d94cd2 fixed a typo (LLARGE_SMB_OFF_T instead of LARGE_SMB_OFF_T) -
Andrew Tridgell
c1bd188744 removed another use of the LL suffix. Hopefully this is the last one
(a grep doesn't show any more)
-
Andrew Tridgell
24ae765701 fixed a usage of off_t that should have been SMB_OFF_T -
Andrew Tridgell
84956eddf3 got rid of some #ifdef LARGE_XXXX stuff and got rid of non-portable LL
suffix from some constants.
-
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.
-
Jeremy Allison
c22c40f0ca nmbd/nmbd_winsserver.c: Fixed printf style warning.
script/mkproto.awk: Added SMB_BIG_UINT.
Jeremy.
-
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.
-
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.
-
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.
-
Andrew Tridgell
9edd43dcd6 fixed another potential fork bomb where the wins file becomes
non-writeable for some reason.
-
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 :)
-
Andrew Tridgell
31b4048362 fixed a typo in my last commit -
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.
-
Jeremy Allison
ffa450acdd Removed hideous inefficiencies in old trim_string code. This was making
calls to strlen() a profiling hotspot.
Jeremy.
-
Jeremy Allison
4a62b73633 Mapped correct open modes for READ_CONTROL access.
Jeremy.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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 :)
-
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.
-
Christopher R. Hertel
ac13c29d46 Copyright notices written to debug logs are now through 1998.
Chris -)-----
-
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.
-
Luke Leighton
46301b1d21 added 0x10 to the frag length in the "bind ack". -
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.
-
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.
-
Andrew Tridgell
5c7717f033 added a configuration summary at the end of ./configure. It also
aborts if essential functions are not available.
-
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!
-